FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jove01 am 26 Oktober 2015, 20:27:50

Titel: Komplexer watchdog mit Fehler im if
Beitrag von: jove01 am 26 Oktober 2015, 20:27:50
Hallo

ich habe folgenden watchdog

Schlafz_Fenster:open 00:15:00 Schlafz_Fenster:closed
{if (Value('du_FensterAutomatik') eq "aktiv" and ReadingVal('Temperatur_06','temperature','') le 16 )
{fhem "set Juergens_TAB_S screen on;
set Juergens_TAB_S volume 10; sleep 2;
set pushMsg msg 'Fensterwarnung' 'Das Fenster im Schlafzimmer ist schon lange geöffnet' '' 1 'echo'; sleep 8;
set Juergens_TAB_S ttsMsg Achtung ! Das Fenster im Schlafzimmer ist offen !;
trigger wd_Schlafz_Fenster_auf . ;
"; }}


Der macht auch das was er soll, jedoch im Log steht

2015.10.26 20:14:58.658 3: Watchdog wd_Schlafz_Fenster_auf triggered
2015.10.26 20:14:58.711 3: Unknown command {if, try help.


Ich gestehe, es war viel trial and error dabei. Und das log habe ich erst später gesehen. Hat einer eine Idee ?

Danke
Jürgen
Titel: Antw:Komplexer watchdog mit Fehler im if
Beitrag von: viegener am 27 Oktober 2015, 17:43:29
Bei der Meldung kann ich mir nicht vorstellen, dass der watchdog wirklich funktioniert, denn nach der Meldung sollte der ganze if-Teil ignoriert werden.

Ich denke auch, dass es noch weitere Problem geben könnte, denn der Temperaturvergleich wird als Stringvergleich also lexikalischer Vergleich gemacht. Also wäre dann die Temperatur "6" grösser als "16" ...

Ich würde erstmal ein Leerzeichen zwischen { und if einfügen


Titel: (gelöst) Antw:Komplexer watchdog mit Fehler im if
Beitrag von: jove01 am 28 Oktober 2015, 13:03:50
Danke

so funktioniert es jetzt
Chr_Fenster:Window:.Open 00:01:00 Chr_Fenster:Window:.Closed { if ((Value("du_FensterAutomatik") eq "aktiv") && (ReadingsVal('Temperatur_06', 'temperature', '') le "16"))