Anfänger verzweifelt
Folgendes habe ich erfolgreich umgesetzt (Die Mail wird bei jedem Event des Kühlschranks geschickt.
define check_Kuehlschrank_Temp2 notify Kuehlschrank:temperature:.* "mailnotify.sh Kuehlschrank "Temperatur: I%EVTPART1 I""
Das Ergebnis ist eine Mail mit dem Betreff Kuehlschrank und dem Mailtext :Temperatur: I10.2 I
Aber wenn ich versuche hier jetzt ein IF einzubauen welches diese Mail natürlich nur schicken soll wenn eine bestimmte Temperatur überschritten wird scheitere ich mit allen Ansätzen.
Mein letzter Ansatz war:
define check_Kuehlschrank_Temp notify Kuehlschrank:temperature:.* set Theke on
Das schaltet bei jedem Event das Thekenlicht ein. Auch das funktioniert
define check_Kuehlschrank_Temp notify Kuehlschrank:temperature:.* (IF (2.0 > 1.0) set Theke on)
Dieses einfachste IF funktioniert aber nicht mehr.
Was ist da falsch.
Vieln Dank für jede Hilfe
Hallo,
ungern aber dennoch:
http://fhem.de/commandref_DE.html#IF (http://fhem.de/commandref_DE.html#IF)
Bitte eines der dortigen Beispiele verwenden und abändern.
Weiters bitte Tags verwenden - wie, wieso und warum steht im angepinnten Beitrag http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
Danke.
Grüße
Falsch:
Zitat von: pcjogi am 09 Oktober 2014, 20:02:20
define check_Kuehlschrank_Temp notify Kuehlschrank:temperature:.* (IF (2.0 > 1.0) set Theke on)
Richtig:
define check_Kuehlschrank_Temp notify Kuehlschrank:temperature:.* IF (2.0 > 1.0) (set Theke on)
Hallo,
korrekt, was sich mit einem schnellen Blick in die commandref zwar nicht erschliesst da Damian nicht davon ausgegangen ist das jemand 2.0 > 1.0 prüfen möchte - da das ja immer wahr ist.
Aber das hatten wir heute schon in einem anderen Beitrag - die Gedanken der Anwender sind unergründlich ;D
Grüße
Danke an Ralli, solche Antworten helfen.
@Puschel74: zum Nachdenken: Wenn man Fehler finden möchte grenzt man die Fehlerquellen ein. Dazu ist es manchmal auch sinnvoll logische Abfragen immer wahr werden zu lassen.
Hier übrigens die fertige Zeile, die für mich durchaus Sinn macht.
define check_Kuehlschrank_Temp notify Kuehlschrank:temperature.* {\
if (ReadingsVal("Kuehlschrank","temperature","99.9") > 12.5) {\
system "mailnotify.sh 'KUEHLSCHRANK ZU WARM (%EVTPART1)' 'Die Temperatur des Kuehlschranks betraegt %EVTPART1 !'"\
}\
}
Vielen Dank
Hallo,
wenn die Frage geklärt ist dann den Beitrag bitte mit einem Gelöst kennzeichnen.
Zitat@Puschel74: zum Nachdenken:
Wenn ich nachdenken will dann baue ich im Code LOGISCHE Abfragen ein.
Die müssen nicht zwangsläufig IMMER wahr sein - sonst brauch ich es ja nicht prüfen und schon garnicht einzubauen ;)
Grüße