DOIF wird sporadisch mehrfach getriggert

Begonnen von joneu, 24 März 2020, 14:33:26

Vorheriges Thema - Nächstes Thema

joneu

Hallo zusammen,

ich frage mit einem DOIF das Timeout meiner, in dem Fall "Schwimmteichsteuerung" ab.
Wenn die Variable Connectcount größer 3 erreicht, geht eine Meldung an mich raus, dass die Steuerung ausgefallen ist.
Mit DOELSE geht die Meldung raus, dass die Verbindung wieder hergestellt wurde.
Obwohl bei einer Unterbrechung "Connectcount" immer höher z.B. 100 wird, kommt es vor, dass DOELSE gültig wird.
Das passiert sporadisch. Kann es sein, dass das DOIF die Verbindung zum Device verliert ?
Wie kann ich das überprüfen bzw. die Abfrage verbessern ?

define Ausfall_Schwimmteichst DOIF ([Schwimmteichsteuerung_EG:&Connectcount] gt 3) ({Message("$DEVICE"," Ausfall Schwimmteichsteuerung !!!",'notify')}) DOELSE ({Message("$DEVICE"," Neue Verbindung Schwimmteichsteuerung !!!",'notify')})

Vielen Dank im Voraus
Jo

Pfriemler

#1
gt vergleicht Zeichenketten.
4 gt 3 = true, 9 gt 3 = true, 10 gt 3 = false (1 ist kleiner als 3)

define Ausfall_Schwimmteichst DOIF ([Schwimmteichsteuerung_EG:&Connectcount:d] > 3) ({Message("$DEVICE"," Ausfall Schwimmteichsteuerung !!!",'notify')}) DOELSE ({Message("$DEVICE"," Neue Verbindung Schwimmteichsteuerung !!!",'notify')})

sollte besser funktionieren.
edit: Wenn das Internal Connectcount nur eine Zahl ist, sollte ":d" entbehrlich sein
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

joneu

Hallo Pfriemler,

vielen Dank für die schnelle Antwort !
Das schaut jetzt gut aus :)

joneu