Hallo Leute,
ich bin noch relativ neu hier und bräuchte mal ein bisschen eure Hilfe.
Ich hab mich schon durch das ein oder andere Skript hier gesucht und habe mal eins abgeändert auf meine Verhältnisse.
Soweit sogut aber jetzt weiß ich nicht warum es bei manueller Schalterbetätigung nicht mehr ausgeht,
kann mir mal jemand etwas auf die Sprünge helfen?
Bin noch in der Anfangsphase des LUA Aber es wird von Tag zu Tag etwas verständlicher
--[[
%% properties
22 value
129 value
37 value
%% globals
--]]
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 7 -- ID dieser Szene
local motion = 22 -- ID des Bewegungssensors
local door = 129 -- ID des Türkontaktes
local switch = 121 -- ID des Relay Switches
-- Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort();
end
-- SCHALTE LICHT EIN & AUS
if ((tonumber(fibaro:getValue(motion, "value")) > 0 ) or (tonumber(fibaro:getValue(door, "value")) > 0)) and (tonumber(fibaro:getValue(switch, "value"))) < 1 then
fibaro:call(switch, "turnOn");
fibaro:debug("Schalte Licht ein");
end
-- Verzögerung in Sekunden nach der letzten erkannten Bewegung, bevor das Licht ausgeschaltet wird
if (tonumber(fibaro:getValue(switch, "value"))) > 0 then
local starttimer = 20;
local timer = (starttimer);
fibaro:debug("Starte Timer");
repeat
fibaro:sleep(1000);
-- Schalte Licht aus, wenn Schalter manuell betätigt wird und warte 10 Sekunden, um ein
-- versehentliches (erneutes) Aktivieren der Szene zu verhindern
if (tonumber(fibaro:getValue(switch, "value"))) < 1 then
timer=1;
fibaro:call(switch, "turnOff");
fibaro:sleep(5000);
break
end
timer=timer-1;
-- Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
if (tonumber(fibaro:getValue(motion, "value"))) > 0 then
timer=starttimer;
fibaro:debug("Resete Time, Bewegung erkannt bzw. Motionsensor sendet noch nicht (vgl. Parameter 6)");
end
until (timer<1)
-- Schalte Licht aus, wenn Timer vollständig abgelaufen ist
fibaro:call(switch, "turnOff");
fibaro:debug("Timer abgelaufen/Schalte Licht aus");
fibaro:killScenes(scene);
end