Trigga flera lampor vid rörelse

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
svante
Medlem
Posts: 76
Joined: 14 Dec 2011, 10:08
12

Hej,
Hur kan man komplettera denna kod för att lägga till flera lampor som skall tändas när sensor blir överträdd?

Code: Select all

--[[
%% properties
291 value
%% globals
--]]

local sensor = 291
local light = 39
local time = 900

local counter = time;

if( tonumber(fibaro:getValue(sensor, "value")) > 0 )
then
   fibaro:call(light, "turnOn");
   while(counter > 0)
    do
        counter=counter-1;
        fibaro:sleep(1000);
        if
            tonumber(fibaro:getValue(sensor, "value")) > 0
        then
            counter = time;
        end
    end
    fibaro:call(light, "turnOff");
end 
Kan man kommaseparera flera id'n efter "local light ="?
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Man kan använda sig utav denna kod:

Code: Select all

local devices={20,235,75,66}; 
fibaro:call(devices[i], "turnOff"); 
svante
Medlem
Posts: 76
Joined: 14 Dec 2011, 10:08
12

Fick det inte att fungera? Gjorde enligt följande:

Code: Select all

--[[
%% properties
291 value
%% globals
--]]

local sensor = 291
local devices = {39,261}; 
local time = 900

local counter = time;

if( tonumber(fibaro:getValue(sensor, "value")) > 0 )
then
   fibaro:call(devices[i], "turnOn");
   while(counter > 0)
    do
        counter=counter-1;
        fibaro:sleep(1000);
        if
            tonumber(fibaro:getValue(sensor, "value")) > 0
        then
            counter = time;
        end
    end
    fibaro:call(devices[i], "turnOff");
end 
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Hmmm gick inte att bara göra så tydligen. Har gjort en funktion lite snabbt men kan fila på den lite till vid senare tillfälle.

Code: Select all

local devices={281,283,284,285}

function TurnOff(group) 
  local ID_devices = group; 
       for i=1, #ID_devices do 
    id = tonumber(ID_devices[i]); 
    fibaro:call(id, "turnOff"); 
      end 
end 

--kör funktion som släcker alla enheter specade i devices strängen
TurnOff(devices);
Post Reply