Ich mache das teilweise uhrzeitabhängig:
--[[
%% autostart
%% properties
%% globals
--]]
if (fibaro:countScenes() > 1)
then fibaro:abort()
end
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
--wenn Arbeitstag 6:30----------------------------------------------------------------------------------------------------------
if (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "06:30")
then
if ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6)
and fibaro:getGlobalValue("Feiertag") == "nein" and fibaro:getGlobalValue("Urlaub") == "nein" and fibaro:getGlobalValue("Beamer") == "aus")
then
fibaro:call(73, "open"); --Rollos hoch
fibaro:call(148, "open"); --Alarmanlage aus
fibaro:call(115, "pressButton", "1"); --Küchenradio 1h an
setTimeout(function()
fibaro:call(115, "pressButton", "2");
end, 3600000)
end
--wenn Sa, So, Feiertag, Urlaub um 8:30 ----------------------------------------------------------------------------------------------------------
elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:30")
then
if ((currentDate.wday == 1 or currentDate.wday == 7 or fibaro:getGlobalValue("Feiertag") == "ja" or fibaro:getGlobalValue("Urlaub") ~= "nein")
and fibaro:getGlobalValue("Beamer") == "aus")
then
fibaro:call(73, "open"); --Rollos hoch
if fibaro:getGlobalValue("Urlaub") == "anwesend"
then fibaro:call(148, "open"); --Alarmanlage aus
end
end
--wenn 19:55 und dunkel----------------------------------------------------------------------------------------------------------
elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "19:55")
then
if (fibaro:getGlobalValue("Tageszeit") == "Nacht")
then fibaro:call(73, "close"); --Rollos runter
end
------------------------------------------------------------------------------------------------------------
end
setTimeout(tempFunc, 60000)
end
tempFunc()
teilweise dämmerungsabhängig (bei Abwesenheit):
--[[
%% properties
%% globals
Tageszeit
--]]
local startSource = fibaro:getSourceTrigger();
if (fibaro:getGlobalValue("Tageszeit") == "Tag")
then
fibaro:call(44, "turnOff"); --TV-Licht aus
fibaro:call(10, "turnOff"); --Flurlampe aus
fibaro:call(125, "turnOff"); --Fensterlampe aus
----------------------------------------------------
elseif (fibaro:getGlobalValue("Tageszeit") == "Nacht")
then
fibaro:call(52, "open"); --Markise einfahren
if (fibaro:getGlobalValue("Urlaub") == "abwesend")
then
fibaro:call(73, "close"); --Rollos runter
setTimeout(function()
fibaro:call(73, "close");
end, 60000)
end
if (fibaro:getGlobalValue("Beamer") == "aus")
then fibaro:call(10, "turnOn"); --Flurlampe an
end
if (fibaro:getGlobalValue("OLED_TV") == "an")
then fibaro:call(44, "turnOn"); --TV-Licht an
end
if (fibaro:getGlobalValue("Urlaub") ~= "abwesend" and fibaro:getGlobalValue("Beamer") == "aus" and fibaro:getGlobalValue("OLED_TV") == "aus")
then fibaro:call(125, "turnOn"); --Fensterlampe an
end
end
und teilweise Geräteabhängig (vom Beamer):
--[[
%% properties
%% globals
Beamer
--]]
local startSource = fibaro:getSourceTrigger();
if fibaro:getGlobalValue("Beamer") == "an"
then
fibaro:call(46, "close"); --Leinwand
fibaro:call(73, "close"); --Rollos WZ
fibaro:call(10, "turnOff"); --Flurlampe
fibaro:call(16, "turnOff"); --Designlampe
fibaro:call(30, "turnOff"); --Licht Sitzbereich
fibaro:call(32, "turnOff"); --Licht Essbereich
fibaro:call(44, "turnOff"); --TV-Licht
fibaro:call(65, "turnOn"); --Stehlampe WZ
fibaro:call(71, "turnOff"); --Vitrinenlicht
fibaro:call(125, "turnOff"); --Fensterlampe
setTimeout(function()
fibaro:call(65, "turnOff"); --Stehlampe WZ nach 60s
end, 60000)
else
fibaro:call(46, "open"); --Leinwand
if fibaro:getGlobalValue("Tageszeit") == "Tag"
then
fibaro:call(73, "open"); --Rollos WZ
else
fibaro:call(10, "turnOn"); --Flurlampe
fibaro:call(65, "turnOn"); --Stehlampe WZ
end
end