Doppelte Szenen löschen

Hi Ihr Lieben,
Ich habe in vielen Skripten den Befehl:
if (fibaro:countScenes()>1) then fibaro:abort() end
drinnen.
Grubndsätzlich habe ich ihn verstanden, aber da ich in diversen Skripten immer wieder seltsames verhalten beobachte würde ich dazu gerne genaueres wissen.
1.)
Wenn ich im Skript eingestellt habe dass es 1 x aufgerufen werden darf und in der Codezeile dann wie oben “>1” drinnen habe
Was GENAU passiert?
Nach meinem Verständnis sollte das aktuell laufende Skript weiterlaufen und das ZWEITE Skript abgebrochen werden, richtig?

2.)
Wann macht es Sinn einem Skript die Möglichkeit zu geben MEHRMALS zu laufen ?
Nach meinem Verständnis wäre es bei Fernbedienungen sinnvoll, wenn man in kurzem Abstand mehrere unterschiedliche Tasten drückt, oder??
3.)
Macht es Sinn JEDES Lua Skript mit diesem Prüfbefehl auszustatten?

Hi pblacky,

ich denke es kommt ganz auf das Script an und was es im weiteren Verlauf macht oder auslöst. Auch was der Trigger ist, kann eine Rolle spielen. Z.B. würde man einem Zähler eines Ereignisses sicher mehr Instanzen erlauben, wenn der Trigger schnell nacheinander kommen kann. Oder wenn ein analoger Wert zum Triggern verwendet wird und in der Szene Wartezeiten vorhanden sind, muss man evtl. auf mehrere Instanzen zurückgreifen, da sonst eine Wertänderung nicht registriert werden würde.
Wenn jedoch in der Szene Aktionen durchgeführt werden, die zu Kollisionen führen, darf nur eine Szene laufen. Z.B. deine Ausschaltszene wo viele Geräte angesprochen werden. Hier ist vielleicht das Problem, dass durch den Tastendruck mehrere Trigger ausgelöst werden, die dann quer laufen. Hast Du mal geschaut, ob Drücken und Loslassen separate Ereignisse auslösen? Das könnte eine Erklärung für die Probleme sein.
Ein weiteres Beispiel wo es nicht sinnvoll ist, ist die TimeOfDay Szene, die ja ständig läuft. Wenn die aus Versehen mehrmals per Hand gestartet wird, ist dies sicher nicht gut, um es mal vorsichtig auszudrücken. In dem Fall kann man es aber in der Szene direkt unter maximale Instanzen einstellen.

Bei den meisten Szenen habe ich die Abfrage drin. Bei einer, wo z.B. die Entfernung eines Handys registriert wird, nicht. Da habe ich festgestellt, dass die Entfernungen sehr schnell nacheinander eintreffen und ich evtl. einen wichtigen Wert verpasse, wenn ich weitere Instanzen kille. Im Übrigen funktioniert das mit der Entfernung in letzter Zeit sehr schlecht aber das hat wohl andere Gründe.

Ich würde mir den Trigger sehr genau im Debugg oder in der Ereignisanzeige anschauen und überlegen wie ich darauf reagieren muss.

Danke Ändy für deine ausführliche Antwort!!
Ich habe aufgrund deiner Infos mal alle Szenen durchgeforstet und viele auf “1 x laufen” gesetzt.
Bin gespannt ob sich das irgendwie auswirkt :wink: