Trigger från dubbelklick Fibaro FGD212
Posted: 04 Nov 2019, 19:53
Försöker lära mej LUA genom "trial and error" och med hjälp av trådar på detta forum.
I sovrummet har jag en scene (ID 46) som triggar från rörelsesensor (ID63) om värdet från ljusmätaren (ID65) är mindre än 3 lux och ställer dimmern (ID78) på 9% i 5 minuter.
--[[
%% properties
63 value
65 value
%% weather
%% events
%% globals
Cleaning
--]]
local startSource = fibaro:getSourceTrigger();
if
( tonumber(fibaro:getValue(63, "value")) > 0
and tonumber(fibaro:getValue(65, "value")) < 3
and fibaro:getGlobalValue("Cleaning") == "False" )
then
fibaro:call(78, "setValue", "9");
setTimeout(function() fibaro:call(78, "turnOff");
end
Vid t.ex. städning vill jag att dubbelklick ska ställa belysningen på 100% och hållas tills jag stänger av med enkelklick. Gjorde därför scene ID 48 med följande kod:
--[[
%% properties
%% 78, "sceneActivation"
%% globals
--]]
local startSource = fibaro:getSourceTrigger()
local sa = tonumber(fibaro:getValue(78, "sceneActivation"))
if (sa == 14) then fibaro:killScenes(46); fibaro:setGlobal('Cleaning','True'); fibaro:call(78, "setValue", "100") end
if (sa == 16) then fibaro:setGlobal('Cleaning','False') end
Dubbelklick funktionen i själva dimmern ger ju 100% ljus men eftersom rörelsesensorn har triggat 9% så återgår dimmern till 9% efter 5 minuter om någon rör sej i rummet, annars stänger den helt.
För att lösa detta tänkte jag att en global variabel kanske kunde fungera. Dubbelklick ändrar nog variabeln till "Cleaning: true" men dimmern triggas inte.
Vad gör jag för fel?
I sovrummet har jag en scene (ID 46) som triggar från rörelsesensor (ID63) om värdet från ljusmätaren (ID65) är mindre än 3 lux och ställer dimmern (ID78) på 9% i 5 minuter.
--[[
%% properties
63 value
65 value
%% weather
%% events
%% globals
Cleaning
--]]
local startSource = fibaro:getSourceTrigger();
if
( tonumber(fibaro:getValue(63, "value")) > 0
and tonumber(fibaro:getValue(65, "value")) < 3
and fibaro:getGlobalValue("Cleaning") == "False" )
then
fibaro:call(78, "setValue", "9");
setTimeout(function() fibaro:call(78, "turnOff");
end
Vid t.ex. städning vill jag att dubbelklick ska ställa belysningen på 100% och hållas tills jag stänger av med enkelklick. Gjorde därför scene ID 48 med följande kod:
--[[
%% properties
%% 78, "sceneActivation"
%% globals
--]]
local startSource = fibaro:getSourceTrigger()
local sa = tonumber(fibaro:getValue(78, "sceneActivation"))
if (sa == 14) then fibaro:killScenes(46); fibaro:setGlobal('Cleaning','True'); fibaro:call(78, "setValue", "100") end
if (sa == 16) then fibaro:setGlobal('Cleaning','False') end
Dubbelklick funktionen i själva dimmern ger ju 100% ljus men eftersom rörelsesensorn har triggat 9% så återgår dimmern till 9% efter 5 minuter om någon rör sej i rummet, annars stänger den helt.
För att lösa detta tänkte jag att en global variabel kanske kunde fungera. Dubbelklick ändrar nog variabeln till "Cleaning: true" men dimmern triggas inte.
Vad gör jag för fel?