Ich wollte eine DOIF Funktion mit wait wie in FHEM Referenz im Beispiel "Waschmaschine fertig" beschrieben umsetzen
Mein Ziel ist es zu überwachen, ob die Temperatur über 1000 Sek auf über -12 °C geht.
define TempAL_Gefrierer1 DOIF ([Temp4:temperature2] > -12.0) (set AL_Meldung_NU Gefrierer: [Temp_Temp4])
attr TempAL_Gefrierer1 do always
attr TempAL_Gefrierer1 room Test
attr TempAL_Gefrierer1 wait 1000
Nach 1000 Sek wird der entsprechende Befehl ausgeführt auch wenn der Wert längst wieder unter -12 liegt.
Übergeben wird der dann aktuele Wert, z.B.: -18.0
dein DOIF funzt tadellos.
du fragst ab, ob die Temp "größer" -12 ist.
Rein auf die Zahl bezogen, ist -18 größer -12.
Nimm "kleiner" -12 und es sollte klappen.
also einfach statt ">" "<"nutzen.
vb
Zitat von: hobbyprovider am 22 Oktober 2015, 11:51:56
Ich wollte eine DOIF Funktion mit wait wie in FHEM Referenz im Beispiel "Waschmaschine fertig" beschrieben umsetzen
Mein Ziel ist es zu überwachen, ob die Temperatur über 1000 Sek auf über -12 °C geht.
define TempAL_Gefrierer1 DOIF ([Temp4:temperature2] > -12.0) (set AL_Meldung_NU Gefrierer: [Temp_Temp4])
attr TempAL_Gefrierer1 do always
attr TempAL_Gefrierer1 room Test
attr TempAL_Gefrierer1 wait 1000
Nach 1000 Sek wird der entsprechende Befehl ausgeführt auch wenn der Wert längst wieder unter -12 liegt.
Übergeben wird der dann aktuele Wert, z.B.: -18.0
im Commandref-Beispiel ist auch kein do always drin ;)
Gruß
Damian
@VB90:
das ist nicht das Problem. Die Schwellwerte funktionieren. Normale Temperatur ca -18. Wenn ich den Daumen auf den Sensor lege oder -22 in DIOF eintrage rennt DOIF los.
@Damian:
hm - mal testen
@Damian:
Du hast recht ::)
So funzt es
Danke an Alle