Mehrere uhrzeitanhänge Aktionen in einer Schene

--[[
%% autostart
%% properties
%% globals
--]]

if (fibaro:countScenes() > 1)
 then fibaro:abort()
end
 
function tempFunc()
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
	--------------------------------------------------------------------------------------------------------
    if (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "06:00")
     then
        if ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6)
		    and fibaro:getGlobalValue("Tageszeit") == "Nacht" and fibaro:getGlobalValue("Beamer") == "aus")
         then fibaro:call(10, "turnOn"); --Flurlampe an
        end
	------------------------------------------------------------------------------------------------------------
    elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "06:15")
     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")
         then
            fibaro:call(138, "pressButton", "1"); --Weckradio 20 Min an
            setTimeout(function()
             fibaro:call(138, "pressButton", "2");
            end, 1200000)
        end
	------------------------------------------------------------------------------------------------------------
    elseif (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(148, "open"); --Alarmanlage aus
            fibaro:call(115, "pressButton", "1"); --Küchenradio 1h an
            setTimeout(function()
             fibaro:call(115, "pressButton", "2");
            end, 3600000)
            fibaro:call(73, "open"); --Rollos hoch
            setTimeout(function()
             fibaro:call(73, "open");
            end, 60000)
        end
	------------------------------------------------------------------------------------------------------------
    elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "07:30")
     then
        if (currentDate.wday == 1 or currentDate.wday == 7) and fibaro:getGlobalValue("Tageszeit") == "Nacht" and fibaro:getGlobalValue("Beamer") == "aus"
         then fibaro:call(10, "turnOn"); --Flurlampe an
        end
	------------------------------------------------------------------------------------------------------------
    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
            setTimeout(function()
             fibaro:call(73, "open");
            end, 60000)
            if fibaro:getGlobalValue("Urlaub") == "anwesend"
             then fibaro:call(148, "open"); --Alarmanlage aus
            end
        end
	------------------------------------------------------------------------------------------------------------
    elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "19:55")
     then
        if (fibaro:getGlobalValue("Tageszeit") == "Nacht")
         then
            fibaro:call(125, "turnOff"); --Fensterlampe aus
            fibaro:call(73, "close"); --Rollos runter
            setTimeout(function()
             fibaro:call(73, "close");
            end, 45000)
        end
    ------------------------------------------------------------------------------------------------------------
    elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "23:00")
     then
        if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5)
         then
            fibaro:call(10, "turnOff"); --Flurlampe aus
            fibaro:call(125, "turnOff"); --Fensterlampe aus
        end
	------------------------------------------------------------------------------------------------------------
    elseif (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "23:59")
     then
        if (currentDate.wday == 6 or currentDate.wday == 7)
         then
            fibaro:call(10, "turnOff"); --Flurlampe aus
            fibaro:call(125, "turnOff"); --Fensterlampe aus
        end
    end
    setTimeout(tempFunc, 60000)
end
tempFunc()

Mehrere uhrzeitabhängige Aktionen in einer Schene über den Tag verteilt, mit nur einem Timer.