Jag ville att kvällsbelysningen skulle tona ned sakta, inte i fasta värden alltså, utan snyggt "slida" ned värdet:
Code: Select all
--[[
%% properties
%% globals
--]]
--kill any extra instances of the same scene
if (fibaro:countScenes() > 1) then fibaro:abort() end
-- Ursprungligen var koden för att tända upp sakta, wake-up, men nu
-- vänder vi på kakan - TurnDown service!
local fadetime = 60 -- fade time in minutes
local fadestep = 1 -- percent to fade between each command, must be 1 or higher
local fadeunit1 = 29 -- id of lamp to be controlled
local fadeunit2 = 60 -- id of lamp to be controlled
local fadeunit3 = 64 -- id of lamp to be controlled
-- no edit below this point
local fadelevel = tonumber(fibaro:getValue(fadeunit2, "value"))
local fadetarget
if ( fadelevel < 60 or fibaro:getGlobalValue("TOD") == "TurnDown" ) then
fadetarget = 25
else
fadetarget = 45
end
local fadesleep = (fadetime*60000) / ((fadelevel-fadetarget)/fadestep)
while fadelevel >= fadetarget do
fibaro:call(fadeunit1, "setValue", tostring(fadelevel))
fibaro:call(fadeunit2, "setValue", tostring(fadelevel))
fibaro:call(fadeunit3, "setValue", tostring(fadelevel))
fibaro:sleep(fadesleep)
fadelevel = fadelevel - fadestep
if not (tonumber(fibaro:getValue(fadeunit2, "value")) == fadelevel + fadestep) then
fibaro:debug(fibaro:getValue(fadeunit2, "value"))
fibaro:debug(fadelevel)
break
end
end
EDIT: Ändrat koden ovan till senaste utgåvan... Och fixat stavfelet?