Blog Licht an solange Bewegung

Sorry, ich habe gar keine Ahnung wie man hier Code-Blöcke einfügt…

--[[
%% properties
690 value
%% globals
--]]

-- VARIABLEN Konfiguration (Bewegungsmelder muss oben unter %% properties aufgeführt sein) löst die szene aus
-----------------------------------------------------------------------------------------------------------------------------------------
local scene = 264 -- ID dieser Szene
local motion = 690 -- ID des Bewegungssensors
local licht = 692 -- ID Lichtsensor
local switch = 1744 -- ID der Lampe

local nachtstart = 1700 -- 22:00 = 2200
local nachtende = 0100 -- 07:00 = 0700
local starttimer = 10 -- licht an zeit (+ zeit des bewegungssensors - par. 6)
local lichtwert = 5 -- grenze zum nachtmodus (nur ausführen, wenn licht größer als)
-----------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------
---------------------Script-----------------
fibaro:debug("start1")
if (fibaro:countScenes()>1) then
	fibaro:debug("stop scene");
	fibaro:abort();
end

-- SCHALTE LICHT EIN & AUS (wenn nicht nacht)
if (tonumber(fibaro:getValue(motion, "value")) > 0 ) and tonumber(fibaro:getValue(licht, "value")) > lichtwert and (tonumber(os.date("%H%M")) >= nachtstart or tonumber(os.date("%H%M")) <= nachtende) then -- hier fehlt noch "und schalter aus"
 	fibaro:debug("ausgelöst");
	--led auf wert einstellen
	fibaro:call(switch, "turnOn");
	-- timer start und einstellen
	timer = os.time();
	while os.time() - timer < starttimer do
		fibaro:sleep(1000);
		-- Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
		if (tonumber(fibaro:getValue(motion, "value"))) > 0 then
			timer = os.time();
		end
end
	-- Schalte Licht aus, wenn Timer vollständig abgelaufen ist
	fibaro:call(switch, "turnOff");
end
fibaro:debug("ende1");
fibaro:killScenes(scene);

Mit funktionieren meinte ich, dass das Licht sich nicht einschaltet.

Die Meldungen im Debug-Fenster: siehe Datei unten - ich sehe da gar keine Fehlermeldung.

Ich nutze übrigen die 4.160 Firmware.

VG
Dirk

Unbenannt.png

Hi,
ja so sieht das schon viel besser

in der ersten if Abfrage sollte statt:
and tonumber(fibaro:getValue(licht, "value")) > lichtwert

sollte auf kleiner (<) abgefragt werden.
and tonumber(fibaro:getValue(licht, "value")) < lichtwert

Es kann ja nur an der If Abfrage liegen, sonst müsste mehr als nur ‘start1’ und ‘ende1’ erscheinen.

Edit: für den Dimmer auf 25%
fibaro:call(switch, "setValue", 25)

Hi Jeep,

ich danke Dir - es funktioniert.

VG
Dirk

Hi,

also ich hab das Skript ebenfalls im Einsatz, hab aber ein Problem damit das das Licht immer angeht obwohl ich eigentlich im Code eine Bedingung “nur an wenn lux>150” ist.
Das Licht geht aber bei mir immer an sobald Bewegung an einem der 4 Motion Eyes entsteht, egal wie der Lux WErt ist. Kann mir da vielleicht jemand helfen warum der Lux-Wert nicht als Bedingung gezogen/integriert wird (Lux-Bedingung steht in Zeile 27)? Code:

--[[
%% properties
153 value
137 value
148 value
164 value
139 value
%% globals
--]]
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 42 -- ID dieser Szene
local motion1 = 153 -- ID des Bewegungssensors Terrasse 1
local motion2 = 137 -- ID des Bewegungssensors Terrasse 2
local motion3 = 148 -- ID des Bewegungssensors West 1
local motion4 = 164 -- ID des Bewegungssensors West 2
local lux = 139 -- ID der Helligkeit Terrasse 2
local switch = 110 -- ID des Relay Switches Terrasse
-- Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort();
end
-- SCHALTE LICHT EIN & AUS
if (tonumber(fibaro:getValue(motion1, "value")) > 0 )
or (tonumber(fibaro:getValue(motion2, "value")) > 0 )
or (tonumber(fibaro:getValue(motion3, "value")) > 0 )
or (tonumber(fibaro:getValue(motion4, "value")) > 0 )
and (tonumber(fibaro:getValue(lux, "value")) < 150 ) 
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 = 300;
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 und 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(motion1, "value"))) > 0
or (tonumber(fibaro:getValue(motion2, "value"))) > 0
or (tonumber(fibaro:getValue(motion3, "value"))) > 0
or (tonumber(fibaro:getValue(motion4, "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

Hi,
hast Du die Parameter 40 und 42 des Motion Sensors mit der ID 137 geprüft?. Ich vermute nämlich dass der Wert zu selten ans HC2 gesendet wird. Das kannst Du aber ganz genau in der Weboberfläche sehen ob der Wert unter 150 Lux ist.

Hallo jeep,

Danke für den Tip, hab ich mir noch einmal angeschaut. Passt aber alles Par 40 bei 200 Lux und Par 42 bei 1800 Sekunden. Habs auch einmal anders eingestellt, macht aber keinen Unterschied. Hab schon gesehen, das ich in dne Properties auch ID für den Helligkeitssensor drin hatte und hab das dort rausgenommen. Ändert aber leider nix daran, das das Licht unabhägig vomn Lux-WErt immer angeht.

Gruß

@buche11,
jede halbe Stunde ein Ilumination Report empfinde ich schon als zu lange. Meine MS senden den Report spätestens nach 5 Min. (Par. 42 bei 600) oder bei LUX Änderung (Par. 40) bei 10 LUX. Hast Du geprüft ob es nicht eine direkte Assoziation in einem der MS gibt und das Licht deshalb angeht?

Hi Jeep,
eine direkt Assoziation gab es nicht. Durch weiteres herumprobieren bin ich aber auf eine Lösung gekommen. Vielleicht nicht die “kürzeste Variante” aber Sie funktioniert erst einmal gut. Ich musste um es zum Laufen zu bringen die Bedingung in Zeile 21 & 22 für jeden Motionsensor einzeln anlegen. Nur die Bedinung “Wenn Bewegung dann…” für die einzelnen Sensoren hat jja nciht funktioniert. Sobald ich dort noch die Helligkeitsbedigung und die Schalterbedingung ergänzt habe hat es funktioniert. ERschließt sich mir als Laier gerade noch nicht warum aber es klappt:

--[[
%% properties
137 value
153 value
148 value
164 value
%% globals
--]]
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 50 -- ID dieser Szene
local motion1 = 137 -- ID des Bewegungssensors Terrasse 2
local motion2 = 153 -- ID des Bewegungssensors Terrasse 1
local motion3 = 148 -- ID des Bewegungssensors West1
local motion4 = 164 -- ID des Bewegungssensors West2
local switch = 110 -- 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(motion1, "value")) > 0 )
  and ( fibaro:getGlobalValue("Aussenhelligkeit") == "Dunkel" ) and (tonumber(fibaro:getValue(switch, "value"))) < 1
or (tonumber(fibaro:getValue(motion2, "value")) > 0 )
  and ( fibaro:getGlobalValue("Aussenhelligkeit") == "Dunkel" ) and (tonumber(fibaro:getValue(switch, "value"))) < 1
or (tonumber(fibaro:getValue(motion3, "value")) > 0 )
  and ( fibaro:getGlobalValue("Aussenhelligkeit") == "Dunkel" ) and (tonumber(fibaro:getValue(switch, "value"))) < 1
or (tonumber(fibaro:getValue(motion4, "value")) > 0 )
  and ( fibaro:getGlobalValue("Aussenhelligkeit") == "Dunkel" ) 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 = 300;
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(motion1, "value"))) > 0
or (tonumber(fibaro:getValue(motion2, "value"))) > 0
or (tonumber(fibaro:getValue(motion3, "value"))) > 0
or (tonumber(fibaro:getValue(motion4, "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

Hallo,

ich habe ja schon seit längerem eine abgeänderte Version des Skripts am Laufen, ich habe aber noch ein Problem. Spät am Abend wird das Licht nicht mehr eingeschaltet. Habe schon probiert den Fehler zu finden, komme aber nicht drauf. Vielleicht findet jemand der sich besser auskennt, das Problem? Wäre toll.

Hier mal das Skript, wie es bei mir läuft

--[[
%% properties
130 value
%% globals
--]]
 
-- Configuration of variables (id of motion sensor must be entered under %% properties above---------------------------------------------------------------------------------------------------------------------
local scene = 40 -- ID of this scene
local motion = 130 -- ID motion sensor
local switch = 29 -- ID of lamp
-- local switch2 = 152 -- ID of 2nd lamp
 
local corrSunset = 60 -- 60 = 1h before sunset lights will turn on ( -60 = 1h after sunset)
local corrSunrise = 60 -- 60 = until 1h after sunrise lights will turn on ( -60 = 1h before sunrise)
local starttimer = 30 -- time in s, the lights stay on (+ time set in motion sensor - par. 6)
-----------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------
---------------------Script-----------------
local sunset = fibaro:getValue(1, "sunsetHour")
local sunrise = fibaro:getValue(1, "sunriseHour")

fibaro:debug("start1")
if (fibaro:countScenes()>1) then
	fibaro:debug("stop scene");
	fibaro:abort();
end
 
-- SWITCH LIGHT ON/OFF (if not day)
if (tonumber(fibaro:getValue(motion, "value")) > 0 ) and os.date("%H:%M", os.time()+corrSunset*60) >= sunset or os.date("%H:%M", os.time()-corrSunrise*60) <= sunrise then -- hier fehlt noch "und schalter aus"
 	fibaro:debug("ausgelöst");
	--Turn Light(s) on
	fibaro:call(switch, "turnOn");
    --fibaro:call(switch2, "turnOn");
	-- timer start und configure
	timer = os.time();
	while os.time() - timer < starttimer do
		fibaro:sleep(1000);
		-- set timer to zero if another motion is detected during delay (set in starttimer)
		if (tonumber(fibaro:getValue(motion, "value"))) > 0 then
			timer = os.time();
		end
end
	-- turn off Light(s) once timer countdown reaches zero
  	fibaro:call(switch, "turnOff");
    -- fibaro:call(switch2, "turnOff");
end
fibaro:debug("ende1");
fibaro:killScenes(scene);

ich nehme an, das Problem tritt dann auf, wenn die aktuelle Zeit +60 Minuten darauf herausläuft, dass das in den nächsten Tag fällt, oder? also ab 23:01 ?

00:01 ist dann eben nicht mehr größer-gleich Sonnenuntergang. Hat jemand eine Idee, wie man das Problem umschiffen kann?

Um das Problem zu umgehen habe ich eine Globale Variable (hoffe da hau ich jetzt keine Begrifflichkeiten durcheinander) “dayornight” erstellt, die von 2 weiteren Szenen 60min vor Sonnenuntergang auf “night” und 60 min nach Sonnenaufgang auf “day” umgestellt wird.

Jetzt frage ich nur noch ab ob Tag oder Nacht ist und umgehe so die (problematische) Rechnerei.

Das Skript läuft durch, heute Abend weiss ich mehr :stuck_out_tongue:

Hier nochmal das geänderte Skript.


--[[
%% properties
130 value
%% globals
--]]
 
-- Configuration of variables (id of motion sensor must be entered under %% properties above---------------------------------------------------------------------------------------------------------------------
local scene = 48 -- ID of this scene
local motion = 130 -- ID motion sensor
local switch = 29 -- ID of lamp
-- local switch2 = 152 -- ID of 2nd lamp
local dayornight = fibaro:getGlobalValue("dayornight")
 
local starttimer = 30 -- time in s, the lights stay on (+ time set in motion sensor - par. 6)
-----------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------
---------------------Script-----------------

fibaro:debug("start1")
if (fibaro:countScenes()>1) then
	fibaro:debug("stop scene");
	fibaro:abort();
end
 
-- SWITCH LIGHT ON/OFF (if not day)
if (tonumber(fibaro:getValue(motion, "value")) > 0 ) and dayornight == "night" then
	--Turn Light(s) on
	fibaro:call(switch, "turnOn");
    --fibaro:call(switch2, "turnOn");
	-- timer start und configure
	timer = os.time();
	while os.time() - timer < starttimer do
		fibaro:sleep(1000);
		-- set timer to zero if another motion is detected during delay (set in starttimer)
		if (tonumber(fibaro:getValue(motion, "value"))) > 0 then
			timer = os.time();
		end
end
	-- turn off Light(s) once timer countdown reaches zero
  	fibaro:call(switch, "turnOff");
    -- fibaro:call(switch2, "turnOff");
end
fibaro:debug("ende1");
fibaro:killScenes(scene);

Bei mir hat sich jetzt ein neues Problem ergeben, das Script läuft als “Treppenbeleuchtung” und der Sensor hängt am oberen Ende, die Erkennung am Fuß der Treppe funktioniert mehr schlecht als recht, deshalb wollte ich einen zweiten Sensor hinzufügen.

Nun geht das Licht aber auch tagsüber an und zwar nicht wenn einer der Sensoren das erste Mal Bewegung erkennt, sondern erst nachdem einige Male Bewegung festgestellt wurde. (Seh ich ja, bei mir blinken die Dinger noch, bis das verlässlich läuft). Könnt ihr mal schauen ob ihr den Fehler findet? Ich komme nicht drauf… habe auch schon mal mit dem Script weiter vorne hier im Thread verglichen, wo jemand ein angepasstest Script für 2 Sensoren gepostet hatte.

So schauts jetzt aus:


--[[
%% properties
130 value
170 value
%% globals
--]]
 
-- Configuration of variables (id of motion sensor must be entered under %% properties above---------------------------------------------------------------------------------------------------------------------
local scene = 48 -- ID of this scene
local motion = 130 -- ID motion sensor
local motion2 = 170 -- ID 2nd motion sensor
local switch = 29 -- ID of lamp
-- local switch2 = 152 -- ID of 2nd lamp
local dayornight = fibaro:getGlobalValue("dayornight")
 
local starttimer = 30 -- time in s, the lights stay on (+ time set in motion sensor - par. 6)
-----------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------
---------------------Script-----------------

fibaro:debug("start1")
if (fibaro:countScenes()>1) then
	fibaro:debug("stop scene");
	fibaro:abort();
end
 
-- SWITCH LIGHT ON/OFF (if not day)
if (tonumber(fibaro:getValue(motion, "value")) > 0 ) or (tonumber(fibaro:getValue(motion2, "value")) > 0 )and dayornight == "night" then
	--Turn Light(s) on
	fibaro:call(switch, "turnOn");
    --fibaro:call(switch2, "turnOn");
	-- timer start und configure
	timer = os.time();
	while os.time() - timer < starttimer do
		fibaro:sleep(1000);
		-- set timer to zero if another motion is detected during delay (set in starttimer)
		if (tonumber(fibaro:getValue(motion, "value"))) > 0 or (tonumber(fibaro:getValue(motion2, "value"))) > 0 then
			timer = os.time();
		end
end
	-- turn off Light(s) once timer countdown reaches zero
  	fibaro:call(switch, "turnOff");
    -- fibaro:call(switch2, "turnOff");
end
fibaro:debug("ende1");
fibaro:killScenes(scene);

Hallo D4RK1,

das ist recht einfach.

if (tonumber(fibaro:getValue(motion, "value")) > 0 ) or (tonumber(fibaro:getValue(motion2, "value")) > 0 )and dayornight == "night" then

Diese IF-Abfrage prüft, ob der erste Sensor ausgelöst wurde ODER der zweite Senor ausgelöst und dayornight auf Night steht. Du möchtest aber prüfen, ob einer der Sensoren ausgelöst hat UND dayornight auf Night steht. Es fehlen schlicht zwei Klammern um das zu erreichen.

if ((tonumber(fibaro:getValue(motion, "value")) > 0 ) or (tonumber(fibaro:getValue(motion2, "value")) > 0 )) and dayornight == "night" then

Cleverer wäre es allerdings auf die Prüfung der Sensoren zu verzichten, denn die Szene wird ohnehin nur durch die beiden Motion Sensoren getriggert. So könntest Du dieselbe Szene auch von außen starten um zum Beispiel bei Bedarf auch tagsüber das Licht einzuschalten.

Grüße
René

Hallo René,

vielen Dank für deine Hilfe. So einfach kann es sein. Also das mit den Klammern war mir gar nicht bewusst (wie so vieles ^^). Dein Tipp mit der Prüfung ist auch interessant, was meinst du mit “von aussen starten”?

Dankbare Grüße, Jens

Hallo Jens,

da Du in der Szene den Status der Motionsensoren abfragst, wird das Licht nur eingeschaltet, wenn einer der beiden Sonsoren ausgelöst ist. So weit so gut.
Jetzt stelle Dir folgendes Szenario vor: Ein warmer Sommerabend 20 Uhr, es starkes zieht ein Gewitter und es wird plätzlich dunkel. Gehst Du jetzt ins Treppenhaus, bleibt es dunkel, weil die Variable dayornight ja auf “day” steht. Nun könntest Du die Szene mit einem Taster starten und dabei auf die Prüfung der Motionsensoren und der Variable verzichten, dafür aber prüfen wer die Szene gestartet hat und das entsprechend berücksichtigen.

Grüße
René

ok… kannst du mir eigentlich erklären, was da vorher das Problem war? Wieso hat er denn das Licht angemacht obwohl “day” war? Ich versteh im Prinzip was er jetzt macht (also einer der Sensoren ausgelöst UND “night”) aber wie hat er das vorher interpretiert?

Weil er hat ja nicht direkt beim ersten mal Bewegung reagiert, sondern irgendwie immer erst nach mehreren Bewegungen? Würde gerne genau verstehen was da schiefgelaufen ist, damit ich künftig solche Sachen vermeiden kann.

Gruß, Jens

Hi Jens,

das Problem war, dass Deine alte Bedingung folgendes geprüft hat:

if (tonumber(fibaro:getValue(motion, "value")) > 0 ) or (tonumber(fibaro:getValue(motion2, "value")) > 0 ) and dayornight == "night" then

  1. Wenn Sensor Motion > 0
    ODER
  2. Sensor Motion2 > 0 und Variable = Night

Die neue Bedingung prüft nun:
if ((tonumber(fibaro:getValue(motion, "value")) > 0 ) or (tonumber(fibaro:getValue(motion2, "value")) > 0 )) and dayornight == "night" then

  1. Wenn Sensor Motion oder Sensor Motion2 > 0
    UND
  2. Variable = Night

Durch die fehlenden Klammern hat sich der komplette Sinn der Bedingung verändert.

jetzt versteh ich wieso es auch am Tag anging, aber wieso erst nach mehrmaligem Feststellen von Bewegung? Hätte es dann nicht sofort angehen müssen?

Hi Jens,

lässt sich schwer sagen, warum es das nicht getan hat. Dem Code nach hätte es bei Bewegung an Motion gleich angehen müssen, bei Motion2 natürlich nicht, denn hier passte die Bedingung ja.

Grüße
René

Hallo Forum!

Ich habe mir diese Szene mal etwas umgebaut, um damit Philips HUE Leuchten zu steuern. Das sieht dann so aus:

--[[ 
%% properties
68 value
%% globals
TimeOfDay
--]]
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 57 -- ID dieser Szene
local motion = 68 -- ID des Bewegungssensors
 	 

-- Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort(); 
end

-- SCHALTE LICHT EIN & AUS
if (fibaro:getGlobalValue("TimeOfDay") == "Evening") and (tonumber(fibaro:getValue(motion, "value")) > 0 )  then

  
  	fibaro:call(63, "turnOn")
	fibaro:call(63, "changeSaturation", 255)
	fibaro:call(63, "changeBrightness", 170)
	fibaro:call(63, "changeHue", 6446);    
    
    
    fibaro:call(61, "turnOn")
	fibaro:call(61, "changeSaturation", 255)
	fibaro:call(61, "changeBrightness", 170)
	fibaro:call(61, "changeHue", 6446);
    
    fibaro:call(62, "turnOn")
	fibaro:call(62, "changeSaturation", 255)
	fibaro:call(62, "changeBrightness", 255)
	fibaro:call(62, "changeHue", 65386);
  
  
fibaro:debug("Schalte Licht ein");
end
-- Verzögerung in Sekunden nach der letzten erkannten Bewegung, bevor das Licht ausgeschaltet wird

local starttimer = 1800;
local timer = (starttimer); 
fibaro:debug("Starte Timer");
  
repeat
fibaro:sleep(1000); 

timer=timer-1; 
-- Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
if (tonumber(fibaro:getValue(motion, "value"))) > 0  and (fibaro:getGlobalValue("TimeOfDay") == "Evening") 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(61, "turnOff")
  fibaro:call(62, "turnOff")
  fibaro:call(63, "turnOff");

fibaro:debug("Timer abgelaufen/Schalte Licht aus");

fibaro:killScenes(scene);

Ich möchte, dass diese Szene nur läuft, wenn die Variable TimeOfDay = Evening ist. Leider bleiben die Lampen aber an, wenn TimeOfDay auf Night wechselt.

Außerdem habe ich den Eindruck, dass die Szene mir die Lichter nach einer halben Stunde ausschaltet, wenn ich diese außerhalb von TimeOfDay = Evening eingeschaltet habe. Das soll sie aber nicht.

Kann mir da jemand weiter helfen?

Vielen Dank!