Hallo,
ich habe ein Devolo Wandschalter und benutze diese mit dem CentralSceneEvent. Jetzt möchte ich in einem lua script eine schleife laufen lassen, solange eine bestimmte Taste gehalten wird. Genauer möchte ich an ein LED-Farbband (RGB Controller) die Farben durchschalten. Die Schleife startet, stoppt aber nicht wenn ich die Taste loslasse. Ich vermute dass ich hier den neuen “wert” nicht abgefragt bekomme, damit die Schleife gestoppt wird. hier mein Ansatz:
--[[
%% properties
%% events
223 CentralSceneEvent
%% globals
--]]
local button_source = fibaro:getSourceTrigger()["event"]["data"]
if (tostring(button_source["keyAttribute"]) == "HeldDown") and (tonumber(button_source["keyId"]) == 2) then
print("while-schleife gestartet")
local count = 0
repeat
count = count + 1;
print(count)
if (tostring(button_source["keyAttribute"]) == "Released") then -- ich denke hier liegt das problem, da nicht nochmal neu abgefragt wird. Wie mache ich das?
count = 6
break
end
if count == 1 then
fibaro:call(233, "setColor", "51","0","0","0")
elseif count == 2 then
fibaro:call(233, "setColor", "0","51","0","0")
elseif count == 3 then
fibaro:call(233, "setColor", "0","0","51","0")
elseif count == 4 then
fibaro:call(233, "setColor", "51","0","51","0")
elseif count == 5 then
fibaro:call(233, "setColor", "0","51","51","0")
count = 0
else
print("Error")
end
fibaro:sleep(2000)
until (count>4)
end