Nochmal Instanzen...

Hallo.Ich muss nochmal fragen wegen der "to many Instanzen " …
Artikel hab ich gelesen… Versprochen…
Benutze das Script Licht an solange Bewegung. 1Motionsensor im Flur unten , ein Aeon Sensor draußen. Schalten bei Sonnenuntergang das Licht für 5 Minuten an, dann wenn keine Bewegung mehr- aus oder Timer startet neu. Läuft auch - bekomme aber to many instanc Fehler. Habe beim Motion sensor Parameter 6 auf 200 gestellt ( nach meiner Interpretation des Artikels) und in der Scene die Istanzen auf drei gestellt… Jetzt löst bzw. zeigt mir der Motionsensor aber keine Bewegungen mehr im Flur an . Ist das so richtig ? Also auch Tagsüber erkennt er es nicht mehr 1:1 …
Kann man die vielen Instancen nicht im Script irgendwie mit einem Befehl unterbinden… ? Ich verstehs nicht… Gruß

Hi,

du schaltest das Licht mit %autostart und den beiden values der MS? Dann benötigst du 4 Instanzen. Ansonsten versteh ich die Frage nicht. Was genau hat da jetzt der Parameter 6 mit zu tun? Der Aeon hat den Parameter sicherlich nicht. Der müsste dann auch angepasst werden.

Gruß

Hallo boomix. In dem Artikel steht doch das man den Parameter anpassen sollte wenn man eine Zeitgesteuerte Szene damit laufen hat ?
Habs gestern noch auf 4 Instanzen gestellt, aber trotzdem noch die Meldung bekommen…

Hier mal das Script…

--[[ 
%% properties
51 value
130 value
45 value
43 value
41 value
%% globals 
TimeOfDay
--]]
if (fibaro:countScenes() > 1) then
  fibaro:abort()
end

local startSource = fibaro:getSourceTrigger();
if (
 ( fibaro:getGlobalValue("TimeOfDay") == "Evening" ) or (fibaro:getGlobalValue("TimeOfDay") == "Night")
)
then  
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 19 -- ID dieser Szene
local value = 51 -- ID des 1. Bewegungssensors Flur unten
local value = 130 -- ID des 2. Bewegungssensors Haustür
local value = 45 -- ID des 3. Bewegungssensors Veranda
local value = 43 -- ID der Lampe Veranda links
local value = 41 -- ID der Lampe Veranda rechts
-- Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort(); 
end
-- SCHALTE LICHT EIN & AUS
if (tonumber(fibaro:getValue(51, "value")) > 0 )  and (tonumber(fibaro:getValue(130, "value")) > 0 ) or (tonumber(fibaro:getValue(45, "value")) > 0 ) then
fibaro:call(43, "turnOn");
fibaro:call(41, "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(43, "value")) and (tonumber(fibaro:getValue(41, "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(202, "value")) and (tonumber(fibaro:getValue(204, "value"))) < 1 ) then
timer=1; 
fibaro:call(43, "turnOff"); 
fibaro:call(41, "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(51, "value"))) > 0 or (tonumber(fibaro:getValue(130, "value"))) > 0 or(tonumber(fibaro:getValue(45, "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(43, "turnOff");
fibaro:call(41, "turnOff");
fibaro:debug("Timer abgelaufen/Schalte Licht aus");
fibaro:killScenes(scene); 
end

end

Hast du einen Tipp ? Gruß

Hi…

die Szene kann nur 2 Instanzen haben, also musst du den Wert auf 3 setzen.

Sollte das nicht funktionieren, dann leg die Szene mal neu an.

Gruß

Hmm, was muss ich den verändern ?

Die Szene kann durch 6 Auslöser gestartet werden. Passiert dies genau zeitgleich kommt es zu dem Instanzenproblem, weil die Szene so schnell nicht abgebrochen werden kann. Die Szene läuft wie gesagt maximal 2 mal.