Moin Gemeinde!
Hat einer von Euch vielleicht ein Rolladenscript, welches auf der HC3 läuft? Ich bin einfach zu dumm um zu verstehen, wie man sie von der HC2 auf die HC3 adaptiert.
Ich habe auf der HC2 diese hier benutzt und war bisher immer zufrieden. Was mir wichtig war, war das z.B. die Rollladen an den Türen erst zugingen wenn diese geschlossen wurden, damit man sich nicht aus Versehen aussperrt:
–[[
%% autostart
%% properties
%% globals
–]]
local sourceTrigger = fibaro:getSourceTrigger();
local version = ‚2.0‘;
fibaro:debug(‚Rollershutter-Controller started for the first time (Ver.‘ … version … ‚)‘);
function rollershutter()
local version = ‚2.0‘;
local sunriseHour = fibaro:getValue(1,‚sunriseHour‘);
local sunsetHour = fibaro:getValue(1,‚sunsetHour‘);
local currentDate = os.date('t’);
local temp = tonumber(fibaro:getValue(3, ‚Temperature‘));
local rollershutter_runs = tonumber(fibaro:getGlobalValue(‚rollershutter_runs‘));
local random = math.random(35);
local min = math.floor((random100)/60);
if ((((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format(‚%02d‘, currentDate.hour) … ‚:‘ … string.format(‚%02d‘, currentDate.min) == sunriseHour)) and rollershutter_runs == 0 and tonumber(temp)>=0)
then
fibaro:debug(‚Rollershutter-Controller started (Ver.‘ … version … ‚)‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
fibaro:debug(‚Sunrise… Opening rollershutters‘);
fibaro:debug(‚Waiting ’ … min … ’ min‘);
fibaro:sleep(random100000);
fibaro:call(569, ‚open‘);
fibaro:call(571, ‚open‘);
fibaro:call(579, ‚open‘);
fibaro:call(573, ‚open‘);
fibaro:call(575, ‚open‘);
fibaro:call(581, ‚open‘);
fibaro:call(590, ‚open‘);
fibaro:debug(‚Rollershutters opened‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
elseif ((((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format(‚%02d‘, currentDate.hour) … ‚:‘ … string.format(‚%02d‘, currentDate.min) == sunsetHour)) and rollershutter_runs == 0 and tonumber(temp)>=0)
then
fibaro:debug(‚Rollershutter-Controller started (Ver.‘ … version … ‚)‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
fibaro:debug(‚Sunset… Closing rollershutters‘);
fibaro:debug(‚Waiting ’ … min … ’ min‘);
fibaro:sleep(random100000);
fibaro:call(590, ‚close‘);
fibaro:call(571, ‚close‘);
fibaro:call(579, ‚close‘);
while (tonumber(fibaro:getValue(675, ‚value‘)) > 0) do
fibaro:sleep(101000)
end
fibaro:call(573, ‚close‘);
fibaro:call(575, ‚close‘);
fibaro:call(581, ‚close‘);
while
(tonumber(fibaro:getValue(672, ‚value‘)) > 0) do
fibaro:sleep(101000)
end
fibaro:call(569, ‚close‘);
fibaro:debug(‚Rollershutters closed‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
elseif ((((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format(‚%02d‘, currentDate.hour) … ‚:‘ … string.format(‚%02d‘, currentDate.min) == sunriseHour)) and rollershutter_runs == 0 and tonumber(temp)<=0)
then
fibaro:debug(‚Rollershutter-Controller started (Ver.‘ … version … ‚)‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
fibaro:debug(‚Sunrise… Temperatur < 0… Rollershutters stay closed.‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
elseif ((((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format(‚%02d‘, currentDate.hour) … ‚:‘ … string.format(‚%02d‘, currentDate.min) == sunsetHour)) and rollershutter_runs == 0 and tonumber(temp)<=0)
then
fibaro:debug(‚Rollershutter-Controller started (Ver.‘ … version … ‚)‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚1‘);
fibaro:debug(‚Sunset… Temperatur < 0… Rollershutters stay opened.‘);
fibaro:setGlobal(‚rollershutter_runs‘, ‚0‘);
end
setTimeout(rollershutter, 60*1000);
end
if (sourceTrigger[‚type‘] == ‚autostart‘) then
rollershutter();
end
Viele liebe Grüße!
Christian