Ich habe eine kleine Scene, die allerdings nicht richtig funktioniert, ich erhalte immer die Meldung “to many Instance” auch wenn ich bereits die max. instance auf 4 erhöht habe.
Kann mal einer drauf schauen, ob ich da was falsch gemacht habe.
--[[
%% properties
428 value --ID eines Strip an der Tür
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(428, "value")) > 0 --Terassentür auf
and fibaro:getGlobalValue("TimeOfDay") == "Evening" --und ToD = Abend
or fibaro:getGlobalValue("TimeOfDay") == "Night" ) --oder Nacht
or
startSource["type"] == "other"
)
then --dann
fibaro:startScene(155); --schaltet Gartenkamera Überwachung aus
fibaro:call(130, "turnOn"); --schaltet Gartenlampe an
else
fibaro:startScene(155); --schaltet Gartenkamera Überwachung aus
end
Ich danke Euch und schöne Feiertage
Gruß secundani
auf den ersten Blick sieht alles gut aus. Ich vermute es hängt mit dem Aufruf der anderen Szene zusammen: fibaro:startScene(155);
Falls diese erst abgearbeitet werden muss und Verzögerungen in Form von Delay o.ä. enthält, kann es wohl dazu kommen. Prüf mal ob die Szene 155 ohne Verzögerung abgearbeitet wird. Ggf. hier posten.
der startScene Befehl triggert lediglich die andere Szene. Da wird auf nichts gewartet.
Es wird am Trigger dieser Szene hier liegen der mehrfach aufgerufen wird.
das ist eine gute Frage. Hängt natürlich auch von der Tür ab, aber allein das Öffnen und Schließen der Tür sind schon zwei Trigger. Beim Rest kann ich nur Vermutungen anstellen. Eine klemmende Tür, ein ungünstig angebrachter Magnet…irgend sowas wird es sein.
Passiert bei mir auch gelegentlich wenn die Tür nicht gleich einschnappt und nochmal geschlossen wird. Du könntest ja mal ein paar Debugs einbauen um das zu erkennen.
Oder vielleicht mit
--[[
%% killOtherInstances
...
probieren. So wird eine vorher laufende Instanz beendet und nur die aktuelle ausgeführt.