[Gelöst]IF: no right bracket

Begonnen von Masiwo, 26 Februar 2019, 12:28:01

Vorheriges Thema - Nächstes Thema

Masiwo

Hallo zusammen,

ich probiere seit ca. 2 Stunden verzweifelt mit einem simplen IF herum und bekomme in verschiedensten Ausführungen immer folgenden Fehler:
IF: no right bracket: ({fhem("sleep 2
SB_PLAYER_Set: unsupported command given

Das ganze sitzt in folgendem notify : ... notify KuecheChannelD:on.* IF ([PlayerKueche] ne "on") ({fhem("sleep 2;;set PlayerKueche on")})
Der Perl Code war jetzt mein letzer Versuch, nachdem sowohl (sleep 2;; set PlayerKueche on ) als auch (sleep 2; set PlayerKueche on) nicht funktioniert haben.
Was aber ordnungsgemäßg geht, ist (set PlayerKueche on)

Vielleicht weiß ja jemand Rat bei meinem wahrscheinlich zu simplen Problem

LG

Daniel

Otto123

Hi,

beim FHEM Befehl  IF ist wie bei DOIF das Komma der Trenner.
ZitatMultiple commands are separated by a comma instead of a semicolon, thus eliminating the doubling, quadrupling, etc. of the semicolon:

define check at +00:10 IF ([outdoor:humidity] > 10) (set switch1 off,set switch2 on) ELSE (set switch1 on,set switch2 off)
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

Damian

Zitat von: Masiwo am 26 Februar 2019, 12:28:01
Hallo zusammen,

ich probiere seit ca. 2 Stunden verzweifelt mit einem simplen IF herum und bekomme in verschiedensten Ausführungen immer folgenden Fehler:
IF: no right bracket: ({fhem("sleep 2
SB_PLAYER_Set: unsupported command given

Das ganze sitzt in folgendem notify : ... notify KuecheChannelD:on.* IF ([PlayerKueche] ne "on") ({fhem("sleep 2;;set PlayerKueche on")})
Der Perl Code war jetzt mein letzer Versuch, nachdem sowohl (sleep 2;; set PlayerKueche on ) als auch (sleep 2; set PlayerKueche on) nicht funktioniert haben.
Was aber ordnungsgemäßg geht, ist (set PlayerKueche on)

Vielleicht weiß ja jemand Rat bei meinem wahrscheinlich zu simplen Problem

LG

Daniel

Semikolon pro Ebene zu doppeln ist eine Eigenschaft von FHEM. Um dem Problem aus dem Wege zu gehen, sollte man beim IF-Befehl Komma als Trennzeichen benutzen ... notify KuecheChannelD:on.* IF ([PlayerKueche] ne "on") (sleep 2,set PlayerKueche on)

P.S. Beim IF (und nur dort) wirkt das Komma hinter einem sleep-Befehl nicht blockierend.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Masiwo

Zitat von: Damian am 26 Februar 2019, 12:39:54
P.S. Beim IF (und nur dort) wirkt das Komma hinter einem sleep-Befehl nicht blockierend.

Ahh, super, vielen Dank euch beiden! Vor allem das hier nochmal zitierte wäre dann meine nächste Frage gewesen, danke schonmal für die Beantwortung!

LG und einen sonnigen Tag euch noch!

Daniel

TWART016

Zitat von: Damian am 26 Februar 2019, 12:39:54
Semikolon pro Ebene zu doppeln ist eine Eigenschaft von FHEM. Um dem Problem aus dem Wege zu gehen, sollte man beim IF-Befehl Komma als Trennzeichen benutzen ... notify KuecheChannelD:on.* IF ([PlayerKueche] ne "on") (sleep 2,set PlayerKueche on)

P.S. Beim IF (und nur dort) wirkt das Komma hinter einem sleep-Befehl nicht blockierend.
Ist das Komma im Perlmodus auch möglich, und nicht blockierend?

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF