FHEM Forum

FHEM => Automatisierung => Thema gestartet von: thunder1902 am 16 Oktober 2014, 15:33:02

Titel: IF mit Funktion?
Beitrag von: thunder1902 am 16 Oktober 2014, 15:33:02
Hallo!

Wie schreibe ich folgenden Befehl korrekt?

Zitatdefine d3 at +*00:01:00 IF ([LEDLampe] eq "off")(\
set Sonnenuntergang ok;;\
{fb_mail('***@gmail.com','Subject','text 123')})

Ich möchte "ok" im Dummy Sonnenuntergang schreiben, und eine Email verschicken, wenn die LEDLampe aus ist.

Als Fehlermeldung erhalte ich
Zitatd3: IF: no right bracket: (set Sonnenuntergang geht2
Unknown command {fb_mail(****@gmail.com','Subject','text, try help.

Aber wie soll ich die Klammer setzen, wenn ich einen Funktionsaufruf innerhalb eines IF's habe??
Titel: Antw:IF mit Funktion?
Beitrag von: Damian am 16 Oktober 2014, 17:26:50
define d3 at +*00:01:00 IF ([LEDLampe] eq "off")(set Sonnenuntergang ok,{fb_mail('***@gmail.com','Subject','text 123')})

Du weißt aber, dass die kontinuierliche Überprüfung auf einen Zustand nicht die eleganteste Lösung ist.

Dann würde ich dir eher:

define d3 DOIF ([LEDLampe] eq "off")(set Sonnenuntergang ok,{fb_mail('***@gmail.com','Subject','text 123')})

empfehlen. Hier wird der Check nur gemacht, wenn sich der Zustand der LEDLampe ändert und sofort reagiert und nicht im Minutentakt geprüft und dann mit einer Verzögerung bis zu einer Minute die Mail geschickt.  ;)

Gruß

Damian
Titel: Antw:IF mit Funktion?
Beitrag von: thunder1902 am 16 Oktober 2014, 22:10:08
@Damian: Besten Dank!!!! Mach ich!!!