DOIF DOELSEIF mit verschiedenen Zeiten als Trigger funktioniert nicht

Begonnen von atomkater, 13 November 2023, 18:34:43

Vorheriges Thema - Nächstes Thema

atomkater

Hallo zusammen.

Ich habe schon viel zu meinem Problem hier gefunden und mir auch schon einiges davon zusammengebastelt.
Jetzt kommt aber der Punkt, da komme ich irgendwie nicht weiter.

Ich habe mir mehrere DOIFs gebastelt, unter anderem für den Pool und die Rolläden - nur das möchte eben halt nicht so wie ich  :'(
Zum Aufbau
dummy-switch "Auto_Rollaeden" wurde angelegt und ein DOIF mit folgender Definition
([{sunset(-1820,"14:00","21:45")}] and [Auto_Rollaeden] eq "on")
(set room=Roll_unten on)
DOELSEIF ([{sunset(-1720,"14:00:00","21:30:00")}] and [Auto_Rollaeden] eq "on")
(set Siro_32161D05 on)
DOELSEIF ([{sunset(-1700,"14:00:00","21:30:20")}] and [Auto_Rollaeden] eq "on")
(set Siro_32161D05 stop)
DOELSEIF ([{sunrise(+1800,"05:00","07:30")}] and [Auto_Rollaeden] eq "on")
(set room=Roll_unten off)
DOELSEIF ([{sunrise(+2000,"05:00","07:30")}] and [Auto_Rollaeden] eq "on")
(set room=Flur off)
Kurze Erläuterung:
"Roll_unten" soll komplett runterfahren, der SIRO ist ein einzelner Rolladen, der nur 20 Sekunden fahren soll (ich habe keine Jalousieschalter mit der Möglichkeit, Positionsvorgaben zu schicken), morgens dann Roll_unten wieder hoch und etwas später die Flurbeleuchtung aus (braucht nur aus, einschalten machen wir manuell/individuell)

Soweit die Idee, funktioniert aber irgendwie nicht.
Für den Pool habe ich
([08:00-{sunset(-1000,"20:00","21:00")}] and [Auto_Pool] eq "on") (set IT_V3_7dcf5acf on) DOELSE (set IT_V3_7dcf5acf off)
im DOIF, das funktioniert exakt wie erwartet.

Könnte mir da jemand weiterhelfen?

Damian

Das kannst du besser mit dem wait-Attribut machen:

...
DOELSEIF ([{sunset(-1720,"14:00:00","21:30:00")}] and [Auto_Rollaeden] eq "on")
(set Siro_32161D05 on)(set Siro_32161D05 off)
...
attr wait 0,20

den anderen DOELSEIF-Fall zum Ausschalten brauchst dann nicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

atomkater

Ja Mega, wieder was dazugelernt :)
Der gesamte DOIF funktioniert jetzt plötzlich, obwohl ich nichts geändert habe. Scheint ja doch alles richtig zu sein.