Lampscene där dimmervärden för kontrollenhet enkelt justeras

Post Reply
MastrUsr
Medlem
Posts: 202
Joined: 25 Apr 2017, 07:24
6

Hej!
Här är en idé man kan använda sig av för att alla (fru? ;) ) ska kunna trixa med dimmer-värden i olika scener.

Ett tryck på en knapp sätter senast sparade värde. Håller man inne en knapp sparas nuvarande värde till respektive knapp.
OBS! Detta är bara implementerat för knapp 1-4.

274 är id't på min Remotec - Scene Master (men det bör funka med andra kontroller också). Det behövs globala variabler för att spara värdena för de olika scenerna.
T.ex: fibaro:call(37, "setValue", fibaro:getGlobal("Scene1_Bankbelysni")) --- 37 är ID't på min bänkbelysning och "Scene1_Bankbelysni" är namnet på min globala variabel.

Code: Select all

--[[
%% properties
%% events
274 CentralSceneEvent
%% globals
--]]

local sa = fibaro:getSourceTrigger()["event"]["data"]
--fibaro:debug(json.encode(sa))


if ((sa['keyId'] == 1) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key1')
  fibaro:call(37, "setValue", fibaro:getGlobal("Scene1_Bankbelysni"))
  fibaro:call(47, "setValue", fibaro:getGlobal("Scene1_Hallbelysni"))
  fibaro:call(42, "setValue", fibaro:getGlobal("Scene1_Koksbelysni"))
  fibaro:call(208, "setValue", fibaro:getGlobal("Scene1_Koksbordsbe"))
end

if ((sa['keyId'] == 1) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key1 double') 
end

if ((sa['keyId'] == 1) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key1 held') 
  fibaro:setGlobal("Scene1_Bankbelysni", fibaro:getValue(37, "value"))
  fibaro:setGlobal("Scene1_Hallbelysni", fibaro:getValue(47, "value"))
  fibaro:setGlobal("Scene1_Koksbelysni", fibaro:getValue(42, "value"))
  fibaro:setGlobal("Scene1_Koksbordsbe", fibaro:getValue(208, "value"))
end

if ((sa['keyId'] == 1) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key1 release') 
end


if ((sa['keyId'] == 2) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key2') 
  fibaro:call(37, "setValue", fibaro:getGlobal("Scene2_Bankbelysni"))
  fibaro:call(47, "setValue", fibaro:getGlobal("Scene2_Hallbelysni"))
  fibaro:call(42, "setValue", fibaro:getGlobal("Scene2_Koksbelysni"))
  fibaro:call(208, "setValue", fibaro:getGlobal("Scene2_Koksbordsbe"))
end

if ((sa['keyId'] == 2) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key2 double') 
end

if ((sa['keyId'] == 2) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key2 held') 
  fibaro:setGlobal("Scene2_Bankbelysni", fibaro:getValue(37, "value"))
  fibaro:setGlobal("Scene2_Hallbelysni", fibaro:getValue(47, "value"))
  fibaro:setGlobal("Scene2_Koksbelysni", fibaro:getValue(42, "value"))
  fibaro:setGlobal("Scene2_Koksbordsbe", fibaro:getValue(208, "value"))
end

if ((sa['keyId'] == 2) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key2 release') 
end


if ((sa['keyId'] == 3) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key3') 
  fibaro:call(37, "setValue", fibaro:getGlobal("Scene3_Bankbelysni"))
  fibaro:call(47, "setValue", fibaro:getGlobal("Scene3_Hallbelysni"))
  fibaro:call(42, "setValue", fibaro:getGlobal("Scene3_Koksbelysni"))
  fibaro:call(208, "setValue", fibaro:getGlobal("Scene3_Koksbordsbe"))
end

if ((sa['keyId'] == 3) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key3 double') 
end

if ((sa['keyId'] == 3) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key3 held') 
  fibaro:setGlobal("Scene3_Bankbelysni", fibaro:getValue(37, "value"))
  fibaro:setGlobal("Scene3_Hallbelysni", fibaro:getValue(47, "value"))
  fibaro:setGlobal("Scene3_Koksbelysni", fibaro:getValue(42, "value"))
  fibaro:setGlobal("Scene3_Koksbordsbe", fibaro:getValue(208, "value"))
end

if ((sa['keyId'] == 3) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key3 release') 
end


if ((sa['keyId'] == 4) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key4') 
  fibaro:call(37, "setValue", fibaro:getGlobal("Scene4_Bankbelysni"))
  fibaro:call(47, "setValue", fibaro:getGlobal("Scene4_Hallbelysni"))
  fibaro:call(42, "setValue", fibaro:getGlobal("Scene4_Koksbelysni"))
  fibaro:call(208, "setValue", fibaro:getGlobal("Scene4_Koksbordsbe"))
end

if ((sa['keyId'] == 4) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key4 double') 
end

if ((sa['keyId'] == 4) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key4 held') 
  fibaro:setGlobal("Scene4_Bankbelysni", fibaro:getValue(37, "value"))
  fibaro:setGlobal("Scene4_Hallbelysni", fibaro:getValue(47, "value"))
  fibaro:setGlobal("Scene4_Koksbelysni", fibaro:getValue(42, "value"))
  fibaro:setGlobal("Scene4_Koksbordsbe", fibaro:getValue(208, "value"))
end

if ((sa['keyId'] == 4) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key4 release') 
end


if ((sa['keyId'] == 5) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key5') 
end

if ((sa['keyId'] == 5) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key5 double') 
end

if ((sa['keyId'] == 5) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key5 held') 
end

if ((sa['keyId'] == 5) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key5 release') 
end


if ((sa['keyId'] == 6) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key6') 
end

if ((sa['keyId'] == 6) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key6 double') 
end

if ((sa['keyId'] == 6) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key6 held') 
end

if ((sa['keyId'] == 6) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key6 release') 
end


if ((sa['keyId'] == 7) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key7') 
end

if ((sa['keyId'] == 7) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key7 double') 
end

if ((sa['keyId'] == 7) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key7 held') 
end

if ((sa['keyId'] == 7) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key7 release')
end


if ((sa['keyId'] == 8) and (sa['keyAttribute'] ==  'Pressed'))
  then 
  fibaro:debug('key8') 
end

if ((sa['keyId'] == 8) and (sa['keyAttribute'] ==  'Pressed2'))
  then 
  fibaro:debug('key8 double') 
end

if ((sa['keyId'] == 8) and (sa['keyAttribute'] ==  'HeldDown'))
  then 
  fibaro:debug('key8 held') 
end

if ((sa['keyId'] == 8) and (sa['keyAttribute'] ==  'Released'))
  then 
  fibaro:debug('key8 release') 
end

Post Reply