FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: willib am 14 Dezember 2018, 21:10:04

Titel: notify mit mehreren IF
Beitrag von: willib am 14 Dezember 2018, 21:10:04
Kann mir bitte jemand auf die Sprünge helfen?
Ich habe mir folgendes notify gebastelt für die Ansage ob WM oder Trockner fertig sind:


(KU.Motion:motion|KU_MotionBut_Motion:motion) IF ([Familie_Brahms] ne "gotosleep") (IF 
([wasch_di] eq "cmd_3" and [trock_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Die Waschmaschine und der Trockner sind Fertig )
IF ([wasch_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Die Waschmaschine ist Fertig)
IF ([trock_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Der Trockner ist Fertig))


Das funktioniert leider nicht. Folgender Fehler taucht im Log auf.

2018.12.14 20:54:54 1: PERL WARNING: Bareword found where operator expected at (eval 148889) line 1, near ")fhem"
2018.12.14 20:54:54 3: eval: my $EVTPART0='motion';my $SELF='n_KU_DurchsageWMTR';my $TYPE='CUL_HM';my $NAME='KU_MotionBut_Motion';my $EVENT='motion';{if(InternalIf('Familie_Brahms','STATE','') ne "gotosleep"){fhem('IF  ([wasch_di] eq "cmd_3" and [trock_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Die Waschmaschine und der Trockner sind Fertig)')fhem(' IF ([wasch_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Die Waschmaschine ist Fertig)')fhem(' IF ([trock_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Der Trockner ist Fertig)')}}
2018.12.14 20:54:54 1: ERROR evaluating my $EVTPART0='motion';my $SELF='n_KU_DurchsageWMTR';my $TYPE='CUL_HM';my $NAME='KU_MotionBut_Motion';my $EVENT='motion';{if(InternalIf('Familie_Brahms','STATE','') ne "gotosleep"){fhem('IF  ([wasch_di] eq "cmd_3" and [trock_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Die Waschmaschine und der Trockner sind Fertig)')fhem(' IF ([wasch_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Die Waschmaschine ist Fertig)')fhem(' IF ([trock_di] eq "cmd_3")(set Sonos_Kueche Speak 25 de |xentdoorchime| Der Trockner ist Fertig)')}}: syntax error at (eval 148889) line 1, near ")fhem"

2018.12.14 20:54:54 3: n_KU_DurchsageWMTR return value: syntax error at (eval 148889) line 1, near ")fhem"
Titel: Antw:notify mit mehreren IF
Beitrag von: Otto123 am 14 Dezember 2018, 22:05:01
Hi,

Du kannst nicht einfach beliebig FHEM Befehle wie IF () ()IF () () "ohne Punkt und Komma" aneinander hängen. Siehe Doku

https://commandref.fhem.de/commandref_DE.html#IF

Gruß Otto
Titel: Antw:notify mit mehreren IF
Beitrag von: willib am 15 Dezember 2018, 20:21:52
Danke Otto,

mit Kommata hinter den IF ()() klappt es.
Ich habe nicht geschnallt dass jedes IF ein FHEM Befehl ist.