Hallo FHEM´ler
Ich habe ein Problem mit der if Bedingung in folgendem Code
define WohnungstuerVonMoBisSaentriegeln at *13:36 {if (($wday == 1) || ($wday == 2) || ($wday == 3) ||($wday == 4) || ($wday == 5) || ($wday == 6)) {fhem("set Tuerschloss unlock if (Value('Anwesenheit') eq 'present');; set WDonoff on;; trigger Anwesenheit") }}
Die Tür wird aufgeschlossen obwohl der Dummy Anwesenheit auf absent steht. ich nehme an der Fehler liegt an den '
Hat jemand eine Idee wie es funktionieren könnte?
Gruß Roland
1. Wenn nicht Sonntag ist, ist Montag-Samstag, Du kannst die Abfrage also auf <> 7 beschränken und brauchst keine sechs Abfragen.
2. falsche Klammersetzung bei Verwendung eines zusätzlichen if.
{
fhem("set Tuerschloss unlock") if (Value('Anwesenheit') eq 'present');;
fhem("set WDonoff on");;
fhem("trigger Anwesenheit")
}
3. könnte ich mir vorstellen, dass beim trigger noch ein Parameter fehlt.
Hallo,
wday sollte sich auch so
(!(wday==7))
eingrenzen lassen.
Wobei es auf das gleiche raus kommt wie betateilchens Vergleich 8)
Grüße
Danke für die schnelle Antwort.
Habe die Abfrage so gestaltet weil ich insgesamt 4 Zeitschaltuhren so gebastelt habe und die alle an unterschiedlichen Tagen laufen sollen, und so sind alle im gleichen Schema. Die Klammern waren wirklich der Fehler.
Herzlichen Dank Roland
Laut commandref bzw. "perldoc -f localtime" kann wday Werte zw. 0 und 6 aufnehmen, sollte also meist ungleich 7 sein. :)
Hallo,
äh ja.
Dann wäre wohl in diesem Fall
(!(wday==0))
richtig ::)
Grüße
Zitat von: rudolfkoenig am 13 Juni 2014, 17:39:07
Laut commandref bzw. "perldoc -f localtime" kann wday Werte zw. 0 und 6 aufnehmen
Ich hatte keine Lust, nachzuschauen und habe geraten. Meine Chance war 50:50 8)