Hallo, ich habe folgendes Problem bzw. Frage.
Ich habe vor der Haustüre einen Bewegungsmelder der das Licht für die Einfahrt steuert mit einem LUA Skirpt realisiert.
Wenn Bewegung = Licht AN, solange Bewegung ist läuft ein Counter und das Licht geht erst nach einer eingestellten Zeit wieder aus.
Mein Problem ist, das es den ganzen Tag diese Funktion hat. Wie kann ich die Szene nur zur Abendzeit aktivieren wenn es dunkel wird.
Der BWM schalten auch tagsüber das Licht an.
Hier mal der Skript den ich verwende. Vielen Dank im Voraus !
–[[
%% properties
238 value
250 value
%% globals
–]]
— VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 74 — ID dieser Szene
local motion = 238 — ID des Bewegungssensors
local switch = 250 — 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 ) and (tonumber(fibaro:getValue(switch, „value“))) < 1 then
fibaro:call(switch, „turnOn“);
fibaro:call(250, „setBrightness“, „5“);
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 = 30;
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(10000);
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