Hauptmenü

Rollladensteuerung mit DOIF

Begonnen von Tobster1977, 23 Dezember 2018, 23:27:46

Vorheriges Thema - Nächstes Thema

Tobster1977

Ich wollte hier mal meine Rolladensteuerung vorstellen, vielleicht kann sie jemand gebrauchen.
Bei Regen und eingeschaltetem Regenschutz, bei Daemmerung und eingeschalteter Blickschutzautomatik und bei Sonne und eingeschalteter Beschattungsautomatik fahren die Rollos auf 50%, ansonsten nachts runter, tagsüber hoch.

Man kann einstellen, ob die hoch/runter Zeit manuell eingestellt oder abhängig vom Sonnenstand gesetzt werden soll. Bei manuell stehen die Zeiten 1/2 für Woche/Wochenende bzw. Ferien, bei Sonnenstand für früheste / späteste Fahrzeit.

Das Rollo muss genau so heißen mit einem zusätzlichen "_d" angehängt.
Blickschutzbedarf / Beschattungsbedarf etc werden durch eigene DOIFs Gesetz, so bleibt man flexibler...

Läuft stabil und kann meines Erachtens viel.

Das einzige was mir noch fehlt wäre, für morgens und abends getrennt zwischen manuell/Sonnenstand umschalten zu können. Wenn da jemand eine simple Idee hat, gerne.

Hier das DOIF, viel Spaß beim testen
Tobster

(([$SELF] eq "Auto") and [{sunrise(0,"[$SELF:Hoch1]","[$SELF:Hoch2]")}-{sunset(0,"[$SELF:Runter1]","[$SELF:Runter2]")}] and (([Beschattungsbedarf_West] eq "on") or ([Blickschutzbedarf] eq "on") or ([Regenschutzbedarf] eq "on"))) (set $SELF_d 50; setreading $SELF soll 50)
DOELSEIF
(([$SELF] eq "Auto") and [{sunrise(0,"[$SELF:Hoch1]","[$SELF:Hoch2]")}-{sunset(0,"[$SELF:Runter1]","[$SELF:Runter2]")}] and ([Beschattungsbedarf_West] eq "off") and ([Blickschutzbedarf] eq "off") and ([Regenschutzbedarf] eq "off")) (set $SELF_d 0; setreading $SELF soll 0)
DOELSEIF
(([$SELF] eq "Auto") and ![{sunrise(0,"[$SELF:Hoch1]","[$SELF:Hoch2]")}-{sunset(0,"[$SELF:Runter1]","[$SELF:Runter2]")}]) (set $SELF_d 100; setreading $SELF soll 100)
DOELSEIF
(([$SELF] eq "Zeit") and (([[$SELF:Hoch1]-[$SELF:Runter1]|8]) or ([[$SELF:Hoch2]-[$SELF:Runter2]|7])) and (([Beschattungsbedarf_West] eq "on") or ([Blickschutzbedarf] eq "on") or ([Regenschutzbedarf] eq "on"))) (set $SELF_d 50; setreading $SELF soll 50)
DOELSEIF
(([$SELF] eq "Zeit") and (([[$SELF:Hoch1]-[$SELF:Runter1]|8]) or ([[$SELF:Hoch2]-[$SELF:Runter2]|7])) and (([Beschattungsbedarf_West] eq "off") and ([Blickschutzbedarf] eq "off") and ([Regenschutzbedarf] eq "off"))) (set $SELF_d 0; setreading $SELF soll 0)
DOELSEIF
(([$SELF] eq "Zeit") and (![[$SELF:Hoch1]-[$SELF:Runter1]|8]) and (![[$SELF:Hoch2]-[$SELF:Runter2]|7])) (set $SELF_d 100; setreading $SELF soll 100)