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
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.