Släcka alla lampor

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
robban
Ny medlem
Posts: 6
Joined: 03 Jul 2013, 22:48
11

Kör den här scenen för att släcka alla lampor när jag går hemmifrån

Code: Select all

--[[ 
%% properties 

%% globals 
--]] 


if (fibaro:countScenes() > 1) then fibaro:abort() end; 

local i = 0 
local maxNodeID = 250 

for i = 0, maxNodeID do 
  
      if fibaro:getValue(i, "isLight") == "1" then 

         if (fibaro:getValue(i, "value") >= "1") 
            then 
               local DeviceName = fibaro:getName(i); 
               local RoomName = fibaro:getRoomNameByDeviceID(i) 
               fibaro:call(i, "turnOff"); 
               fibaro:debug("Switched off device "..i.." "..DeviceName.." "..RoomName); 
         else 
               local DeviceName = fibaro:getName(i); 
               local RoomName = fibaro:getRoomNameByDeviceID(i); 
               fibaro:debug("Device "..i.." "..DeviceName.." "..RoomName.. " was already off"); 
        end 

    end 

end 

fibaro:debug("All lights are off");
Rätt ny på det här med fibaro och lua, skulle dels vilja att när scenen körs så ska ute belysningen som har id nr 14 släckas 5 minuter efter allt annat.
Kör Verisure larm hemma och har kopplat in en wall plug i deras smart plug, när jag låser dörren och larmar på så släcks just den smart plugen och wall plugen blir strömlös, vilket skulle vara en perfekt trigger för just den här scenen, men har ingen aning om hur jag ska få in det i koden.
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

I denna scen så släcker du alla lampor så du måste göra om hela scenen så du inte har med den enhet som du önskar lysa längre.
robban
Ny medlem
Posts: 6
Joined: 03 Jul 2013, 22:48
11

Gjorde om den lite så nu fungerar den nästan som jag vill

Code: Select all

--[[ 
%% properties 

%% globals 
--]] 


if (fibaro:countScenes() > 1) then fibaro:abort() end; 

local i = 0 
local maxNodeID = 250 

for i = 0, maxNodeID do 
  
      if fibaro:getValue(i, "isLight") == "1" then 

         if (fibaro:getValue(i, "value") >= "1") 
            then 
               local DeviceName = fibaro:getName(i); 
               local RoomName = fibaro:getRoomNameByDeviceID(i) 
               	fibaro:call(7, "turnOff");
	            fibaro:call(19, "turnOff");
	            fibaro:call(11, "turnOff");
	            fibaro:call(22, "turnOff");
	            fibaro:call(24, "turnOff");
	            fibaro:call(25, "turnOff");
	            fibaro:call(28, "turnOff");
	            fibaro:sleep(600000);
	            fibaro:call(12, "turnOff");
	            fibaro:call(14, "turnOff"); 
               fibaro:debug("Switched off device "..i.." "..DeviceName.." "..RoomName); 
         else 
               local DeviceName = fibaro:getName(i); 
               local RoomName = fibaro:getRoomNameByDeviceID(i); 
               fibaro:debug("Device "..i.." "..DeviceName.." "..RoomName.. " was already off"); 
        end 

    end 

end 

fibaro:debug("All lights are off");
Ska bara försöka komma på hur jag ska få scenen att triggas av att en wall plug blir en död nod
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Mellan properties och globals lägger du in
ID value


Jonny sent this from his iPhone using Tapatalk
Henrikel
Proffsmedlem
Posts: 687
Joined: 12 Dec 2013, 00:24
10
Location: Växjö
Contact:

om man vill starta denna scen med tex S2, hur ser koden ut då?
Installations Elektriker
https://www.facebook.com/ramnasael
Installerar och säljer Z-wave lösningar
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Så här kan man göra

Code: Select all

---[[ 
%% properties 
246 sceneActivation --byt ID mot dimmer ID
%% globals 
--]] 

local trigger = fibaro:getSourceTrigger(); 
if (trigger['type'] ~= "property") then 
  fibaro:debug ("Unexpected source trigger '" .. trigger['type'] .. "'"); 
  fibaro:abort (); 
end 

local scene = tonumber (fibaro:getValue (id, "sceneActivation")); 

if (scene == 26) then -- 1 click
      fibaro:startScene(12);
      fibaro:debug("S2 -1 click ")
  
elseif (scene == 24) then -- 2 click
      fibaro:startScene(12);
      fibaro:debug("S2 -2 click")
  
elseif (scene == 25) then -- 3 click
      fibaro:startScene(12);
      fibaro:debug("S2 -3 click")
end 
Henrikel
Proffsmedlem
Posts: 687
Joined: 12 Dec 2013, 00:24
10
Location: Växjö
Contact:

Tack. Ska testa lite.
Installations Elektriker
https://www.facebook.com/ramnasael
Installerar och säljer Z-wave lösningar
Post Reply