Jag har en rörelsesensor som skall vara aktiv när det är mörkt, men inte på småtimmarna. Dessutom kommer jag nog att vilja styra lite annat beroende på om det är morgon eller kväll.
Följande scen sätter två variabler med hänsyn till solnedgång och soluppgång. Då solen går upp väldigt tidigt på sommaren kommer inte morgonvariabeln att sättas då soluppgången är före 07:00.
Kod: Markera allt
--[[
%% autostart
%% properties
%% globals
--]]
while true do
local T = os.date("*t");
local sunriseHour_full = fibaro:getValue(1,'sunriseHour')
fibaro:debug(sunriseHour_full)
local sunrisehour = string.sub (sunriseHour_full, 1 , 2)
local sunrisemin = string.sub(sunriseHour_full,4)
local sunsetHour_full = fibaro:getValue(1,'sunsetHour')
fibaro:debug(sunsetHour_full)
local sunsethour = string.sub (sunsetHour_full, 1 , 2)
local sunsetmin = string.sub(sunsetHour_full,4)
if ( T.hour ==sunsethour and T.min == sunsetmin )
then
fibaro:setGlobal("Kvall", "1");
fibaro:debug("Kväller, tänder! "..T.hour..":"..T.min)
elseif ( T.hour == "23" and T.min == "00" )
then
fibaro:setGlobal("Kvall", "0");
fibaro:debug("kväll slut, släcker! "..T.hour..":"..T.min)
end
if (T.hour*60 + T.min > 420)
then
if (tonumber(fibaro:getGlobalValue("Morgon")) == tonumber("1"))
then
fibaro:setGlobal("Morgon", "0");
fibaro:debug("Morgon slut, släcker! "..T.hour..":"..T.min)
end
elseif ( T.hour ==sunrisehour and T.min == sunrisemin )
then
fibaro:setGlobal("Morgon", "1");
fibaro:debug("Morgon, tänder! "..T.hour..":"..T.min)
end
fibaro:sleep(30*1000);
end