Hallo Forum,
ich versuche eine at Befehl nur dann ausführen zu lassen wenn jemand zu hause ist. Aber mein Code Produziert eine Fehlermeldung:
define test at *{sunset(0,"17:00","21:30")} { if(JemandZuHause==1) { fhem("set Lampe on") } }
Die Fehlermeldung im Log lautet:
test: Bareword "JemandZuHause" not allowed while "strict subs" in use at (eval 555) line 1.
Kann mir da jemand weiterhelfen? Was mache ich falsch?
Danke euch!
Hallo,
Das wird gehen
defmod test at *{sunset(0,"17:00","21:30")} IF ([JemandZuHause]==1) (set Lampe on)
Quelle -> https://fhem.de/commandref_DE.html#IF
oder defmod test at *{sunset(0,"17:00","21:30")} {if (Value("JemandZuHause") == 1) {fhem "set Lampe on"}}
Quelle -> https://fhem.de/commandref_DE.html#command und link https://fhem.de/commandref_DE.html#notify
funktioniert wenn es das Gerät JemandZuHause gibt und der Status 1 ist
Gruß Otto
läuft , vielen dank
Achja, jetzt versuche ich zwei befehle in diesem Moment da einzutragen, aber entweder wird keiner oder nur einer ausgeführt !
Ich habe es mit (set lampe1 on; set lampe2 on) probiert
und mit (set lampe1,lampe2 on)
und auch mit ;; ... aber keine funktioniert... was mache ich falsch?
Danke & Gruß
Zitat von: lynckmeister am 20 September 2017, 20:41:31
... was mache ich falsch?
Du liest die Doku zu DOIF nicht. DOIF ist leider etwas speziell:
ZitatSollen mehrere FHEM-Befehle ausgeführt werden, so werden sie mit Komma statt mit Semikolon angegeben ... (set lamp1 on, set lamp2 off)
Falls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden: ...((set lamp1,lamp2 on),set switch on)
Gruß Otto
Du hast recht Otto , vielen Dank - jetzt geht es !