Szene umgehen

Hallo jungs, verwende für unser Vorraum Licht ein Szene mit der das Licht bei bewegung eingeschaltet wird und so lange bewegung da ist auch anbleibt.
Das funktioniert ja auch wunderbar.

Seit einer woche ist unsere zweite tochter auf die Welt gekommen und meine Frau hat gleich etwas zu bemängeln.

Und zwar möchte sie (was ich auch verstehe) wenn sie in der nacht aufsteht um die Kleine zu füttern nicht das Licht im schlafzimmer einschalten sondern das im Vorraum (Tür ist immer offen).

Sie schaltet das Licht ein und es dreht sich nach 60sekunden aus, und genau da ist das Problem es soll leuchten bis sie es dann wieder ausschaltet.

ist das irgendwie machbar?

verwende das script derzeit:

--[[ 
%% properties 
102 value
15 value
%% globals 
--]]
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 4 -- ID dieser Szene
local motion = 102 -- ID des Bewegungssensors
local switch = 15 -- ID des Relay Switches
-- Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then 
 fibaro:abort(); 
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 = 60;
 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

Hi,

du musst den Trigger abfragen. Wenn der Trigger der Relais ist, dann soll das Licht eingeschaltet bleiben, solange die Szene wieder durch das Relais getriggert wird und dann der Gegenzustand geschaltet wird.

Gruß

ich steh jetzt aufm schlauch???

wie meinst du das genau? diese szene wird doch vom relais getriggert. sry checks nciht

Ich kenn die Szene nicht. Aber so wie du es beschreibst funktioniert es ja anscheinend nicht, weshalb ich dir einen Lösungansatz gegeben habe :wink:

Das Relais ist da im übrigen nur drin, um ein manuelles Ausschalten zu realisieren.

Gruß

Ich kann in der Szene überhaupt keinen Befehl sehen der das Licht einschaltet. Gibt es eventuell eine direkte Assoziation und wenn ja warum? Das könnte doch alles das Script machen.

Das licht schalte ich über eine weitere blockszene, entweder am licht schalter oder durch bewegung am abend über die block szene.

boomx, ich glaube du hast mich nicht verstanden oder ich mich zu blöd ausgedrückt.

Die szene oben funktioniert ja, sie tut ja auch was sie soll.

Ich möchte nur irgendwie die szene (wenn meine Frau es braucht) um gehen damit das licht länger als 60sekunden an bleibt

Man kann mit LUA eine Szene disablen.

Über sowas solltest du dir aber erst Gedanken machen, wenn du dir ein Konzept überlegt hast. Das ist nämlich derzeit nicht vorhanden.

Woher soll das Skript denn erkennen, ob es jetzt über Bewegung oder manuell eingeschaltet wurde? Kann der Aktor sceneActivation/CentralSceneEvent? Dann könnte man es über ein Doppelklick oder ähnliches umgehen.

Gruß