Tak wystarczy ze zrobisz zmienną itsnight i VD ze skryptem
--[[
%% properties
%% autostart
%% globals
--]]
-- Initial parameters -------------------------------------------------------
if fibaro:countScenes() > 1 then
fibaro:debug("SCENE ABORT --------------------------")
fibaro:abort()
end
sunriseDelay = 0
sunsetDelay = 0
-- Functions -----------------------------------------------------------------
-- funkcja zamienia czas w formacie tekstowym "HH:MM" lub os.date("*t")
-- na liczbę minut od północy
function toMinutes(czasHHMM)
local a
if type(czasHHMM) == "string" then
a = tonumber(string.sub(czasHHMM, 1, 2)) * 60 + tonumber(string.sub(czasHHMM, 4, 5))
else
a = tonumber(czasHHMM.hour) * 60 + tonumber(czasHHMM.min)
end
return a
end
-- funkcja zamienia liczbę minut od północy na format tekstowy godziny "HH:MM"
function toHHMM(minutes)
local b = string.format("%02d",((minutes/60*100) - ((minutes/60*100) % 100))/100)
local c = string.format("%02d",minutes - (tonumber(b)*60))
local d = b..":"..c
return d
end
-- end of Functions-----------------------------------------------------------
while true do
-- ustalenie ilości minut od północy do godziny wschodu i zachodu słońca
local sunriseMinutes = toMinutes(fibaro:getValue(1, 'sunriseHour'))
local sunsetMinutes = toMinutes(fibaro:getValue(1, 'sunsetHour'))
-- ustalenie ilości minut od północy do teraz
local nowMinutes = toMinutes(os.date("*t"))
-- ustawienie zmiennej globalnej isNight
if nowMinutes > (sunriseMinutes + sunriseDelay)
and nowMinutes < (sunsetMinutes + sunsetDelay)
then
fibaro:setGlobal("isNight", "0")
else
fibaro:setGlobal("isNight", "1")
end
-- debug --------------------------------------------------------------------
fibaro:debug("Teraz jest: "..toHHMM(nowMinutes))
fibaro:debug("Wschód słońca: "..fibaro:getValue(1, 'sunriseHour'))
fibaro:debug("Zachód słońca: "..fibaro:getValue(1, 'sunsetHour'))
fibaro:debug("isNight = "..fibaro:getGlobalValue("isNight"))
fibaro:debug("-----------------------------------------")
-- fibaro:log(fibaro:getGlobalValue("isNight"))
-----------------------------------------------------------------------------
fibaro:sleep(60*1000)
end -- end while
potem odpowiednią scenę może być o bloczki
no taka pozniej opoznienie ze wyłącz i gra muzyka u mnie działa