Smart 0 Signaler ce message Posté(e) 13 février 2019 Good morning, I have this scene that works all day, but actually I would like it to work from 7 to 23, how should I add that part to this code? Thank you! --[[ %% autostart %% properties 110 value --- Relay switch 2x1.5 35 value ---- Motion Sensor %% weather %% events %% globals --]] if fibaro:countScenes() > 1 then fibaro:abort() end local startSource = fibaro:getSourceTrigger(); if ( (tonumber(fibaro:getValue(110, "value")) == 0 and tonumber(fibaro:getValue(35, "value")) > 0 )) then fibaro:call(110, "turnOn"); end Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 620 Signaler ce message Posté(e) 13 février 2019 just enclose your if in an other IF that Ches the validity of the time Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 13 février 2019 Hi, Like this, as say @jojo I think you don't need in the header 110 value ;-). Your scene is triggered on detection. --[[ %% autostart %% properties 35 value %% weather %% events %% globals --]] if fibaro:countScenes() > 1 then fibaro:abort() end local now = os.date("%H:%M") if (now >= "07:00" and now <= "23:00") then if ( (tonumber(fibaro:getValue(110, "value")) == 0 and tonumber(fibaro:getValue(35, "value")) > 0 )) then fibaro:call(110, "turnOn"); end end Partager ce message Lien à poster Partager sur d’autres sites
Smart 0 Signaler ce message Posté(e) 13 février 2019 il y a 9 minutes, pepite a dit : Hi, Like this, as say @jojo I think you don't need in the header 110 value ;-). Your scene is triggered on detection. --[[ %% autostart %% properties 35 value %% weather %% events %% globals --]] if fibaro:countScenes() > 1 then fibaro:abort() end local now = os.date("%H:%M") if (now >= "07:00" and now <= "23:00") then if ( (tonumber(fibaro:getValue(110, "value")) == 0 and tonumber(fibaro:getValue(35, "value")) > 0 )) then fibaro:call(110, "turnOn"); end end Thank you. The last query. I would like that when I double click the variable is changed to "On" so that the light does not turn off, and then when I click to pass the variable to "Off". I have a fgs223, is this scene okay? This is my scene: --[[ %% autostart %% properties 126 value 11 value %% weather %% events %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( ( fibaro:getGlobalValue("TeclaBanochicos") == "Desactivada" and tonumber(fibaro:getValue(126, "value")) == 0 and tonumber(fibaro:getValue(11, "value")) > 0 ) or startSource["type"] == "other" ) then fibaro:call(126, "turnOn"); end And "Desactivada" --[[ %% autostart %% properties %% weather %% events 124 CentralSceneEvent 2 Pressed %% globals --]] local startSource = fibaro:getSourceTrigger(); if ( ( (startSource["type"] == "event" and startSource["event"]["type"] == "CentralSceneEvent") ) or startSource["type"] == "other" ) then fibaro:setGlobal("TeclaBanochicos", "Desactivada"); end And "Activada": --[[ %% autostart %% properties %% weather %% events 124 CentralSceneEvent 2 Pressed2 %% globals --]] local startSource = fibaro:getSourceTrigger(); if(startSource["type"] == "other") then fibaro:setGlobal("TeclaBanochicos", "Activada"); else if (( (startSource["type"] == "event" and startSource["event"]["type"] == "CentralSceneEvent") )) then setTimeout(function() local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(124, "value"); if (( (startSource["type"] == "event" and startSource["event"]["type"] == "CentralSceneEvent") ) and (os.time() - deviceLastModification0) >= 3) then delayedCheck0 = true; end local startSource = fibaro:getSourceTrigger(); if ( ( delayedCheck0 == true ) or startSource["type"] == "other" ) then fibaro:setGlobal("TeclaBanochicos", "Activada"); end end, 3000) end end Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 13 février 2019 Could you test this in a lua scene et click once, twice, and heldown please --[[ %% events 124 CentralSceneEvent --]] local source = fibaro:getSourceTrigger().event.data; local ID = sourceTrigger.event.data.keyId local Attribute = sourceTrigger.event.data.keyAttribute fibaro:debug("ID : ".. ID .." - keyAttribute : ".. Attribute) Partager ce message Lien à poster Partager sur d’autres sites
Smart 0 Signaler ce message Posté(e) 13 février 2019 Il y a 1 heure, pepite a dit : Could you test this in a lua scene et click once, twice, and heldown please --[[ %% events 124 CentralSceneEvent --]] local source = fibaro:getSourceTrigger().event.data; local ID = sourceTrigger.event.data.keyId local Attribute = sourceTrigger.event.data.keyAttribute fibaro:debug("ID : ".. ID .." - keyAttribute : ".. Attribute) I get the following error: [DEBUG] 14:34:54: 2019-02-13 14:34:54.683156 [ fatal] Unknown exception: /opt/fibaro/scenes/100.lua:6: attempt to index field 'event' (a nil value) Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 13 février 2019 sorry ma fault ;-) @Smart --[[ %% events 124 CentralSceneEvent --]] local source = fibaro:getSourceTrigger().event.data; local ID = source.keyId local Attribute = source.keyAttribute fibaro:debug("ID : ".. ID .." - keyAttribute : ".. Attribute) Partager ce message Lien à poster Partager sur d’autres sites
Smart 0 Signaler ce message Posté(e) 18 février 2019 Le 13/02/2019 à 16:58, pepite a dit : sorry ma fault ;-) @Smart --[[ %% events 124 CentralSceneEvent --]] local source = fibaro:getSourceTrigger().event.data; local ID = source.keyId local Attribute = source.keyAttribute fibaro:debug("ID : ".. ID .." - keyAttribute : ".. Attribute) Good morning, the script continues to throw me an error Partager ce message Lien à poster Partager sur d’autres sites