Automatische Jalousiensteuerung – bei Sonne mit dem Home Center steuern lassen
In diesem Beitrag zeigen wir Dir, wie Du eine automatische Steuerung der Jalousien bei Sonnenschein über Dein Fibaro Home Center umsetzen kannst. Hierzu haben wir eine LUA Szene erstellt.
Die Sonne scheint, die Temperaturen steigen – eine Jalousie daheim installiert zu haben, kann hier Wunder bewirken. Dieses Thema betreffend möchten wir Dir heute die Jalousiensteuerung gegen Sonnenlicht vorstellen. Diese ist durch eine LUA Szene über das Fibaro Home Center voll automatisch eingestellt und schließt somit bei Sonnenschein oder zu viel Wärmeaufkommen. Gleichzeitig fährt die Jalousie auch wieder hoch, sobald keine Sonne mehr scheint oder Wolken vor der Sonne sind. Dadurch wird ein maximaler Sonnenschutz und ebenso eine maximale Lichtnutzung garantiert.
Vorbereitungen treffen
Wir haben ein Script für das Fibaro Home Center geschrieben, welches die aktuelle Temperatur sowie auch die Helligkeit messen kann und entsprechend auf die Uhrzeit am Tag abgestimmt ist. Dafür nutzen wir als smarte Komponente einen Fibaro Motion Sensor. Diesen haben wir an unserem Haus so angebracht, dass er gut zu jeder Tageszeit eingesetzt werden kann und die Mittagssonne abpassen kann. Wenn Du an Deinem Haus also den Sensor anbringst, achte darauf, dass dieser zwar in einem Bereich angebracht wird, wo auch die Mittagssonne scheint. Allerdings sollte das Gerät nicht direkt der Sonne ausgesetzt, also eher geschützt angebracht werden. Da diese Smart Home Komponente eigentlich nicht für den Außenbereich gedacht ist, sollte der Motion Sensor ebenso nicht nass werden können.
Bevor wir mit dem Script für die Jalousiensteuerung starten, sollten die Jalousien oder auch Rollladen natürlich am Home Center angelernt sein.
Szene zur Jalousiensteuerung
Um die Szene für die Steuerung der Jalousien zu erstellen, klicke in Deinem Browser im Home Center auf “Szenen” und füge dort eine neue LUA Szene hinzu. Danach kannst Du folgendes Script in die Szene einfügen und durch Deine Werte ergänzen:
--[[ %% properties 491 value 492 value %% events %% globals --]] -- 491 ersetzen durch eure ID des Temperatur sensors der außen monitiert ist -- 492 ersetzen durch eure ID des Lux sensors der außen monitiert ist -- Bitte auch ganze oben im Script bei properties ersetzten!!!! local temp_outside = tonumber(fibaro:getValue(491, 'value')); local lux_outside = tonumber(fibaro:getValue(492, 'value')); local timestamp = os.time(); -- Die 3 Variablen könnt ihr nennen wie ihr wollt -> Wichtig nur unter Steuerungen -> Variablensteuerungen mit dem Wert 0 anlegen local name_global_var_open = 'wg_sunc_open'; -- Kann vom Namen frei vergeben werden local name_global_var_close = 'wg_sunc_close'; -- Kann vom Namen frei vergeben werden local name_global_var_active = 'wg_sunc_active'; -- 0 = Script ist aktiv 1 = Script ist inaktiv -- diese Werte müsst ihr an eure bedürfnisse anpassen local close_temp = 24; -- ab wieviel Grad sollen die Rolladen geschlossen werden local close_lux = 4500; -- ab wieviel Lux sollen die Rolladen geschlossen werden local close_time = 120; -- ab wieviel sekunden sollen die Rolladen geschlossen werden local open_time = 1200; -- ab wieviel Sekunden sollen die Rolladen wieder geöffnet werden local hour_start = 08; -- ab welcher uhrzeit soll das script laufen local hour_end = 18; -- bis wieviel uhr soll das script laufen -- hier setzte ich den Lux Wert runter weil ab 17 Uhr die Sonne nichtmehr so stark ist und meine normalen grenzwerte nicht rechen würden if(tonumber(os.date("%H", timestamp)) >= 17) then close_lux = 2000; -- ab wieviel Lux sollen die Rolladen geschlossen werden end -- ab hier müsst ihr erst wieder ab ca. Zeile 62 (grenzwerte erreicht! z.b. Jalosie runter) bzw. 115 (grenzwerte nicht erreicht! z.b. Jalosie Hoch) anpassungen vornehmen local suncontrol_open = tonumber(fibaro:getGlobalValue(name_global_var_open)); local suncontrol_close = tonumber(fibaro:getGlobalValue(name_global_var_close)); fibaro:debug('Temperatur Aktuell: '..temp_outside..''); fibaro:debug('Lux Aktuell: '..lux_outside..''); if(tonumber(os.date("%H", timestamp)) >= hour_start and tonumber(os.date("%H", timestamp)) <= hour_end and fibaro:getGlobal(name_global_var_active) == '0') then if(temp_outside >= close_temp and lux_outside >= close_lux) then fibaro:setGlobal(name_global_var_close, timestamp); fibaro:debug('Es ist wärmer als grenzwert & Lux Wert wurde erreicht Rolladen könnten geschlossen werden!'); if(timestamp-suncontrol_open >= close_time) then -- ab hier regeln für rolladen wenn wirklich warm! fibaro:debug('Es scheint wirklich Sonnig zu sein grenzwerte wurden seit '..close_time..' Sekunden nicht unterschritten'); -- Wintergarten vorne schließen wenn geöffnet und vor 15 Uhr if(tonumber(fibaro:getValue(375,'value')) >= 10 and tonumber(os.date("%H", timestamp)) <= 15) then fibaro:debug('Rolladen Wintergarten vorne 375 wurde geschlossen'); fibaro:call(375, "close"); end -- Wintergarten vorne öffnen wenn geschlossen geschlossen und nach 15 Uhr if(tonumber(fibaro:getValue(375,'value')) <= 80 and tonumber(os.date("%H", timestamp)) >= 16) then fibaro:debug('Rolladen Wintergarten vorne 375 wurde geöffnet'); fibaro:call(375, "open"); end -- Wintergarten rechts -> erst ab 12 Uhr und nur bis 18 Uhr öffnen if(tonumber(os.date("%H", timestamp)) >= 12 and tonumber(os.date("%H", timestamp)) <= 18 and tonumber(fibaro:getValue(338,'value')) >= 10) then fibaro:debug('Rolladen 338 wurde geschlossen'); fibaro:call(338, "close"); end -- Wintergarten rechts -> ab 18 Uhr wieder öffnen if(tonumber(os.date("%H", timestamp)) >= 18 and tonumber(fibaro:getValue(338,'value')) <= 80) then fibaro:debug('Rolladen 338 Wintergarten Rechts wurde geschlossen'); fibaro:call(338, "open"); end -- bis hier regeln für rolladen wenn wirklich warm ! else fibaro:debug('Zeit zum schließen ist noch nicht gekommen! Es sind erst '..timestamp-suncontrol_open..' Sekunden'); end else fibaro:setGlobal(name_global_var_open, timestamp); fibaro:debug('Alles okay oder schauen das Rolladen hochkönnen'); if(timestamp-suncontrol_close >= open_time) then fibaro:debug('Okay seit '..open_time..' Sekunden wurden grenzwerte nicht erreicht mache Rolladen hoch'); -- ab hier regeln für rolladen wenn werte wieder okay sind! fibaro:call(375, "open"); fibaro:call(338, "open"); -- bis hier regeln für rolladen wenn werte wieder okay sind! else fibaro:debug('Es ist erst seit '..timestamp-suncontrol_close..' Sekunden keine Sonne '); end end else fibaro:debug('Nichts machen da es nicht im Prüfzeitraum liegt oder das Script ist nicht aktiv -> '..name_global_var_active..' ist 1 Aktueller wert '..fibaro:getGlobal(name_global_var_active)..''); end
Dieses Script regelt die Sonnensteuerung Deiner Jalousien oder Rollladen nach Uhrzeiten sowie Sonneneinstrahlung und Temperatur bzw. den LUX-Werten. Dabei wird dann beispielsweise festgelegt, wann die Jalousien herunterfahren oder wann sie wieder geöffnet werden sollen.
Innerhalb der Szenenerstellung muss auch ein Cronjob hinzugefügt werden, wofür man eine Conjob-Szene erstellt. Diese führt bestimmte, wiederkehrende Bedingungen zeitgesteuert zu einer vordefinierten Zeit aus. Wie das genau funktioniert, erfährst Du hier!
Info
Füge in das Script einfach Deine passenden (Grenz-)Werte ein und speicher am Ende alles – schon kannst Du die Szene starten lassen. Hier kann man nicht viel falsch machen, einfach ausprobieren!
Wenn doch Fragen aufkommen, kannst Du uns gerne jederzeit hier in den Kommentaren oder im Forum schreiben.
Herzlichen Dank für Ihren Artikel zur Jalousiensteuerung. Wir haben aktuell Rollläden und überlegen, bald einen neuen Sonnenschutz in Form von Jalousien zu installieren. Gut zu wissen, dass es auch eine automatische Jalousiensteuerung gibt.