Asystent AI
Powiadomienia
Wyczyść wszystko

Wysyłanie powiadomień w zależności od zapełnienia zbiornika.

2 Wpisów
2 Użytkownicy
0 Reactions
1,225 Wyświetleń
(@edass)
Wpisów: 225
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#2198]

Cześć

Próbuje napisać sobie regułę która będzie mi wysyłała powiadomienia o niskim poziomie ekogroszku w zasobniku. W zasobniku siedzi czujnik odległości SR04 a w OH przeliczeniu daje mi wynik w %.

Zasadniczo reguła jest prosta i działa ale okazało się, że jest bardzo uciążliwa bo powiadomienia przychodzą co klika minut... 

Chciałbym aby przy poziomie poniżej 15% przyszło powiadomienie i np. kolejne przy <10% . Dodatkowo jak poziom spadnie poniżej 5% niech powiadomienia przychodzą co np.  godzinę.

Rules._zasobnik - to wirtualny wyłącznik wyłączający regułę na 1h

 

rule "Niski poziom ekogroszku w zasobniku"

when

  Item Nodemcu_sr04dist_procenty changed 

then

    if (Rules_zasobnik.state == ON && Nodemcu_sr04dist_procenty.state < 15) {

  sendNotification("aaa@gmail.com""Mało ekogroszku w zasobniku " + Nodemcu_sr04dist_procenty.state) }

  else


Thread::sleep(3600000)

   Rules_zasobnik.postUpdate(ON)

end

 
Dodane : 31/01/2021 1:14 pm
(@kamikac)
Wpisów: 225
Pomocny
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Na szybko to tak:

Items:

Number Rules_zasobnik_procent "Spadek poniżej [d%]"

Rules:

rule "Niski poziom ekogroszku w zasobniku"
when
 Item Nodemcu_sr04dist_procenty changed 
then
if (Rules_zasobnik_procent.state == NULL || Rules_zasobnik_procent.state > 50) { //Start OH lub napełnienie powyżej 50%
if (Nodemcu_sr04dist_procenty > 15) {
Rules_zasobnik_procent.postUpdate(15)
}
else if (Nodemcu_sr04dist_procenty > 10) {
Rules_zasobnik_procent.postUpdate(10)
}
else {
Rules_zasobnik_procent.postUpdate(5)
}

    if (Nodemcu_sr04dist_procenty.state < Rules_zasobnik_procent.state && Rules_zasobnik_procent.state > 5) {
  sendNotification("aaa@gmail.com""Mało ekogroszku w zasobniku " + Nodemcu_sr04dist_procenty.state)
switch(Rules_zasobnik_procent.state) { case 15: { Rules_zasobnik_procent.postUpdate(10) }
case 10: {
Rules_zasobnik_procent.postUpdate(5)
}
} }
end

rule
 "Bardzo niski poziom ekogroszku w zasobniku"
when
 Time cron "0 0 * ? * * *"
then
if (Rules_zasobnik_procent.state == 5) {
sendNotification("aaa@gmail.com""Mało ekogroszku w zasobniku " + Nodemcu_sr04dist_procenty.state)
}
end

 


 
Dodane : 02/02/2021 1:34 am
Udostępnij: