am elegantesten ist es wenn du mit Arrays arbeitest:
--[[
%% properties
XX value
%% globals
--]]
local motion = XX;
local hues = {x,y,z};
local HUElight = tonumber(fibaro:getValue(hue, "ui.onOff.value"))
if tonumber(fibaro:getValue(motion, "value")) > 0 then
if (HUElight ~= 0) then
for i, v in ipairs(hues) do
fibaro:call(hues[i], 'turnOff')
end
fibaro:debug("Beleuchtung aus");
else
for i, v in ipairs(hues) do
fibaro:call(hues[i], 'turnOn');
end
fibaro:debug("Beleuchtung an");
end
end
Sorry, war ein Flüchtigkeitsfehler… Wie boomx geschrieben hat, hatte ich vergessen die HUElight zu definieren.
Es gibt zwei Optionen:
1. eine zusätzliche variable:
wo nur eine hue abgefragt wird (Zeile 8 - huetocheck)
--[[
%% properties
XX value
%% globals
--]]
local motion = XX;
local huetocheck = YY
local hues = {x,y,z};
local HUElight = tonumber(fibaro:getValue(huetocheck, "ui.onOff.value"))
if tonumber(fibaro:getValue(motion, "value")) > 0 then
if (HUElight ~= 0) then
for i, v in ipairs(hues) do
fibaro:call(hues[i], 'turnOff')
end
fibaro:debug("Beleuchtung aus");
else
for i, v in ipairs(hues) do
fibaro:call(hues[i], 'turnOn');
end
fibaro:debug("Beleuchtung an");
end
end
oder 2. per Funktion:
In der alle hues aus dem Array abgefragt werden, ob diese an oder aus sind.
--[[
%% properties
XX value
%% globals
--]]
local motion = XX;
local hues = {x,y,z};
---- ### checkLights Funktion ### ----
function checkLights(array)
for j=1, #hues do
status = tonumber(fibaro:getValue(hues, "ui.onOff.value"))
if status == "0" then
lightsOff = true;
elseif
status == "1" then
lightsOff = false; break
end
end
end
--------------- ### Code ### ----------------------
if tonumber(fibaro:getValue(motion, "value")) > 0 then
checkLights();
if (lightsOff == false) then
for i, v in ipairs(hues) do
fibaro:call(hues[i], 'turnOff')
end
fibaro:debug("Beleuchtung aus");
else
for i, v in ipairs(hues) do
fibaro:call(hues[i], 'turnOn');
end
fibaro:debug("Beleuchtung an");
end
end
WICHTIG: Ich habe keinen der o.g. Codes bisher getestet.
Gerade beide getestet. Skript eins funktioniert , werde ich auch benutzen, war sowieso vom Aufbau mein Fav.
Skript zwei schmeißt er mir einen Fehler im Debug aus, genau den selben den ich weiter oben gepostet habe…
Aber ihr habt mir sehr geholfen und es funktioniert ja jetzt ! Vielen Vielen Dank und ein schönes Wochenende
ps. nächster Step bei mir am WE, Sonos Commander mit einbinden