Hauptmenü

notify mit mehreren IF

Begonnen von willib, 14 Dezember 2018, 21:10:04

Vorheriges Thema - Nächstes Thema

willib

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"
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Otto123

#1
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

willib

Danke Otto,

mit Kommata hinter den IF ()() klappt es.
Ich habe nicht geschnallt dass jedes IF ein FHEM Befehl ist.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD