Hallo Zusammen,
ich habe einen Alert wenn es draußen zu kalt wird (siehe unten). Nun ist es so das die Temperatur oftmals ein paar Minuten um die Auslösetemperatur pendelt und ich Minutenlang Alerts bekomme :-(
Wie mache ich es das der Alert, z.B., nur alle fünf Minuten kommt?
Viele Grüße
hemmi
###############Alarm wenn es draußen kalt wird##################
define TempHoftemperaturDummy dummy
attr TempHoftemperaturDummy event-on-change-reading state
define TempHof notify LaCrosse_3B:temperature:.* { if(ReadingsVal("LaCrosse_3B","temperature","") < 5) { fhem("set TempHoftemperaturDummy zukalt") } else { fhem("set TempHoftemperaturDummy ok") }}
define TempHofAlert notify TempHoftemperaturDummy:zukalt { fhem ("set pushmsg msg 'Achtung, im Hof ist es zu kalt: [LaCrosse_3B:temperature]°C'") }
###################################################################
Willkommen im Forum.
Für sowas gibt es immer viele Wege. Wie wäre es mit einer Hysterese? Also statt else ein elsif mit der Abfrage, ob wenigstens wieder z.B. 5,5 Grad erreicht sind?
Wenn es in Modulform sein soll: Threshold ;) .
Gruß, Beta-User
Das schaue ich mir gerne an ;)
Mein Gedanke war irgendwie das sich FHEM in einer Variable merkt ob schon Zeit X vergangen ist und erst danach wieder die Temperatur prüft ob der Alert fällig ist :)
Geht auch: ReadingsAge()
Hallo,
habe es mit ReadingsAge("LaCrosse_3B","temperature","")/60 < 5 (siehe unten) versucht den Alert nur alle fünf Minuten zu bekommen.
Leider bekomme ich jetzt gar keinen Alert mehr. ??? Habt Ihr einen Tipp?
define TESTHoftemperaturDummy dummy
attr TESTHoftemperaturDummy event-on-change-reading state
define TESTTempHof notify LaCrosse_3B:temperature:.* { if(ReadingsVal("LaCrosse_3B","temperature","") < 1.7) { fhem("set TESTHoftemperaturDummy zukalt") } else { fhem("set TESTHoftemperaturDummy ok") }}
define TESTHofAlert notify TESTHoftemperaturDummy:zukalt { if(ReadingsAge("LaCrosse_3B","temperature","")/60 < 5) fhem ("set pushmsg msg 'TEST, im Hof ist es zu kalt: [LaCrosse_3B:temperature]°C'") }
Alternative nur mit einem Define:
define Alert DOIF ([LaCrosse_3B:temperature]< 1.7) ((set pushmsg msg 'TEST, im Hof ist es zu kalt: [LaCrosse_3B:temperature]°C'))
attr Alert wait 0:600
ReadingsAge auf den Dummy...