Ständig Probleme mit number of instances

Hallo zusammen,

ich bin am Verzweifeln, da alle 2-3 Tage eine Szene mit “too many instances” aussteigt, obwohl ich im Script eine doppelte Szene löschen lasse.
Die max. ausgeführte Instanzen stehen auf 2.

Der Code ist wie folgt:

--[[
%% properties
308 value
%% events
%% globals
--]]

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

local Tuersensor = 308
local Rolladen = 57
local rgb = 128 -- LED-Schlauch Ankleide --
local Dauer = 60000 -- wie lange Lampe anbleiben soll in ms--

local rgbValue = tonumber(fibaro:getValue(rgb, "value"));
local rgbValue1 = tonumber(fibaro:getValue(rgb, "brightness"));
local rgbValue2 = tonumber(fibaro:getValue(rgb, "r"));
local rgbValue3 = tonumber(fibaro:getValue(rgb, "g"));
local rgbValue4 = tonumber(fibaro:getValue(rgb, "b"));

fibaro:debug(rgbValue)
fibaro:debug(rgbValue1)
fibaro:debug(rgbValue2)
fibaro:debug(rgbValue3)
fibaro:debug(rgbValue4)

if (tonumber(fibaro:getValue(Rolladen, "value")) ~= 1) then
  fibaro:debug("Rolläden sind nicht komplett geöffnet")

if  (tonumber(fibaro:getValue(Tuersensor, "value")) > 0 )

    then
fibaro:debug("Tür geöffnet")    

fibaro:call(rgb, "turnOn")
      fibaro:debug("LED an")
      fibaro:sleep(Dauer)
      fibaro:call(rgb, "turnOff")
      fibaro:debug("LED aus")
    end
  end

ID 308 ist ein Türsensor.
Wenn du Tür geschlossen war und aufgeht und der Rollladen (ID 57) nicht komplett auf ist, dann soll der LED-Schlauch (ID 128) für 60s angehen.
Das funktioniert auch.
Dennoch hatte ich gerade eben wieder die Meldung: Number of instances of scene has been reduced due to exceeding limit.

Ich verstehe es nicht.

Kann mir jemand helfen?

Vielen Dank.

Gruß
Daniel

Hallo!

Theoretisch klar aber leider wirklich schwer zu erklären. Die Meldung: “Number of instances of scene has been reduced due to exceeding limit.” kann in deinem Fall eigentlich nur auftreten, wenn in dem 60 sec. Fenster die Tür mehrfach geöffnet und geschlossen wird. Die Szene bleibt ja erstmal mim. 60 Sek aktiv. Stell mal die Max Instanzen auf min. 3.! Den Kill Befehl lässt du auf 1. Und Füge mal bitte ein Debug im Killer ein. Dann kann man sehen ob der oder das Fibaro Interface eingreift!
Ich frage mich allerdings, warum die RGB Values ausließt, wenn du sie hinterher nicht mehr benutzt? Die werden ja nur debugged.

--------------------------------------------------------------------------------
fibaro:debug(" Starte Szene ")
if fibaro:countScenes() > 1 then
fibaro:debug(" Szene wird beendet - zu viele Instanzen ")
fibaro:abort()
end
--------------------------------------------------------------------------------

Gruß
DeMaulwurfn

Hallo,

vielen Dank. Probiere ich aus.

Verstehen tue ich das trotzdem nicht. Und das Problem tritt bei mir in einigen Szenen auf die durch einen Türsensor oder Bewegungsmelder getriggert werden, seltsamerweise auch bei Fernbedienungen, wenn die Taste zu häufig im kurzen Abstand gedrückt wird.

Eigentlich sollte die Szene doch beim zweiten Ausführen durch den Bewegungsmelder, sofern die erste noch läuft, durch die Schleife abgebrochen werden?
Ich gebe mal Rückmeldung, wenn ich den Debug umgesetzt habe und es entsprechend getestet habe (wird wahrscheinlich Wochenende).

Gruß
Daniel

Hallo Daniel,

hast Du das Problem mittlerweile in den Griff bekommen? Ich habe das gleiche Phänomen nämlich ebenfalls, obwohl ich in jedem Skript oben zunächst die Szene aborten lasse. Die “Max. running instances” stehen mittlerweile auch bereits alle auf 3, da ja schon durch den Start der Szene (noch bevor das abort überhaupt greifen kann) die Szene ja bereits läuft.

Mittlerweile schaue ich schon nur noch selten in das Notification Center rein, weil ich ja beriets weiß was drin steht. Wirklich wichtige Meldungen würde ich dadurch natürlich erst sehr viel später feststellen.

Viele Grüße
Jörg