Website-Icon Dein Smart Home Blog

BUGFIX! - So programmierst du deinen Rauchalarm

Wir hatten euch erst letztens ein neues Rauchalarm Skript zur Verfügung gestellt. Dies haben wir nochmals aktualisiert, da in einer bestimmten Konstellation ein Fehler die korrekte Ausführung des Skriptes verhindert hat. Uns war es wichtig, dass das Skript ordnungsgemäß bei euch funktioniert, weshalb wir uns dazu entschlossen haben, diesen kleinen Bugfix-Artikel zu veröffentlichen.

Der oben genannte Fehler erfolgte durch einem Neustart des Fibaro HomeCenter 2, bei dem dann in der Folge der Wert der erstellten Variablen nicht korrekt zurückgeschrieben wurde. Der Wert der Variablen war dann „NaN“ (Not a Number). Mit diesem Wert konnte das Skript in seiner bisherigen Form leider nichts anfangen und das Skript lieferte dadurch immer ein falsches Ergebnis.

Diese Konstellation wird jetzt in dem neuen Skript abgefangen und Ihr werdet über diesen Umstand in dem Debug-Fenster der Szene informiert. Sollte dies bei euch passieren, dann müsst Ihr die Szene einmalig manuell ausführen. Der Wert der Variablen wird dann korrigiert. Das bedeutet allerdings, dass Ihr die Szene regelmäßig kontrollieren müsst (Zumindest nach einem Neustart des HomeCenter)

Die Debug-Meldungen, wenn die globale Variable auf "NaN" gesetzt ist.

Das neue Skript könnt Ihr euch hier herunterladen (Wir haben für euch auch eine englische Version des Skriptes erstellt.)


Bei dem neuen Skript handelt es sich nur um ein Bug-Fixing des oben beschriebenen Problems, weshalb wir auf den alten Artikel zur Einrichtung verweisen. Wir stellen euch hier die Einrichtung aber erneut vor:

Konfiguration des Rauchalarm Skript

Wir wollten das Skript so einfach wie möglich gestalten, so dass jeder User sehr einfach damit klar kommt. Das Thema Rauchalarm sollte nicht durch komplizierte Konfigurationsmöglichkeiten erschwert werden und deshalb müsst Ihr einzig und allein in die bestimmten Variablen-Arrays die IDs der Module eintragen, welche benötigt werden. Solltet Ihr in die Arrays keine IDs eintragen, geht das Skript davon aus, dass Ihr dir Funktion nicht nutzen möchtet. Die Beschreibungen zu den einzelnen Punkten finden sich auch die direkt im Quellcode wieder. Wir gehen Sie trotzdem an dieser Stelle nochmal alle durch:

1.) Rauchmelder

Hier müssen die IDs eurer Rauchmelder eingetragen werden, welche in einem Alarmfall geprüft werden sollen. Zusätzlich müssen diese oben im Header eingetragen werden, damit diese Rauchmelder bei Statusänderung die Szene auch triggern. (Mehr dazu erfahrt Ihr hier)

2.) Sirenen

In diesen Part müssen eure IDs der Sirenen eingetragen werden. Diese lösen beim ersten Erkennen von Rauch aus. Wenn alle Rauchmelder wieder den Status sicher melden, werden die Sirenen im Anschluss wieder abgeschaltet.

3.) Push-Mitteilungen auf das Handy

Sofern Ihr eine Benachrichtigung auf eure Handys bekommen möchtet, müssen hier die IDs eingetragen werden. Der Text der Push-Nachricht variiert je nach Ereignis. (siehe Bilder-Galerie)

4.) Notfallbeleuchtung

Hier können die IDs von Lampen eingetragen werden, welche bei der Erkennung von Rauch automatisch angeschaltet werden sollen. So habt Ihr die Möglichkeit euren Fluchtweg auszuleuchten. Wenn alle Rauchmelder wieder den Status sicher melden, dann werden die Lampen automatisch wieder ausgeschaltet.

5.) RGBW-Notfallbeleuchtung

Die RGBW-Notfallbeleuchtung macht eigentlich nichts anderes als die normale Notfallbeleuchtung. Zusätzlich kann hier aber ein Programm bei Raucherkennung gestartet werden oder die Farbe beim Einschalten bestimmt werden. In der lokalen Variablen "mode" muss entweder 'color' (Setze Farbe) oder 'programm' (Starte Programm) eingestellt seien. Direkt darunter findet Ihr die Variable "programm" mit der das Startprogramm bestimmt werden kann. Die Variable "color" bestimmt die Farbe mit welcher das RGBW-Modul angeht. Nachdem kein Rauch mehr erkannt wurde, schaltet das RGBW automatisch auf rot.

6.) Öffnen von Fluchtwegen

Mit dieser Option können automatisiert bestimmte Fluchtwege geöffnet werden. In die rollershutterIDs müssen die IDs der Rollladen-Module eingetragen werden. Diese werden dann bei Raucherkennung automatisch geöffnet. So verhält es sich auch mit einem danalock, welches dann auch geöffnet werden würde. So kann bei der Flucht die Tür einfach aufgezogen werden. ACHTUNG: Sollten die Rauchmelder wieder sicher melden, werden die Rollläden und die danalocks NICHT wieder verschlossen. Hier muss im Zweifelsfall manuell eingegriffen werden.

Test des Rauchalarm

Das waren dann alle benötigten Informationen, welche für das Skript nötig sind. Ihr könnt MÜSST das Skript bitte vor Inbetriebnahme ausführlich testen. Dazu eignen sich am Besten mehrere Türkontakte, da sich diese polyvalent zum Rauchmelder verhalten. (offen=ausgelöst; geschlossen=sicher)

Nachdem Ihr das Skript in eurem HC2 eingerichtet habt, solltet Ihr als Erstes die Push-Funktion testen. Dazu einfach die IDs der Handys, welche benachrichtigt werden sollen, wie oben beschrieben einrichten. Dann könnt Ihr nach einem manuellen Ausführen der Szene sehen, dass eine Test-Nachricht auf eure Handys geschickt wird. Beim ersten Ausführen wird automatisch eine neue globale Variable angelegt. Dies wird euch im Debug-Fenster so auch angezeigt:

Test-Modus des Rauchalarm Skript

Danach können dann die weiteren IDs eingetragen und das Skript getestet werden.


An dieser Stelle möchten wir uns für die aufmerksamen Leser bedanken, welche uns das Problem im Forum gemeldet haben.

Die mobile Version verlassen