35

So programmierst du deinen Rauchalarm – UPDATE

by boomx19. Juni 2016

Vor circa einem Jahr haben wir einen Artikel über einen Praxistest mit den Fibaro Rauchmeldern veröffentlicht und euch dort ein kleines Rauchalarm Skript zur Verfügung gestellt. Da wir der Meinung waren, dass dies mal ein „kleines“ Update benötigt, haben wir für euch dieses „kurze“ Artikel-Update verfasst.

ACHTUNG! Die Nutzung des Skriptes erfolgt auf eigene Gefahr! Bitte die Infos am Ende des Artikels lesen und beachten.

Dieses sogenannte „kleine“ Update ist ein wenig größer geworden als Anfangs vermutet. Der Ursprungscode umfasste circa 25 Zeilen Programmcode. (Den Artikel und den alten Code findet Ihr HIER) Die aktualisierte Version beläuft sich hingegen auf circa 240 Zeilen Code mit vielen weiteren Funktionen. Von einem kleinen Update kann daher keine Rede mehr sein ;)

Funktionen des Rauchalarm Skript

Dafür haben wir folgende Funktionen für euch in das Rauchalarm Skript integriert:

  • Erkennung von Rauch
  • Erkennung von sicheren Rauchmeldern nach Alarm
  • Abfangen von fehlerhaften Triggern
  • Abschaltung des Alarms, sobald kein Rauch mehr erkannt wurde
  • Notfallbeleuchtung (Normale Lichter & RGBW-Module)
  • Ansteuerung von Sirenen
  • Push-Funktion mit verschiedenen Nachricht je Ereignis
  • Öffnen von Fluchtwegen (Rollershutter & danalock)
  • Test-Funktion
smoke_2

Debug bei Raucherkennung von zwei Rauchmeldern

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 programmmit 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

Test-Modus des Rauchalarm Skript

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

Das Skript könnt Ihr euch hier herunterladen.

(Datei ist gezippt und kann mit einem normalen Editor geöffnet werden und dann auf euer HC2 kopiert werden)

Icon

Icon

Zu dem oben erwähnten Punkt bezüglich des Einsatzes auf eigene Gefahr des Rauchalarm Skriptes:

Wir stellen euch mit diesem Skript lediglich diverse Optionen zur Verfügung, welche beim Auftreten von Rauch hilfreich sein könnten. Das Skript ersetzt aber keinesfalls die akustischen Warnungen des Rauchmelders und diese dürfen auch in keinem Fall deaktiviert werden.

Außerdem möchten euch an dieser Stelle bitten, die Rauchmelder regelmäßig zu warten und ein Funktionstest nach Anleitung durchzuführen. An dieser Stelle empfehlen wir euch folgende Seite, auf der Ihr weitere Informationen zu diesem Thema findet.

Wir hoffen natürlich, dass dieses Skript bei euch nie vollständig ausgeführt werden muss. Aber wenn dies trotz aller Vorsichtsmaßnahmen trotzdem passiert, dann können wir für die Korrektheit des Skriptes keine Haftung übernehmen. Wie bereits oben erwähnt, ist dies Skript nur ein zusätzlicher Bonus zu den normalen akustischen und visuellen Meldungen des Rauchmelders.

siio-App
About The Author
boomx
35 Comments
  • Ernst
    19. Juni 2016 at 19:48

    Sehr cooles Skript: sogar die Variable wird selbständig angelegt. Danke und Gruß.

    • 20. Juni 2016 at 22:19

      Ja, das war mir wichtig. Werd meine bisherigen Skripte immer mal wieder weiter verfeinern. Um so einfacher haben es dann unsere User :)

      Gruß

  • Mad_Eldar
    20. Juni 2016 at 18:03

    Wahnsinn! Echt gut!!!!! Danke

  • Trixxon
    21. Juni 2016 at 8:52

    Finde ich super!!!! Da merkt man, das hier Leute mit Ahnung und Weitsicht am Werke sind.
    Danke

  • Poldy
    24. Juni 2016 at 16:58

    Das nenne ich mal perfekte ARBEIT Daniel :-)
    Läuft perfekt
    DANKE GANZ GROSSES LOB!!!

    Wie Du schreibst willst Du die alten Scripte auch immer wieder anpassen,
    da wäre es für die Übersicht perfekt wenn Du da immer ne Versionsnummer
    oder einen Datum-Datenstand angeben kannst bzw was geädert wurde,
    damit die User sich einfacher tun wenn was neu ist.

  • Ernst
    26. Juni 2016 at 10:22

    Hi,
    ich hatte heute Nacht/Morgen wieder einen Fehlalarm eines FGSD002 Rauchsensors. Anbei Meldung aus dem Debug-Fenster:

    [DEBUG] 03:59:17: Rauchmelder-Szene v1.0RC gestartet.
    [DEBUG] 03:59:17: Benötigte Variable smoke_alarm erkannt.
    [DEBUG] 03:59:17: Szene wurde durch Rauchmelder getriggert. Es wurde kein Rauch erkannt.

    Wenn kein Rauch erkannt wurde, warum geht dann die Sirene des Rauchmelders los? Kämpfe schon seit einiger Zeit mit Fehlalarmen meiner Rauchmelder und würde gerne verstehen, warum das passiert.
    Vielen Dank im Voraus und Gruß

    • 26. Juni 2016 at 12:07

      Hi,

      die Sirene des Rauchmelders ging los? Blieb diese an oder ging die wieder aus? Ist es immer ein Rauchmelder oder mehrere? Das Skript ist ja theoretisch ordnungsgemäß gelaufen, vermute da eher Probleme auf der Rauchmelderseite.

      Gruß

      • Ernst
        26. Juni 2016 at 12:41

        Hi,
        ja, leider ging die Sirene los. Beim ersten Mal immer drei kurze Töne, ca. 10 Mal. Anschließend war für kurze Zeit Ruhe. Beim zweiten Mal eine andere Sequenz, an die ich mich nicht mehr erinnere. Diese war kürzer und ging auch von alleine wieder aus. Daraufhin habe ich die Batterie heraus genommen. Der Reichweitentest heute morgen ergab grünes Licht und es befand sich weder Staub noch ein Insekt oder etwas anderes in dem schwarzen Gehäuse über dem optischen Element. Der Melder ist ca. eine Woche alt. 3 Tage lief er problemlos, seit dem gibt es Fehlalarme.
        Danke und Gruß

        • 26. Juni 2016 at 21:32

          Hi,

          sofern ich mich erinnere ist ein Rauchalarm ein durchgängiger Ton. Bei dir klingt es eher nach einer Erkennung einer Fehlfunktion. Du kannst ja mal, wie in der Anleitung beschrieben, einen Selbsttest des Sensors durchführen.

          Gruß

  • Trixxon
    2. Juli 2016 at 10:42

    Ich habe es jetzt nochmal ausführlich getestet. Beim Start der Szene kommt auch korrekt eine Pushmeldung „IDs der Handy korrekt“. Wenn ich aber einen Fensterkontakt, zum testen für die Rauchmelder eintrage, und diesen auch auslöse dann kommt nur im Debugfenster “ Szene wurde durch Rauchmelder getriggert, es wurde kein Rauch erkannt“. Die Sirene die ich eingetragen habe bleibt stumm und auch keine Puschmitteilung. Mache ich hier was falsch um das Skript zu testen?

    • 2. Juli 2016 at 12:01

      Hi,

      hast du die IDs des Türkontaktes im Header und im Array für die Rauchmelder eingetragen?

      Gruß

      • Trixxon
        2. Juli 2016 at 13:51

        Hallo boomx, ja, im Header steht 27 Value (ist ein Fensterkontakt) und im local smokeID = {27}, für die Sirene steht local sireneID = {145} .

        Müsste hier beim öffnen des Fenster nicht die Sirene angehen und eine dementsprechende Pushnachricht versendet werden?

        Ich habe HC2 mit Ref. 4.080

  • dasgunn
    25. Oktober 2016 at 10:34

    Vielen Dank für das Skript. Ich finde es wunderbar, wenn man Skripte nutzen kann, die von vielen Leuten getestet wurden.
    Eine Frage habe ich noch. Welche Id ist die richtige Id des Rauchmelders? Bei mir melden sich zwei Geräte die in Frage kommen würden.
    1. com.fibaro.FGSS001
    2. com.fibaro.heatDetector

    Danke für die Antwort.

  • Frank
    13. Dezember 2016 at 21:47

    Boomx,

    Sieht sehr gut aus, aber ich bekomme keine Nachrichten auf meinem Handy.
    Notbeleuchtung funktioniert

    Cell-ID = 2 (Berichte funktioniert in Szene Blocks)

    Was mache ich falsch?

  • LSt
    31. März 2017 at 14:42

    Hi, wunderbares Skript – leider geht die Beleuchtung trotz richtiger ID nicht an ?

  • LSt
    1. April 2017 at 18:18

    Im Debug steht:
    [DEBUG] 18:15:11: Rauchmelder-Szene v l . ORC g e s ta rte t.
    [DEBUG] 18:15:11: Szene wurde manuell ausgelöst.
    [DEBUG] 18:15:11: Benötigte Variable smoke_alarm erkannt.
    [DEBUG] 18:15:11: Versende eine T est-P ush-N achricht

  • LSt
    1. April 2017 at 18:18

    Übrigens: tolle Programmierungen von Dir – auch für mich als Laie.

    • 1. April 2017 at 18:21

      Danke… Wenn du die Szene manuell ausführst, werden die Funktionen nicht aufgerufen. Diese werden nur bei einem Triggern durch ein Modul ausgeführt.

      Gruß

  • LSt
    1. April 2017 at 18:21

    Noch eine Bitte / Frage: ich würde gerne eine bestimmte Jalousie nur zu einem bestimmten %-Satz (z.B. zu 50 %) uhrzeitgesteuert öffnen lassen – und dann nach einer gewissen Zeit ganz öffnen lassen. Hast Du da ein Skript ? Danke und beste Grüße

    P.S: bekommst Du eigentlich irgendein Geld für die ganze Mühe ?

    • 4. April 2017 at 22:40

      Sorry, hab den Kommentar irgendwie überlesen…

      Im Forum gibt es sowas, such dort am Besten mal nach Rollladen. Nein, wir betreiben siio als Hobby und weil es uns Spass macht :)

      Gruß

  • LSt
    1. April 2017 at 18:43

    ok danke für die Antwort – ich habe trotzdem die IDs der Lampen eingetragen und hoffe, dann dass 1.kein Brand ausbricht und 2.dann funktioniert. Jedensfalls vielen Dank !

    • 1. April 2017 at 19:19

      Du kannst es mit einem Rauchmelder oder einem Türkontakt testen. Steht im Artikel, wie du es machen kannst…

  • Martin
    1. Oktober 2017 at 23:35

    Moin,
    erstmal danke für das tolle Skript, funktioniert im Testbetrieb bestens!
    Ich hätte noch ein Idee für eine Erweiterung, allerdings keine Ahnung ob und wie dies umzusetzen ist.

    Anstatt bzw. zusätlich zu einer Sirene würde ich gerne beim auslösen einens Rauchmelders alle an der FritzBox angeschlossenen Telefone klingen lassen. Quasi ein Rundruf, alternativ bestimme Nebenstellen.

    Hast du eine Idee dazu?

    Gruß,

    Martin

  • secundani
    secundani
    16. Oktober 2017 at 10:19

    Hallo, ich habe mir heute das Script angesehen und finde es ganz toll. Das ist ja wiedermal ein ganz tolles Script. DANKE für deine Arbeit.

    Ich hätte da nur mal eine Frage, kann ich meine HUE Color ID’s als Notfallbeleuchtung eintragen? Oder muss ich in dem Script irgendwas ändern, damit diese ordnungsgemäß angehen.

    Danke und Gruß

Leave a Response