Szene zur Lichtsteuerung Eingang

Szene zur Lichtsteuerung Eingang

Als Geräte sind vorhanden:

Türsensor Eingangstür

Fibaro Motion Sensor

Fibaro Ein/Aus Schalter

HC2

Das Licht im Eingang soll für 3 Minuten an sei wenn folgende Parameter zutreffen.

Es ist 15 Minuten vor Sonnenuntergang / Nacht – nicht am Tag

Oder

Der Motion Sensor messt nur 10 LUX

Der Motion Sensor wird ausgelöst

Oder

Der Türkontakt wird betätigt (Tür wird geöffnet)

Dann soll der Ein/Aus Schalter für 3 Minuten an sein.

Hat dazu einer eine graphische Szene oder ein LUA Script?

Danke für schnelle Hilfe.

Hallo,

ich habe mir die Beiträge von crissxcross angeschaut.
Sehr gut.
Die perfekte Lichtsteuerung habe ich übernommen.

Nun meine Frage:
Wenn ich bei Zeile 61 den Wert für meinen Schalter ( der das Licht steuert) eingebe - erhalte ich die Meldung " no lighst set for evening.
lightsEvening = {id=185, setValue=„30“, onTime=30};

Wenn ich die Zeile 61 modifiziere
lightsEvening = {{id=471, setValue=„60“, onTime=60},{id=491, setValue=„60“, onTime=60},{id=117, setValue=„turnOn“, onTime=60}};

Dann geht mein Licht Eingang ID117 an und aus.

Für was sind die ID 471 und ID 491.

Danke für eine Erklärung.

cu
karlk

So, da ich leider keine Antwort erhalten habe nun hier meine zusammen gestellte Scene.

Was mein Ihr dazu?

Was kann man besser machen?

cu
karlk

–[[
%% properties
50 value
52 value
117 value
124 value
%% globals
–]]
– VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 13 – ID dieser Szene
local motion = 50 – ID des Bewegungssensors
local lux = 52 – ID des Lichtsensors
local door = 124 – ID des Türsensors
local switch = 117 – ID des Relay Switches

debug = function ( color, message )
fibaro:debug(string.format(’<%s style=„color:%s;“>%s’, „span“, color, message, „span“))
end
– Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
debug(‚salmon‘,„lösche doppelte Scene!“)
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 )
and (tonumber(fibaro:getValue(lux, „value“)) <= 10 )
then fibaro:call(switch, „turnOn“);
debug(‚steelblue‘,„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 = 180;
local timer = (starttimer);
debug(‚gold‘,„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“);
debug(‚red‘,„Licht manuell ausgeschaltet“);
fibaro:sleep(10000);
break
end
timer=timer-1;
– Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit bzw. Motionsensor sendet noch nicht (vgl. Parameter 6)
if (tonumber(fibaro:getValue(motion, „value“))) > 0 then
timer=starttimer;
fibaro:debug(„Resete Time, Bewegung erkannt“);
end
until (timer<1)
– Schalte Licht aus, wenn Timer vollständig abgelaufen ist
fibaro:call(switch, „turnOff“);
debug(‚red‘,„Timer abgelaufen/Schalte Licht aus“);
fibaro:killScenes(scene);
end