guten morgen zusammen,
habe da folgende skript für die rolläden laufen.
anscheinend funktioniert die feiertags bzw Wochenendsteuerung nicht.
die rollos fahren trotzdem zum sonnenaufgang hoch. die feiertagsprüfung scheint zu funktionieren. aber er hält sich dann nicht dran.
ich habe eigentlich nur den freitag und den montag zum WE hinzugefügt…
--[[
%% autostart
%% properties
%% globals
--]]
-- Bisherige Hauptarbeiten an dem Skript: http://www.Siio.de, boomx, parip69 und thebrain. Kleine Modifikationen von alando22
-- Version 2.1
-- Dieses Skript realisiert eine Rolladen-Steuerung zum Sonnenaufgang und - untergang mit Verzögerungszeiten und einer
-- Temperaturschwelle, die zum schließen der Rolläden unterschritten werden muss.
-- Zusätzlich ist eine zufällige Verzögerung von 1-30 Minuten eingebaut, um die Aktivitäten nicht nachvollziehbar zu machen.
-- Zudem ist ein Sonnenschutz über einen Helligkeitssensor integriert. Eine Prüfung ggf. offener Türen ist ebenfalls enthalten.
-- Bei morgendlichen Öffnen wird zwischen Werktagen und Wochenenden & Feiertagen unterschieden.
-- Wochentags wird nach Sonnenaufgang geöffnet, am Wochenende & an Feiertagen zu fester Uhrzeit.
-- Dazu ist das Skript "Variable für Feiertage" von https://www.siio.de/board/thema/variable-fuer-feiertage/#post-42440 notwendig.
-- Ohne Verwendung des Feiertagsscripts bitte die Zeile 89 auskommentieren!!!
-- Notwendige globale Variablen (vorher anlegen!):
--
-- SunFirstMaxTimeLux Startwert = 0 (Interne Zeitvariable)
-- SunFirstMinTimeLux Startwert = 0 (Interne Zeitvariable)
-- SonnenSchutz Startwert = 0 (Variable gibt an, ob der Sonnenschutz aktiv '1' oder inaktiv '0' ist
-- RolloUnten0Oben1 Startwert = 1 (Variable gibt an, ob Rolladen unten '0' oder oben '1' ist
--#####################################################################################################################
local minSonAuf = '-15' -- Verzögerungszeit in Minuten zum öffnen der Rolläden bei Sonnenaufgang.
local minSonUnt = '15' -- Verzögerungszeit in Minuten zum schließen der Rolläden bei Sonnenuntergang.
local zeitFruehstensAuf = '06:00' -- Zeitpunkt ab dem die Rolläden frühestens öffnen (Nicht am WE & Feiertag).
local zeitSpaetestensAuf = '08:30' -- Zeitpunkt ab dem die Rolläden frühestens öffnen (Nicht am WE & Feiertag).
local zeitWeFtAuf = '09:00' -- Zeitpunkt, an dem am Wochenende und an Feiertagen die Rolläden öffnen (fixer Zeitpunkt)
local zeitMaxUntergang = '22:00' -- Spätester Zeitpunkt, an dem die Rolläden schließen
--local maxTempStart = 7 -- Temperatur unterhalb der die Rolladen abends schließen sollen
local startSunLux = 5000; -- über 5.000 Lux für zu
local startSunDelay = 5; -- 5 Min bis zu
local endSunLux = 1000; -- unter 1.000 Lux für auf
local endSunDelay = 20; -- 20 Min bis auf
local sunProtectPosition = 25; -- Sonnenschutzposition für Rolladen
local sunProtectPosition1 = 0; -- Sonnenschutzposition für Raffstores
local sunProtectLamella = 25; -- Sonnenschutzposition Lamellen
local luxSensor = 172 -- ID des Hellichkeitssensors
--local tempSensor = 11 -- ID des Temperatursensors
local rebootSceneID = 79 -- ID der eigenen Scene die rebotet wird.
local meldungenDebug = 0 -- Hilfsvariable um die Meldungen nicht andauernd zu wiederholen.
local rs_wohnraum1 = 50; -- Schiebetür Raffst.
local rs_wohnraum2 = 52; -- Fenster Raffst.
local rs_wohnraum3 = 54; -- Wohnzimmer Fenster Raffst.
local rs_arbeitszimmer1 = 58; -- Büro
local rs_bad1 = 60; -- G-WC
local rs_bad2 = 42; -- Bad
local rs_kueche1 = 44; -- Fenster Garage
local rs_kueche2 = 46; -- Fenster Garten Raffst.
local rs_kueche3 = 48; -- Tür Garten Raffst.
local rs_theo = 40; -- Fenster Theo
local rs_flurEG = 62; -- Fenster Flur EG
local doorID1 = 278; -- ID des Türkontakts Schiebetür
--local doorID2 = ; --Platzhalter für weitere Türkontakte (siehe WHILE-Schleifen bei ca. Zeile 275)
--local doorID3 = ; --Platzhalter für weitere Türkontakte (siehe WHILE-Schleifen bei ca. Zeile 275)
-------------------------------------------------------------------------------------------------------------------------
--################################ ab hier nichts mehr ändern! ##########################################################
-------------------------------------------------------------------------------------------------------------------------
debug = function ( color, message )
fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
--#######################################################################################
local sourceTrigger = fibaro:getSourceTrigger();
function sceneReboot()
local currentDate = os.date("*t");
if ((currentDate.hour == 2) and (currentDate.min >= 0)and (currentDate.min < 1))
or sourceTrigger["type"] == "other" then
debug('salmon',"Neustart der Szene!")
fibaro:sleep(1*60*1000)
fibaro:startScene(rebootSceneID);
end
setTimeout(sceneReboot, 1*60*1000)
end
--########## Berechnung versetzter Sonnenaufgang und versetzter Sonnenuntergang ############
debug('gold', ""..fibaro:getValue(1,'sunriseHour').." ... Sonnenaufgang")
debug('steelblue', ""..minSonAuf.." min... Zeitverzögerung zum Sonnenaufgang.")
local a, b = fibaro:getValue(1,'sunriseHour'):match("([^,]+):([^,]+)")
local VersetzterSonnenAufgang = os.date("%H:%M", -3600+ a*60*60 + (b*60+minSonAuf*60));
debug('yellow',""..VersetzterSonnenAufgang.." Öffnen der Rolladen.")
----------------------------------------------------------------------------------------
debug('orangered',""..fibaro:getValue(1,'sunsetHour').. " ... SonnenUntergang")
debug('steelblue', ""..minSonUnt.." min. Zeitverzögerung Sonnenuntergang.")
local a, b = fibaro:getValue(1,'sunsetHour'):match("([^,]+):([^,]+)")
local VersetzterSonnenUntergang = os.date("%H:%M", -3600+ a*60*60 + (b*60+minSonUnt*60));
debug('orangered',""..VersetzterSonnenUntergang..' schließen der Rolladen')
--############################## Feststellung ob Wochenende oder Feiertag ##################
local Feiertag_heute = tonumber(fibaro:getGlobalValue("Feiertag_heute")) -- Diese Zeile auskommentieren, wenn kein Feiertagsscript genutzt wird
local currentDate = os.date("*t")
local werktag = 1
--------------------------------------------------------------------------------------------
if ((Feiertag_heute == 1 or currentDate.wday == 7 or currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 6))
then
werktag = 0
debug('grey', "Heute ist Wochenende oder ein Feiertag.")
else
werktag = 1
debug('grey',"Heute ist ein Werktag und kein Feiertag.")
end
---------------------------------------------------------------------------------------
--############ Prüfung wann Rolladen tatsächlich öffnen werden ########################
if werktag == 0 then
debug ('yellow', "Die Rolladen werden um "..zeitWeFtAuf.." öffnen.")
elseif
VersetzterSonnenAufgang > zeitFruehstensAuf and VersetzterSonnenAufgang < zeitSpaetestensAuf then
debug('yellow',"Die Rolladen werden um "..VersetzterSonnenAufgang.. " zuzüglich einer zufälligen Verzögerung öffnen.")
elseif VersetzterSonnenAufgang < zeitFruehstensAuf then
debug('yellow',"Die Rolladen werden um "..zeitFruehstensAuf.. " zuzüglich einer zufälligen Verzögerung öffnen.")
elseif VersetzterSonnenAufgang > zeitSpaetestensAuf then
debug('yellow',"Die Rolladen werden um "..zeitSpaetestensAuf.. " zuzüglich einer zufälligen Verzögerung öffnen.")
end
--------------------------------------------------------------------------------------------
if VersetzterSonnenUntergang > zeitMaxUntergang then
debug('steelblue',"Die Rolladen werden um "..zeitMaxUntergang.. ' zuzüglich einer zufälligen Verzögerung geschlossen')
else
debug('steelblue',"Die Rolladen werden um "..VersetzterSonnenUntergang.. ' zuzüglich einer zufälligen Verzögerung geschlossen')
end
--#########################################################################################
debug('darkgreen',"Rolladen-Controller startet das erste mal!");
function rollerShutter()
--######## Berechnung der Variablen ########
local a, b = fibaro:getValue(1,'sunriseHour'):match("([^,]+):([^,]+)")
local VersetzterSonnenAufgang = os.date("%H:%M", -3600+ a*60*60 + (b*60+minSonAuf*60));
----------------------------------------------------------------------------------------
local a, b = fibaro:getValue(1,'sunsetHour'):match("([^,]+):([^,]+)")
local VersetzterSonnenUntergang = os.date("%H:%M", -3600+ a*60*60 + (b*60+minSonUnt*60));
----------------------------------------------------------------------------------------
local currentDate = os.date('*t');
local rollershutter_runs = tonumber(fibaro:getGlobalValue('rollershutter_runs'));
local SonnenSchutz = tonumber(fibaro:getGlobalValue('SonnenSchutz'));
----------------------------------------------------------------------------------------
local version = '2.2';
local currentDate = os.date('*t');
local rollershutter_runs = tonumber(fibaro:getGlobalValue('rollershutter_runs'));
local random = math.random(5); -- Hier wird die zufällige Verzögerung beeinflusst.
local min = math.floor((random*100)/60);
------------------------------------------------------------------------------------------
---################# SonnenSchutz... Rolladen runterfahren !! #########################---
------------------------------------------------------------------------------------------
if ( tonumber(fibaro:getValue(luxSensor, "value")) > startSunLux )
and (os.date("%H:%M", os.time()) > VersetzterSonnenAufgang)
and (os.date("%H:%M", os.time()) < VersetzterSonnenUntergang)
and (tonumber(SonnenSchutz) == 0)
then
fibaro:setGlobal('SunFirstMaxTimeLux', '1');
local gSunFirstMaxTimeLux = fibaro:getGlobalModificationTime('SunFirstMaxTimeLux')
if ( tonumber(fibaro:getValue(luxSensor, "value")) > startSunLux )
and ((os.time() - gSunFirstMaxTimeLux) >= startSunDelay*60)
then
---------------- Rolladen eintragen ----------------------------------------
fibaro:call(rs_wohnraum2, "setValue", sunProtectPosition1); --Fenster Esszimmer
fibaro:call(rs_wohnraum2, "setValue2", sunProtectLamella); --Lamellen
fibaro:call(rs_wohnraum3, "setValue", sunProtectPosition1); --Fenster Wohnzimmer
fibaro:call(rs_wohnraum3, "setValue2", sunProtectLamella); --Lamellen
fibaro:call(rs_arbeitszimmer1, "setValue", sunProtectPosition); --Fenster Büro
fibaro:call(rs_bad1, "setValue", sunProtectPosition); -- Fenster G-WC
-- fibaro:call(rs_bad2, "setValue", sunProtectPosition); --Fenster Bad
fibaro:call(rs_kueche1, "setValue", sunProtectPosition); --Fenster Garage
fibaro:call(rs_kueche2, "setValue", sunProtectPosition1); --Fenster Garten
fibaro:call(rs_kueche2, "setValue2", sunProtectLamella); --Lamellen
fibaro:call(rs_kueche3, "setValue", sunProtectPosition1); --Tür Garten
fibaro:call(rs_kueche3, "setValue2", sunProtectLamella); --Lamellen
-- fibaro:call(rs_theo, "setValue", sunProtectPosition); --Fenster Theo
fibaro:call(rs_flurEG, "setValue", sunProtectPosition); --Fenster Flur
while
(tonumber(fibaro:getValue(doorID1, 'value')) > 0) do --prüft ob Fester offen, wenn ja wird Rolladen nicht geschlossen
fibaro:sleep(10*1000)
end
fibaro:call(rs_wohnraum1, "setValue", sunProtectPosition1); --Schiebetür
fibaro:call(rs_wohnraum1, "setValue2", sunProtectLamella); --Lamellen
---------------------------------------------------------------------------
debug('greenyellow', fibaro:getValue(luxSensor, "value")..' Lux ... Die Rolladen fahren auf ' ..sunProtectPosition..'%!!!')
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '1'); --SonnenSchutz wurde gesetzt.
fibaro:setGlobal('RolloUnten0Oben1', '0');
meldungenDebug = 0
elseif meldungenDebug == 0 then
debug('lightsteelblue','Die Rolladen bleiben oben... es sind ' ..fibaro:getValue(luxSensor, "value")..' Lux und '..startSunDelay..' min bis die Rollos auf ' ..sunProtectPosition..'% fahren.')
meldungenDebug = 1 --damit er nicht immer die gleiche meldung schreibt wie odas ueber ihm.
end
------------------------------------------------------------------------------------------
---################# SonnenSchutz... Rolladen hochfahren !! ###########################---
------------------------------------------------------------------------------------------
elseif ( tonumber(fibaro:getValue(luxSensor, "value")) < endSunLux )
and (os.date("%H:%M", os.time()) > VersetzterSonnenAufgang)
and (os.date("%H:%M", os.time()) < VersetzterSonnenUntergang)
and (tonumber(SonnenSchutz) == 1)
then
fibaro:setGlobal('SunFirstMinTimeLux', '1');
local gSunFirstMinTimeLux = fibaro:getGlobalModificationTime('SunFirstMinTimeLux')
if ( tonumber(fibaro:getValue(luxSensor, "value")) < endSunLux )
and ((os.time() - gSunFirstMinTimeLux) >= endSunDelay*60)
then
---------------- Rolladen eintragen --------------------------------------------------
fibaro:call(rs_wohnraum1, 'open');
fibaro:call(rs_wohnraum2, 'open');
fibaro:call(rs_wohnraum3, 'open');
fibaro:call(rs_arbeitszimmer1, 'open');
fibaro:call(rs_bad1, 'open');
-- fibaro:call(rs_bad2, 'open');
fibaro:call(rs_kueche1, 'open');
fibaro:call(rs_kueche2, 'open');
fibaro:call(rs_kueche3, 'open');
-- fibaro:call(rs_theo, 'open');
fibaro:call(rs_flurEG, 'open');
--------------------------------------------------------------------------------------
debug('greenyellow', fibaro:getValue(luxSensor, "value")..' Die Rolladen fahren hoch!!!')
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '0'); --SonnenSchutz wurde entfernt.
fibaro:setGlobal('RolloUnten0Oben1', '1');
meldungenDebug = 0
elseif meldungenDebug == 0 then
debug('lightsteelblue','Rollos bleiben auf ' ..sunProtectPosition..' % ... es sind ' ..fibaro:getValue(luxSensor, "value")..' Lux und '..endSunDelay..' min bis die Rollos rauf fahren.')
meldungenDebug = 1 --damit er nicht immer die gleiche meldung schreibt wie odas ueber ihm.
end
------------------------------------------------------------------------------------------
---################# Sonnenaufgang Werktags!! ###############################################--
------------------------------------------------------------------------------------------
elseif ((VersetzterSonnenAufgang > zeitFruehstensAuf and os.date("%H:%M", os.time()) == VersetzterSonnenAufgang)
or (VersetzterSonnenAufgang < zeitFruehstensAuf and os.date("%H:%M", os.time()) == zeitFruehstensAuf)
or (VersetzterSonnenAufgang > zeitSpaetestensAuf and os.date("%H:%M", os.time()) == zeitSpaetestensAuf)
and (tonumber(rollershutter_runs) == 0) and werktag == 1)
then
debug('darkkhaki',"Rolladen-Controller ist gestartet (Ver." .. version .. ")");
fibaro:setGlobal('rollershutter_runs', '1');
debug('gold', 'Sonnenaufgang... öffne Rolladen');
debug('gold', 'Waiting ' .. min .. ' min');
fibaro:sleep(random*100000);
fibaro:call(rs_wohnraum1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_wohnraum2, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_wohnraum3, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_arbeitszimmer1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_bad1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_bad2, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche2, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche3, 'open');
fibaro:sleep(math.random(5000,10000));
-- fibaro:call(rs_theo, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_flurEG, 'open');
fibaro:sleep(math.random(5000,10000));
debug('yellow',"Rolladen wurden geöfnet.");
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '0'); --SonnenSchutz wurde entfernt.
fibaro:setGlobal('rollershutter_runs', '0');
fibaro:setGlobal('RolloUnten0Oben1', '1');
if (os.date("%H:%M", os.time()) >= VersetzterSonnenAufgang) then
debug('coral',"Es ist Tag.");
end
------------------------------------------------------------------------------------------
---################# Sonnenaufgang Wochenende und Feiertags!! ###################################--
------------------------------------------------------------------------------------------
elseif ((string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == zeitWeFtAuf)
and (tonumber(rollershutter_runs) == 0) and werktag == 0)
then
debug('darkkhaki',"Rolladen-Controller ist gestartet (Ver." .. version .. ")");
fibaro:setGlobal('rollershutter_runs', '1');
debug('yellow','Es ist '..zeitWeFtAuf..'Uhr, Öffne Rolladen');
fibaro:call(rs_wohnraum1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_wohnraum2, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_wohnraum3, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_arbeitszimmer1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_bad1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_bad2, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche1, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche2, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche3, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_theo, 'open');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_flurEG, 'open');
fibaro:sleep(math.random(5000,10000));
debug('yellow',"Rolladen wurden geöfnet.");
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '0'); --SonnenSchutz wurde entfernt.
fibaro:setGlobal('rollershutter_runs', '0');
fibaro:setGlobal('RolloUnten0Oben1', '1');
debug('coral',"Es ist Tag.");
-----------------------------------------------------------------------------------------
---################ SonnenUntergang !! ###########################################---
-----------------------------------------------------------------------------------------
elseif ((VersetzterSonnenUntergang < zeitMaxUntergang and os.date("%H:%M", os.time()) == VersetzterSonnenUntergang)
or (VersetzterSonnenUntergang > zeitMaxUntergang and os.date("%H:%M", os.time()) == zeitMaxUntergang)
and (tonumber(rollershutter_runs) == 0))
then
debug('darkkhaki',"Rolladen-Controller ist gestartet (Ver." .. version .. ")");
fibaro:setGlobal('rollershutter_runs', '1');
debug('steelblue', 'Sonnenuntergang... schließe Rolladen');
debug('steelblue', 'Die zufällige Verzögerung beträgt ' .. min .. ' min.');
fibaro:sleep(random*100000);
fibaro:call(rs_arbeitszimmer1, 'close') --ID für close ohne prüfung eines offenen Fensters
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_bad1, 'close');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_bad2, 'close');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche1, 'close');
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche2, 'close');
fibaro:call(rs_kueche2,'setValue2', '0')
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_kueche3, 'close');
fibaro:call(rs_kueche3,'setValue2', '0')
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_wohnraum2, 'close');
fibaro:call(rs_wohnraum2,'setValue2', '0')
fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_wohnraum3, 'close');
fibaro:call(rs_wohnraum3,'setValue2', '0')
fibaro:sleep(math.random(5000,10000));
-- fibaro:call(rs_theo, 'close');
-- fibaro:sleep(math.random(5000,10000));
fibaro:call(rs_flurEG, "setValue", "50");
fibaro:sleep(math.random(5000,10000));
while
(tonumber(fibaro:getValue(doorID1, 'value')) > 0) do --prüft ob Fester offen, wenn ja wird Rolladen nicht geschlossen
fibaro:sleep(10*1000)
end
fibaro:call(rs_wohnraum1, 'close');
fibaro:call(rs_wohnraum1,"setValue2", '0')
while
fibaro:sleep(120*60*1000) do
end
fibaro:call(rs_flurEG, 'close');
--while
-- (tonumber(fibaro:getValue(doorID2, 'value')) > 0) do --prüft ob Fester offen, wenn ja wird Rolladen nicht geschlossen
-- fibaro:sleep(10*1000)
--end
-- fibaro:call(rs_wohnraum1, 'close');
debug('royalblue',"Rolladen wurden geschlossen.");
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '0'); --SonnenSchutz wurde entfernt.
fibaro:setGlobal('rollershutter_runs', '0');
fibaro:setGlobal('RolloUnten0Oben1', '0');
if (os.date("%H:%M", os.time()) >= VersetzterSonnenUntergang) then
debug('royalblue',"Es ist Nacht.");
end
end
---#######################################################################################
setTimeout(rollerShutter, 60*1000);
end
--########################################################################################
if (sourceTrigger['type'] == 'autostart') then
rollerShutter();
sceneReboot();
elseif (sourceTrigger['type'] == 'property') then
debug('orangered', 'Source device = ' .. sourceTrigger['deviceID'])
elseif (sourceTrigger['type'] == 'global') then
debug('orangered', 'Global variable source = ' .. sourceTrigger['name'])
elseif (sourceTrigger['type'] == 'other') then
---------------- Rolladen eintragen ----------------------------------------
if(os.date("%H:%M", os.time()) > VersetzterSonnenAufgang)
and(os.date("%H:%M", os.time()) < VersetzterSonnenUntergang) then
fibaro:call(rs_wohnraum1, 'open');
fibaro:call(rs_wohnraum2, 'open');
fibaro:call(rs_wohnraum3, 'open');
fibaro:call(rs_arbeitszimmer1, 'open');
fibaro:call(rs_bad1, 'open');
fibaro:call(rs_bad2, 'open');
fibaro:call(rs_kueche1, 'open');
fibaro:call(rs_kueche2, 'open');
fibaro:call(rs_kueche3, 'open');
fibaro:call(rs_theo, 'open');
fibaro:call(rs_flurEG, 'open');
debug('coral',' Die Rolladen fahren in Grundstellung!!!')
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '0'); --SonnenSchutz wurde entfernt.
fibaro:setGlobal('RolloUnten0Oben1', '1');
else
debug('royalblue',' Es ist Nacht.')
fibaro:setGlobal('SunFirstMaxTimeLux', '0');
fibaro:setGlobal('SunFirstMinTimeLux', '0');
fibaro:setGlobal('SonnenSchutz', '0'); --SonnenSchutz wurde entfernt.
end
---------------------------------------------------------------------------
debug('orangered', 'Other source.')
end
--###########################################################################################
debug:
[DEBUG] 03:03:26: 07:20 … Sonnenaufgang
[DEBUG] 03:03:26: -15 min… Zeitverzögerung zum Sonnenaufgang.
[DEBUG] 03:03:26: 07:05 Öffnen der Rolladen.
[DEBUG] 03:03:26: 18:11 … SonnenUntergang
[DEBUG] 03:03:26: 15 min. Zeitverzögerung Sonnenuntergang.
[DEBUG] 03:03:26: 18:26 schließen der Rolladen
[DEBUG] 03:03:26: Heute ist Wochenende oder ein Feiertag.
[DEBUG] 03:03:26: Die Rolladen werden um 09:00 öffnen.
[DEBUG] 03:03:26: Die Rolladen werden um 18:26 zuzüglich einer zufälligen Verzögerung geschlossen
[DEBUG] 03:03:26: Rolladen-Controller startet das erste mal!
[DEBUG] 07:05:29: Rolladen-Controller ist gestartet (Ver.2.2)
[DEBUG] 07:05:29: Sonnenaufgang… öffne Rolladen
[DEBUG] 07:05:29: Waiting 6 min
[DEBUG] 07:13:30: Rolladen wurden geöfnet.
[DEBUG] 07:13:30: Es ist Tag.
[DEBUG] 09:00:31: Rolladen-Controller ist gestartet (Ver.2.2)
[DEBUG] 09:00:31: Es ist 09:00Uhr, Öffne Rolladen
[DEBUG] 09:01:52: Rolladen wurden geöfnet.
[DEBUG] 09:01:52: Es ist Tag.
ich finde den fehler nicht im skript. trotz Feiertagsvariable etc startet um kurz nach 7 das skript und fährt die rolläden hoch. und dann um 9 nochmal…
danke für eure hilfe.
Mit freundlichen Grüßen
bademeister