Hallo,
ich baue mir gerade eine Zeitschaltuhr und habe plötzlich ein seltsames Verhalten von DOIF festgestellt.
Wenn ich
([06:00-{sunrise(6000,"8:00","9:00")}] or [{sunset(-1800,"17:00","21:00")}-23:00] and [$SELF:Zeitschaltuhr] eq "An")
()
DOELSE
()
schreibe, dann ignoriert das DOIF [$SELF:Zeitschaltuhr] eq "An"
Sieht meine DEF allerdings so aus:
([$SELF:Zeitschaltuhr] eq "An" and [06:00-{sunrise(6000,"8:00","9:00")}] or [{sunset(-1800,"17:00","21:00")}-23:00])
()
DOELSE
()
Dann funktioniert das DOIF wie es soll.
In der zweiten DEF ist nur das [$SELF:Zeitschaltuhr] eq "An"
vor die Zeitangabe gewandert!
Gibt es da eine Regel, die ich beachten muss wie kein and nach or?
Es ist wie früher in der Schule. Punkt vor Strich und und vor oder.
Du musst Klammern setzen je nach dem wie Dein and gelten soll
( ([06:00-{sunrise(6000,"8:00","9:00")}] or [{sunset(-1800,"17:00","21:00")}-23:00]) and [$SELF:Zeitschaltuhr] eq "An" )
Zum Beispiel.
Alles klar, Danke