Wer schon länger eine automatische Rolladenbetätigung in Abhängigkeit von Sonnenauf- / untergang betreibt, der kennt das Thema: Im Winter gehen die Rolladen viel zu früh runter und im Sommer viel zu spät. Das liegt u.a. daran, dass die Dämmerungsphase im Winter viel länger andauert und im Sommer recht kurz ist. Viele Versuche mit einer Rolladenbetätigung eine feste Zeit nach Sonnenuntergang unter Verwendung des sicher bekannten Tageszeitenskriptes zeigen, dass man zwar für eine bestimmte Jahreszeit die Rolladenschliesszeit optmieren kann, aber man muß jahreszeitabhängig immer wieder anpassen. Seit einigen Monaten fahre ich eine andere Strategie, bei der die Rolladenschliesszeit zwar von der jahreszeitlichen Sonnenuntergangszeit abgeleitet wird, diese Ableitung aber nicht additiv sondern mit einer linearen Umrechnung erfolgt. Mit dem obigen Bild wird der Sachverhalt deutlich.
Näherungsweise übers Jahr ist die Darstellung der Sonnenuntergangszeit eine Sinuskurve mit einem Minimalwert im Dezember (SUmin) und einem Maximalwert im Juni. Ausgehend von dieser Abhängigkeit (rote Kurve) berechne ich eine gefühlt angenehmere Rolladenschliesszeit in der Weise. dass die Amplitude verkleinert und der Mittelwert vergrößert wird.(grüne Kurve). Die Berechnungsgrundlagen für die Umrechnung sind unten im Bild dargestellt. Vorgegeben aufgrund meiner individuellen Ortslage (Nähe Bonn) sind die Zeiten für SUmax und SUmin (in Winterzeit !) . Bei mir ist SUmax = 1250 (in min entsprechend 20h50) und SUmin = 990 (in min entsprechend 8h30). Die gewünschte Zielkurve wir nur duch die beiden Parameter ROLLmax und ROLLmin festgelegt. Ich habe hier für die grüne kurve ROLLmax = 1320 und ROLLmin = 1170 gewählt. Daraus ergibt sich dann eine einfache Berechnungsformel für die tägliche Rolladenschließzeit ROLL = 0.58 * SU +595 .
Wenn nun die Rolladen zu dieser Zeit geschlossen werden sollen und beispielsweise zu einer festen Zeit am morgen wieder geöffnet werden sollen, dann sieht die WebUI-Umsetzung mit integriertem Skript etwa so aus:
Zuerst definiert man zwei neue Systemvariable „rolladenzeit“ als Zahl und „rolladengeschlossen“ als log. Variable.
Dann ruft man mit einem WebUI-Programm zyklisch alle paar Minuten das folgende Skript auf, das die Systemvariable „rolladengeschlossen“ entsprechend der grünen Kurve abends auf 1 setzt und morgens um 6h45 wieder auf 0 zurücksetzt. Damit man die aktuelle Rolladenschliesszeit sich ansehen kann, wird die Systemvariable „rolladenzeit“ im Skript ebenfalls berechnet.
[codesyntax lang=“text“ title=“HM-Skript“]
!Skript setzt die logische Systemvariable "rolladengeschlossen" auf true, wenn Rolladen runter !Rolladen-Schliesszeit ROLL berechnet sich aus der aktuellen Sonnenuntergangszeit SU !Zeitberechnung immer im Minutenschema!aktuellen Sonnenaufgang berechnen integer SU = system.SunsetTime("%M").ToInteger() + 60* system.SunsetTime("%H").ToInteger(); integer zeit = system.Date("%M").ToInteger() + 60*system.Date("%H").ToInteger(); !Systemvariable "rolladengeschlossen" abends auf 1 und morgens um 6h45 auf 0 setzen boolean rolladennacht =0; real ROLL = 595.0 + 0.58* SU; if (zeit < 405) {rolladennacht = 1;} !Zwischen 0h00 und 6h45 ist rolladennacht = 1 !405 entspricht der Minutenzeit von 6h45, >> Berechnung: (6 * 60) +45 = 405 if (zeit > ROLL) {rolladennacht = 1;} ! zwischen ROLL und 24h00 ist rolladennacht = 1 dom.GetObject("rolladengeschlossen").State(rolladennacht); !Umformen von der Minutendarstellung von ROLL in Stundendarstellung hh,mm !und abspeichern auf Systemvariable "rolladenzeit" real su_zeit = 0.0166 *ROLL; real su_zeit_h = su_zeit.ToInteger(); real su_zeit_m = (su_zeit - su_zeit_h) *0.6; real su_zeit= su_zeit_m + su_zeit_h; dom.GetObject("rolladenzeit").State(su_zeit);
[/codesyntax]
Das eigentliche Rolladenprogramm sieht dann beispielhaft so aus:
Aktuell steuere ich insgesamt 14 Rolläden im Nachtbetrieb mit der beschriebenen Strategie.Mit dem Schliessverhalten bin ich jetzt sehr zufrieden, weil keine jahreszeitlichen Anpassungen mehr notwendig sind. Im Tagbetrieb wird abhängig vom Sonnenstand, der Sonneneinstrahlung individuell jedes Fenster gesteuert, aber das ist ein anderes Thema.