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"
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
Danke Otto,
mit Kommata hinter den IF ()() klappt es.
Ich habe nicht geschnallt dass jedes IF ein FHEM Befehl ist.