3 Kommentare

Fibaro HomeCenter und die Instanzen einer Szene – Das müsst Ihr wissen

von am19. Januar 2016 (geändert am 19. Februar 2016)
 

Mit dem Beta-Update 4.058 hat Fibaro eine neue Funktion veröffentlicht, die eine mehrfache Ausführung von Szenen verhindern soll. In diesem Artikel erklären wir euch, was Ihr darüber wissen solltet.

Auf den ersten Blick könnte man meinen, dass Fibaro hier eine Funktion in die Firmware gebaut hat, die das System nicht verbessert, sondern verschlechtert. Dies ist natürlich nicht der Fall; die Funktion macht Sinn, wenn man sich die Hintergründe genau anschaut.

Viele Nutzer haben sich Blockszenen gebaut, mit denen Sie ein Licht einschalten, wenn eine Bewegung erkannt wurde und nach einer bestimmten Zeit wieder ausschalten. Diese sieht zum Beispiel so aus:

Wenn wir diese Szene jetzt mal in LUA umwandeln, erhalten wir folgenden Code:

Wir erkennen an dem Skript, dass hier ein setTimeout von 600.000 Millisekunden gesetzt wird. Das Skript wartet an dieser Stelle also immer 600 Sekunden, bevor die Lampe ausgeschaltet wird und sich das Skript beendet. Und genau hier ist auch das Problem:

Wenn der MotionSensor jetzt so konfiguriert ist (Parameter 6 – Zeit, nachdem der MotionSensor wieder den Status sicher meldet; Standart: 30 Sek), dass dieser in diesen 600 Sekunden Timeout mehrere Male den Status (sicher, ausgelöst) ändert, dann wird die Szene immer und immer wieder durch den Motion getriggert.

Problem

Als es die Instanzen-Funktion noch nicht gab, hätte sich dieses Szenario immer weiter aufschauckeln können. Schauen wir uns dazu mal ein Beispiel an:

  • 5 Räume
  • in jedem Raum 2 MotionSensoren (Standart-Einstellung)
  • in jedem Raum 1 Lampe

Wir würden uns die Szenen so einrichten, dass eine Szene, welche von den 2 MotionSensoren im jeweiligen Raum getriggert wird, die Lampe einschaltet und nach 600 Sekunden wieder ausschaltet.

Das macht dann insgesamt 5 Szenen, um die Lampen anhand der Bewegung ein- und wieder auszuschalten. Jeder MotionSensoren kann die Szenen bis zu 20x triggern (600 Sekunden wartet das Skript, MotionSensor ändert nach 30 Sekunden den Status) bevor die erste Instanz wieder beendet wird. Ergo: 2 MotionSensoren x 5 Szene x 20 = 200 mögliche Instanzen (im schlimmsten Fall)

Wenn wir jetzt annehmen, dass jede Szene eigentlich nur einmal laufen muss, dann sind 195 Instanzen (97,5 % !!!) unnötig.

Fibaro wird aber bei diversen Fernwartungen hier deutliches Verbesserungspotential gesehen haben, weshalb sie dies so umgesetzt wurde. Dieses Beispiel ist natürlich sehr theoretisch und soll nur das grundsätzliche „Problem“ darstellen.

Lösung

Lösung ist hier in „“ zu setzen, da es sich ja nicht wirklich um ein Problem handelt. Fibaro hat ja die Möglichkeit geschaffen, Szenen bis zu 10x nebeneinander ausführen zu lassen und das reicht auch um Längen, wenn alles richtig konfiguriert ist. Um die Meldung „too many instances“ zu vermeiden, müsst Ihr den Parameter 6 von euren MotionSensoren erhöhen (Bei 60 Sekunden Timeout nicht weniger als 40 Sekunden), so dass die Szene nicht zu oft getriggert wird und die Zahl der möglichen Instanzen erhöhen.

Ihr benötigt zum Beispiel für eine Autostart-Szene, welche eure Rollläden morgens hoch und abends runterfahren soll, nur eine Instanz, da diese Szene nur einmal laufen muss. Soll eine Szene durch mehrere Trigger ausgelöst werden, so ist es ratsam die Instanzen anhand der Trigger zu wählen. Sollte dann im laufenden Betrieb weiterhin die Meldung „too many instances“ auftreten, dann kann die Anzahl der Instanzen langsam um eine nach oben geschraubt werden.

Ein Patentrezept existiert hier leider nicht.

parameter_6

Parameter 6 des MotionSensor

Wenn Ihr im Besitz eines Fibaro HomeCenter 2 seid, dann möchten wir euch an dieser Stelle auf den Artikel „Die perfekte Lichtsteuerung“ aufmerksam machen. Mit diesem könnt Ihr die Meldung komplett verhindern. Solltet Ihr zu dem Thema noch Fragen haben, oder weitere Anregungen, Erfahrungen beisteuern, so würden wir uns über deine Kommentare freuen.

 

Hinterlasse eine Antwort