Hallo zusammen,
ich bin noch recht neu auf dem Gebiet unterwegs und verstehe einfach nicht wo mein Fehler liegt.
Mit der Szene will ich erreichen, dass in der Küche beim auslösen des Bewegungsmelders (BM02) und unterschreiten von 10 Lux Restlicht (BM02.lux) das Licht (LED Light) eingeschaltet wird.
Ich befinde mich nicht in der Küche und der Lichtwert liegt bei 6 lux.
Wenn ich diese Szene speicher passiert nicht, wenn ich die Szene starte passiert auch erst mal nichts.
Aber eine kurze Zeit später (ca. 1min.) geht das Licht an, ohne das eine Bewegung stattgefunden hat.
Die Einstellungen des MotionSensors sind wie folgt geändert:
Übermittlung von Lux Veränderung auf 40 gesetzt (200 default)
Übermittlung Zeitintervall auf 900s gesetzt (3600s default)
Ja, du hast eine zeitliche Einschaltvetzögerung von 60 Sek programmiert - nimm mal die 60 aus dem letzten roten Feld.
Ferner - welche Trigger (ist oberhalb des Screenshots) hast du aktiviert?
Hey Hoggle,
ahhhh, ich dachte das wäre die Dauer die dieser “Part” dann aktiv wäre.
Nun habe ich aber weiterhin das Problem, dass das Licht sofort angeht sobald ich die Szene aktiviere.
Keine Bewegung, und Taghell
wenn Du deinem Script am Ende ein weiteres
UND
Ausschalten (mit 60 im roten Feld)
hinzufügst, geht es wieder nach 60 Sekunden aus, aber 60 Sekunden nach der ersten Bewegung.
Wenn es 60 Sek nach der letzten Bewegung ausgehen soll, mach ein zweites Script.
Danke, die Funktion hatte ich gefunden.
Ebenso auch diese Anleitung, leider bekomme ich die so nicht zum laufen, würde ich gern im Flur.
Am liebsten würde ich diese auch noch so abändern, dass sie nur reagiert wenn der Restlichtwert entsprechend ist.
Aber mein Script will einfach nicht laufen. Bin der Meinung die Daten wie beschrieben geändert zu haben.
(Aber irgendwas muss ich wohl falsch gemacht haben :-D)
–[[
%% properties
13 value
41 value
%% globals
–]]
– VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 4 – ID dieser Szene
local motion = 13 – ID des Bewegungssensors
local switch = 41 – 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: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 = 900;
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