You need to create integer uservariables with the same name as your devices, they are used to prevent getting stuck in a loop.
Code: Select all
commandArray = {}
my_devices = {"Lamp in hoek", "Lamp naast bank", "Lamp naast tv", "Lamp naast kachel", "Lamp bij trap", "TV" }
-- loop through the changed devices
for device_name, device_value in pairs(devicechanged) do
for i, my_device in pairs(my_devices) do
if device_name == my_device then
if device_value == "On" and uservariables[device_name] == 0 then
commandArray['Variable:' .. device_name] = "1"
commandArray[0]={[device_name]='On'} -- send signal again
commandArray[1]={[device_name]='On'} -- and again..
elseif device_value == "Off" and uservariables[device_name] == 1 then
commandArray['Variable:' .. device_name] = "0"
commandArray[0]={[device_name]='Off'} -- send signal again
commandArray[1]={[device_name]='Off'} -- and again..
end
return commandArray
end
end
end
return commandArray