Nachdem das mit dem Drehgriffschalter jetzt ja so super funktioniert würde ich gerne das Schließen der Rolläden unterbinden solange die Tür geöffnet ist.
Momentan wird der Rolladen noch so geschlossen:
define Rollade_K_ab at *{sunset("HORIZON=-8",300,"17:00","22:00")} set K.Rolladen on
Wie binde ich es da mit ein daß wenn "K.Tuer = "open" das ganze nicht ausgeführt wird?
Und wie schaffe ich es daß NACH dem Zeitpunkt die Rolladen geöffnet werden wenn ich die Tür öffne? Also mir Abends einfällt daß ich draßen noch was vergessen habe. Wäre cool wenn die Rolladen hochfahren wenn ich den Griff umlege.
Generell klappt es ja mit dieser Zeile, aber dann macht der ja auch schon tagsüber zu:
define Rolladen_Schalten DOIF ([K.Tuer] eq "open") (set K.Rolladen 7) DOELSEIF ([K.Tuer] eq "closed") (set K.Rolladen down)
Grundsätzlich lässt sich vermutlich der erste Teil recht einfach über das Kommand IF lösen --> siehe fhem commandref
Da Du aber vermutlich das Schliessen der Rolladen nachholen willst, wenn die Tür danach geschlossen wird, so macht es vermutlich Sinn das ganze nicht durch ganz viele einzelne Operationen/Abwägungen zu betrachten, sondern ein komplexes Konstrukt aufzuschreiben, in dem die gesamten Bedinungen - Sonnenuntergang, Rolladenstatus und Türstatus sowie die entsprechenden Aktionen (Rolladen rauf, Rolladen herunter) komplett durchzudenken.
Also so etwas wie
- Rolladen oben, Sonne untergegangen, Tür geschlossen --> Rolladen herunter
- Rolladen unten, Sonne untergegangen, Tür offen --> Rolladen rauf
...
Damit müsste dann vermutlich ein komplexes DOIF gebaut werden. Die Bedingungen müssen dann mit logischem und konbiniert werden und das wärs --> siehe fhem commandref
Allerdings wirst Du vermutlich nicht darum herumkomme, das alles selbst mal aufzuschreiben. Der Vorteil ist, die Aktionen sind eher einfach
und am Ende ist alles in einem define nicht verteilt über viele Dinge
Über sowas wie:
and ([K.Tuer] ne "open")
Prüfe statt bei offen zu unterbinden, auf nicht offen dann grünes Licht :)