FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: pcjogi am 09 Oktober 2014, 20:02:20

Titel: define notify und if
Beitrag von: pcjogi am 09 Oktober 2014, 20:02:20
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







Titel: Antw:define notify und if
Beitrag von: Puschel74 am 09 Oktober 2014, 20:09:46
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
Titel: Antw:define notify und if
Beitrag von: Ralli am 09 Oktober 2014, 20:16:05
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)
Titel: Antw:define notify und if
Beitrag von: Puschel74 am 09 Oktober 2014, 20:29:58
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
Titel: Antw:define notify und if (Mail bei Temperatur vom Kühlschrank zu hoch)
Beitrag von: pcjogi am 13 Oktober 2014, 23:03:23
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
Titel: Antw:define notify und if
Beitrag von: Puschel74 am 14 Oktober 2014, 05:47:01
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