So nutzt du das Fibaro Alarmpanel des HomeCenters - UPDATE

Geschrieben von boomx

Wir hatten euch letztens ein neues Skript für die Einbindung der Rauchmelder zur Verfügung gestellt. Nun haben wir uns auch das Skript für den Einbruchalarm in Verbindung mit dem Alarmpanel angenommen. Herausgekommen ist dabei folgendes..

[alert variation="alert-info" dismiss="dismiss"]ACHTUNG! Bitte testet alles ausführlich durch! Sonst könnte es im schlimmsten Fall passieren, dass das Skript im Falle eines Einbruches nicht korrekt funktioniert.[/alert]
Push iOS 10 Beta

Push iOS 10 Beta

Wir haben das Skript so ähnlich aufgebaut wie das Skript für den Rauchalarm. Das bedeutet, dass Ihr oberhalb des Skriptes die ganzen Konfigurationsvariablen setzt und in dem eigentlichen Code nichts mehr ändern müsst. Auf diese Konfigurationsvariablen gehen wir auch noch ein, kommen wir aber vorher zu den Features, welche wir umgesetzt haben:

Features:

  • Versendung von Push-Mitteilungen an alle benötigten Geräte
  • Ein- & Ausschalten von einer oder mehrerer Sirenen
  • Multi-RGBW-Support (Programm starten, Farbe setzen)
  • Automatische Ermittlung welcher Raum betroffen ist
  • Kamera-Support: Versenden eines Bildes des betroffenen Raumes via Mail
  • "Stiller Alarm"-Support
  • Einfügen von eigenen Aktionen im Alarmfall

Wie in dem Artikel zu dem Alarmpanel geschrieben, wird diese Szene im Alarmfall durch das Alarmpanel ausgeführt. Dies muss also richtig und vollständig konfiguriert sein. Dies haben wir wie oben beschrieben in einem älteren Artikel bereits beschrieben und gehen an dieser Stelle nicht mehr darauf ein.

Konfiguration

Kommen wir also zur Konfiguration des Skriptes und dazu ein paar kleine Erklärungen von uns. Los geht es mit den Einstellungen für Sensoren, Sirenen und Handys.

Dieser Abschnitt ist eigentlich selbsterklärend. In die Arrays müssen die jeweiligen IDs der Sensoren, welche überwacht werden sollen, die IDs der Sirenen, welche durch das Skript gesteuert werden und die IDs der Handys, an die eine Push-Mitteilung geschickt werden soll, eingetragen werden. Sollte zum Beispiel nur eine Sirene installiert sein, dann müssen die geschweiften Klammern stehen bleiben. Dies würde dann im Skript so aussehen {89}.

Alarm ausgelöst

Alarm ausgelöst

Mit dieser Konfiguration kann ein "stiller Alarm" eingerichtet werden. Dazu muss die Variable silent_alarm auf den Wert true gesetzt werden. Im Falle eines Einbruches wird dann der User per Push über den Einbruch benachrichtigt, (falls der Kamera-Support aktiv ist, wird auch ein Bild verschickt) aber die Sirene und mögliche RGBWs werden noch nicht eingeschaltet. Dies passiert erst, wenn der Wert in der Variablen silent_alarm_time abgelaufen ist. Diesen könnt Ihr nach euren Wünschen setzen. Die Angabe ist in Sekunden. In dem Beispielfall würde das Skript 30 Sekunden warten, bis die Sirenen/RGBWs eingeschaltet werden.

Das Skript erkennt auch, wenn der Alarm zwischenzeitlich deaktiviert wurde und bricht dann auch den stillen Alarm dadurch ab.

Kommen wir als nächstes zu einer Funktion, welche uns besonders gut gefällt. Wenn der Wert von camera_support auf true steht und unter email eine korrekte Mail-Adresse hinterlegt ist, dann wird im Alarmfall geprüft, welcher Sensor ausgelöst wurde. Diese Information wird dann dazu genutzt die Kameras in dem jeweiligen Raum zu ermitteln und von jeder Kamera des betroffenen Raumes eine Mail an die hinterlegt Mail-Adresse zu versenden. Möchtet Ihr dieses Feature nicht nutzen, dann muss der Wert von camera_support auf false gesetzt werden.

Wie bei dem oben erwähnten Rauchmelder-Skript haben wir ein Support von RGBW-Modulen mit eingebaut. Dadurch könnt Ihr im Falle der Auslösung des Alarmpanel ein Farbe oder ein bestimmtes Programm setzen, welches dann ausgeführt wird. In der lokalen Variablen „mode“ muss entweder ‚color‘ (Setze Farbe) oder ‚programm‘ (Starte Programm) eingestellt seien. Direkt darunter findeIhr die Variable programm“ mit der das Startprogramm bestimmt werden kann. Die Variable „color“ bestimmt die Farbe mit welcher das RGBW-Modul angeht. Nachdem der Alarm deaktiviert wurde, schalten sich alle RGBW-Module auf die Farbe rot.

alarm2

Alarm entschärft

Zu guter Letzt kommen wir zu den eigenen Aktionen, welche Ihr ausführen könnt. Dazu muss die Variable own_action auf true gesetzt werden. Erst dann werden die Aktionen bei dem Erkennen des Alarms und nach dem Alarm aktiviert. Die eigenen Aktionen können dann in die Funktionen ownaction_alarm() (Aktion(en) nach Erkennung des Alarms) und ownaction_afteralarm() eingefügt werden. Diese Aktionen werden vor dem stillen Alarm ausgelöst, können also nicht zeitverzögert geschaltet werden.

alarm_icon

Alarm-Icon

Das könnt Ihr euch HIER herunterladen und nach euren Wünschen konfigurieren. Vielleicht hat ja der ein oder andere User noch eine Idee für weitere Features, welche wir umsetzen können. Dies würden wir uns annehmen und prüfen, ob das Sinn ergeben würde. Mit LUA sind die Möglichkeiten ja unbegrenzt. :) Also, hinterlasst uns gerne einen Kommentar.

Diesen Blogpost hat geschrieben ...

boomx

120 Kommentare

  • Hallo Boomx,

    vielen Dank vorab für das Skript und die viele Arbeit welche Du für das Forum bereitstellst.
    Ich habe vor der Benutzung ein paar Fragen zu dem Skript:
    1. Warum muss ich die ID´s der Sensoren hinterlegen? Ich nutze dein Skript für Zipato RFID in welchem bereits alle Sensoren aufgelistet werden. Haben wir hier eine Dopplung der ID´s oder werden die ID´s nur zur Bestimmung des Ortes für die Kamera genutzt.
    2. Ich nutze das Skript aus dem ersten Beitrag „So nutzt du das Fibaro-Alarmpanel des HomeCenters“ um die Sirene ein und aus zu schalten. Wo lege ich in dem neuen Skript den zu prüfenden Sensor fest? Oder wird auf alle Sensoren auf Disarmed geprüft? Das „alte“ Skript kann ich somit entfernen?
    3. Für den stillen Alarm reicht die Einstellung der Zeit in dem Skript oder muss ich separat noch die Sensoren anpassen?

    Vielen Dank und LG Daniel

    • Hi,

      das neue Skript ersetzt das alte. In diesem werden jetzt alle Sensoren überprüft und erst wenn alle entschärft sind, wird die Sirene ausgeschaltet. Deine Vermutung zu diesem Punkt war daher korrekt :)

      Das ist auch der Grund, warum die Sensoren noch einmal angegeben werden müssen und zu der zusätzlichen Ermittling, welche Kamera verwendet werden soll. Man hätte dies sicherlich auch anderes (und eleganter) lösen können. So war es ein einfacher Mittelweg, welcher gegangen wurde :)

      Bei dem stillen Alarm reicht es die Zeit zu setzen. In den Modulen muss nichts mehr eingestellt werden.

      Gruß

  • Skript läuft super. Habe es gerade getestet. Auch meine Sonos-Boxen ließen sich ohne Probleme einbinden. Vielen Dank für die Arbeit :)

  • Hallo boomx, erstmal super Arbeit. Genau so hatte ich es mir vorgestellt und meine bitte das Alarmskript so aufzubauen wie das Rauchmelderskript wurde erhöhrt. Zwei Punkte habe ich aber trotzdem noch.
    - beim manuellen starten kommt in line 167 Assertion failed: Expected number
    - ist es möglich bei der Pushmeldung und evtl. sogar noch bei der E-Mail Benachrichtigung ein paar weitere Infos mitzugeben. Von welcher Fenster/Tür der Alarm ausgelöst wurde und die genaue Uhrzeit des Alarms, falls man die Fibaro App z.B. am Tablet nicht geöffnet hat, aber trotzdem eine umfassende Nachricht erhält.

  • Hallo boomx, habe das Skript jetzt noch mal ausgiebig getestet und noch einen Punkt gefunden, welcher evtl. von Vorteil wäre diesen einzubauen. Bei einem evtl. auftretendem Fehlalarm (Sensor defekt usw) würde die Sirene den ganzen Tag heulen, bis man Abends von der Arbeit kommt. Gäbe es hier eine Möglichkeit die Sirene zeitlich einzugrenzen und diese sich nach voreingestellter Zeit automatisch abschaltet, sagen wir mal 1 Minute. Der eigentliche Alarm bleibt natürlich bestehen. Ich denke hier nur an meine lieben Nachbarn.

  • Hallo boomx, auch von meiner Seite vielen Dank für die vielen sehr hilfreichen Beiträge, die Du hier einstellst. Die Einbindung von E-Mail Benachrichtiigung sowie etwas ausfürhrlichere Benachrichtigungen machen es noch aufwendiger - aber cool wäre das schon.
    Ich würde noch einen Teil für meinen Wall-Plug einbauen, der optisch den Zustand der Anlage im Eingangsbereich signalisiert.

    • Hi,

      kann deine Punkte mal in die Feature-Liste mit aufnehmen. 1,2 hatte ich schon im Hinterkopf. ;) Danke. Die manuelle Ausführung wird schwer abzufangen sein, da der Triggertype bei manueller Auslösung und Auslösung durch das Alarmpanel gleich sind.

      Gruß

  • Danke für die schnellen Antworten boomx. Hast Du mit den Features auch mein Anliegen mit der zeitlichen Begrenzung der Sirene gemeint?

    Muss hier noch mal loben, ihr macht hier ganz tolle Arbeit. Ohne Euch wäre z.B. meine Fibaro Anlage sicherlich noch so dumm wie nach dem auspacken.

  • Auch von mir vielen Dank für Deine tollen Scripts die Du immer wieder veröffentlichst.

    Ich würde mich freuen, wenn man eigene Aktionen nach dem stillen Alarm ausführen könnte. Also ich möchte das diverse Lichter erst nach Ablauf des stillen Alarms angehen oder das sich nach dieser Zeit die Jalousien öffnen. Das wäre noch Klasse.

    • Hi,

      am einfachsten legst du dir eine Blockszene an, mit der du eine Push verschickst und wandelst diese in LUA um. Alternativ kannst du das über die API des HC2 rausbekommen.

      Gruß

      • Hallo Kann man das Script irgendwie testen?! Denn leider funktioniert es bei mir nicht :(

        Ich habe das Script erstmal unter den Szenen erstellt und gespeichert. Dann in den Steuerungen -> Alarmsystem -> Erweitert -> hinzugefügt und auf Aktiv gesetzt. Ist das so erstmal richtig?!

        Als Sensoren habe ich meine "Bewegungssensoren" in die vorgesehen Zeile gepackt und die ID meines iPhones.

        Ich erhalte aber keine PUSH Mitteilung gibt es eine art DEBUG Modus um das mal durchzuspielen?!

        Danke schon mal

        • Okay,

          funktioniert jetzt. Habe auf die 4.090 ein Update durchgeführt und danach ist die HC2 neu-gestartet. Nun bekomme ich auch eine Push-Mitteilung.

          Klasse.

          Vielen Dank!

          • Habe dann gleich noch eine Frage.

            Wäre es möglich das man per GPS den Alarm scharf schaltet bzw. deaktiviert?!

            Also:

            Frau und Mann verlassen das Haus, dann Alarm an.

            Sollte Mann verlassen, aber Frau bleiben, dann Alarm nicht aktiveren?!

            Danke schon mal für die Hilfe bzw. Tipps.

            Gruß

          • Würde funktionieren, kann ich aber nicht empfehlen. Die GPS-Funktion ist zu ungenau und zu träge um damit den Alarm zu schalten.

            Gruß

  • Hallo,

    ich habe das Alarm Script nun auch im Einsatz nach anfänglichen Schwierigkeiten.

    Ich habe immer die Fehlermeldung:

    line 167 Assertion failed: Expected number

    daraufhin habe ich die Zeile einfach deaktiviert mit :

    -- Debug( 'white', 'Sensor im Raum ' ..fibaro:getRoomNameByDeviceID(checkSensor()).. ' ausgelöst')

    Weiß leider nicht was das Problem ist. (Der auslösende Sensor ist ein Bewegungsmelder im Flur)

    Super Sache aber das Script, vor allem weil man vorgewarnt wird und noch fix reagieren kann bevor die Sirenen anfangen lärm zu machen. Ich hatte es schon das mitten in der Nacht ein "Fehlalarm" losging und bevor ich abschalten könnte schon die Außensirene losging!!

    Jetzt habe ich etwas Zeit falls es wieder zu einem Fehlalarm kommen sollte. Das Freut auch die Nachbarn :-)

    Vielen Dank an euch und euren unerbittlichen Einsatz für das Forum, die User und das Figaro System.

    Grüße

    Jens

      • Hallo,

        Ich habe die ID's oben bei den Sensoren eingetragen, Fenster Sensoren und Motion Sensoren), wenn der Sensor auslöst ist er aktiv und das für ca. 10s.

        Das Skript startet und hat gleich diesen Fehler.

        Vielleicht sollte ich es noch einmal mit einem Fenstersensor probieren..

        Grüße Jens

          • Hallo, also ich habe es jetzt noch einmal mit einem Fenstersensor probiert und da wird der Raum richtig angezeigt und auch das Script läuft ohne Probleme.

            Es liegt also an den Motion Sensor.

            Wenn dieser auslöst, dann kommt dieser "line 167 Assertion failed: Expected number" Fehler.

            Grüße Jens

          • Hi,

            das ist kein Fehler von Skript. In den Kommentaren findest du viele Ansatzpunkte, welche du abchecken kannst. Hier besteht sicherlich ein Fehler in deiner Konfiguration.

            Gruß

  • Super Script, vielen Dank! Ohne euch würde ich mit meinem System keinen Schritt vorankommen.

    Ein Problem habe ich aber bei dem Alarmscript. Ich habe zwei LED-Schläuche mit den IDs hinterlegt, die auch entsprechend des Alarms aktiviert werden. Wenn ich den Alarm entschärfe, dann bleibt die Notfallbeleuchtung aber an (rot), obwohl als Debug "RGB-Notfallbeleuchtung ausschalten" angezeigt wird.

    Habt ihr eine Idee?

    • Hi,

      das ist so im Skript hinterlegt. ;)

      Wenn du Sie ausschalten willst, dann musst du folgende Zeile ändern:

      fibaro:call(rgbwID[o], "setColor", 255,0,0,0)

      Hier muss dann aus der 255 eine 0 gemacht werden. Dann gehen diese aus.

      Gruß

  • Hallo boomx super Skript,
    wollte unter eigener Function Szenen oder Module anschalten.
    aber weder fibaro:call(7, "turnOn"); oder fibaro:startScene(12); funktioniert

    habe das so eingebaut.

    local own_action = true
    function ownaction_alarm()
    fibaro:call(7, "turnOn");
    fibaro:debug('Eigene Aktionen bei Alarm ausgeführt')
    end

    Wenn ich folgendes einfüge und die Alarm Szene manuell starte gehr das Modul 7 wenn es vorher eingeschaltet ist aus.

    function ownaction_afteralarm()
    fibaro:call(7, "turnOff");
    fibaro:debug('Eigene Aktionen nach dem Alarm ausgeführt')
    end

    Mein Wunsch Module beim Alarm einschalten und bei der deaktivierung wieder ausschalten.

    Danke im voraus

  • Firmware 4090
    [DEBUG] 15:51:44: ___________________________
    [DEBUG] 15:51:44: Alarm-Szene 2.0 wurde ausgelöst.
    [DEBUG] 15:51:44: Aktionen werden ausgeführt.
    [DEBUG] 15:51:44: Keine Kameras im Einsatz
    [DEBUG] 15:51:45: Stiller Alarm wird nicht genutzt.
    [DEBUG] 15:51:45: Alle Sensoren entschärft.
    [DEBUG] 15:51:45: Alarm wurde beendet.
    [DEBUG] 15:51:45: Eigene Aktionen nach dem Alarm ausgeführt

  • Keine Reaktion der Module oder der Szenen.
    Weder on oder off geht bei function ownaction_alarm()
    Lass dir Zeit ich bin erst mal im Urlaub und kann erst in zwei Wochen testen.
    Vielen Dank

      • Ich teste jedesmal mit scharfen Sensoren.
        Lasse einen Alarm durch einen Sensor auslösen.
        Dann müsste doch eigentlich die Aktion erfolgen die während des kriAlarms eingetragen wird.
        Bei mir sollten dann Szenen oder Einzelne Wall Pflugs Licht schalten.
        Nach Beendigung des Alarm soll das ausschalten erfolgen.
        Es läuft alles durch nur erfolgt nicht das anschalten der Beleuchtung durch die Szene oder
        den Wall Plug. Bei der Szene ist ausführen während des Alarm gesetzt.
        Alle Befehle die ich benutze starten in einem Testskript einzeln ohne Probleme.
        Grüße

          • Vielleicht erwarte ich was falsches.

            local own_action = true
            function ownaction_alarm()
            fibaro:call(7, „turnOn“);
            fibaro:debug(‚Eigene Aktionen bei Alarm ausgeführt‘)
            end
            Habe ich so interpretiert das bei Alarm Auslösung bis der Alarm ausgeschaltet wird die Funtion bei mir fibaro:call(7, „turnOn“); den Aktor mit der Id 7 anschaltet.

            Oder ist mein Ansatz falsch
            Leider habe ich nur konventionelle Lampen mit Fibaro wall Plug. Sonst würde ich das in das RGB Modul einbauen.
            Oder ist das möglich.

          • Hi,

            beim Auslösen des Alarms wird die Funktion ausgeführt (Schaltet dann das Licht an) und beim Deaktivieren wird die andere Funktion ausgeführt, mit der du dann das Licht ausschalten kannst.

            Gruß

  • Hallo Zusammen,

    habe eine Frage ich habe keine Sirene, sondern lasse diese über zwei Sonos Play1 abspielen. Dies funktioniert auch ohne Probleme nach auslösen des Alarms. Wenn ich den Alarm jetzt entschärfe, drücke ich im VD Sonoscommander den Stop Button. Die Sirenen Stoppen nach einer kleinen Verzögerung. Danach drücke ich den Button Alarm_Deaktiviert dieser soll eine Ansage machen das der Alarm deaktiviert wurde. Bis die Ansage abgespielt wird vergehen fast 5 Minuten wenn er es überhaupt macht. Jemand eine Idee woran das Liegen kann? Wenn ich aus dem VD heraus den Button drücke spielt er es sofort ab.

  • Hallo Boomx,

    habe heute das Update auf 4.092 gemacht und freue mich das die Push wieder gehen:-). Leider Funktioniert jetzt dein Skript nicht mehr :-( Liegt das an dem Update?

    Schärfe und Endschärfe mit dem RFID-Pad und dem Skript von dir https://www.siio.de/sicherheitalarm/so-aktivierst-du-deinen-alarm-mit-dem-rfid-tagreader/

    Wenn ich in dem RFID Script die Funktion local disarmed_bug auf false setze kann ich entschärfen und schärfen aber er führt die Alarm Szene nicht mehr aus. Im Debug kommt folgendes
    [DEBUG] 21:13:34: ___________________________
    [DEBUG] 21:13:34: Alarm-Szene 2.0 wurde ausgelöst.
    [DEBUG] 21:13:34: Aktionen werden ausgeführt.
    [DEBUG] 21:13:34: line 183: Assertion failed: Expected number

    wenn ich local disarmed_bug auf true setzte führt er das Skript aus aber ich kann per RFID nicht entschärfen.

      • Hi

        Nein steht auf false
        local silent_alarm = false

        wie gesagt wenn ich local disarmed_bug auf true setzte führt er das Alarm Skript ganz normal aus. Hatte gehofft das beides wieder geht also das ich mit dem RFID wieder Endschärfen kann.

        Lg.

        • Das funktioniert :) Hab ich gestern nach dem Update getestet... ^^

          Wir reden hier schon über das Alarm-Skript, oder? Das hat nämlich nichts mit deinem erwähnten Bug (Der Bug trat bei der Nutzung des RFID-Readers auf und nicht beim Auslösen des Alarms) zu tun...

          Gruß

          • Ja das Alarmskript. Er hat mir im Debug ja folgenden Fehler angezeigt:
            DEBUG] 21:13:34: line 183: Assertion failed: Expected number

            Habe Zeile 183 jetzt einfach mal gelöscht (war nur ein Debug)
            Debug( 'white', 'Sensor im Raum ' ..fibaro:getRoomNameByDeviceID(checkSensor()).. ' ausgelöst')

            scheint als ob er dort ein Problem hatte und deshalb nicht weiter gemacht hat. Jetzt funktioniert es :-)

            Lg.

          • Ok.

            Dann stimmt aber definitiv etwas an den Settings nicht. Das Skript kann den eingestellten Raum von dem Sensor nicht ermitteln.

            Gruß

  • Ich habe folgende Frage:

    Wir haben das Zipato-Pad sehr nah an der Tür. Wenn wir jetzt das Haus verlassen, wird die Tür geöffnet, alle gehen raus. Der letzte schaltet die Alarmanlage aktiv. Das klappt auch soweit, nur das die Tür (und auch alle offnen Fenster) die nachträglich geschlossen werden, dann nicht mehr auf Scharf geschaltet werden.

    Kann man das Scrip nicht abändern, sodass nach x Sekunden alle Sensoren noch einmal geprüft werden? Oder zumindest angegeben Sensoren wie der von der Eingangstür.

    Aktuell muss ich immer als letzter die Tür schließen, Alarm aktivieren und dann rausgehen. Nur kann man das auch mal vergessen und dann ist die Eingangstür ungeschützt. Oder wenn per Push offene Festern angezeigt werden die man vergessen hat, könnte man diese noch nachträglich schließen, oder die Alarmanlage wieder zu deaktivieren....

  • Hi Daniel,
    hast Du schon einen Workaround für den
    » [DEBUG] 21:13:34: line 183: Assertion failed: Expected number «
    Fehler gefunden?

    Problem ist ja die Verwendung von Bewegungssensoren, wenn ich das hier richtig gelesen habe.

        • Hi,

          ok, ich erinnere mich.

          Die Szene kann manuell nicht ausgeführt werden (solang kein Sensor breached ist), denn dann kommt es zu dieser Fehlermeldung. Dies kann ich leider nicht ändern. Die Sensoren sollten auch alle einem Raum zugeordnet sein, da dieser im Skript abgefragt wird. Die Auslösung mit MS hab ich noch nicht getestet, sollte aber grundsätzlich kein Problem darstellen. Sollte der Fehler doch auftreten, dann findest du in den Kommentaren die Lösung dazu :)

          Gruß

          • Okay, Du meinst dass der Sensor wäre keinem Raum zugeordnet – ist er bei mir aber.
            Habe extra mal alle anderen Sensoren rausgenommen und bei dem verbleibenden auch für alle über- und untergeordneten Geräten den Raum zugeordnet. Gleicher Fehler... bei nicht manueller Auslösung.
            Hast Du noch ne Idee?

          • Hab es grad mit einem MS getestet. Funktioniert ohne Probleme.

            [DEBUG] 20:24:01: ___________________________
            [DEBUG] 20:24:01: Alarm-Szene 2.0 wurde ausgelöst.
            [DEBUG] 20:24:01: Aktionen werden ausgeführt.
            [DEBUG] 20:24:01: Sensor im Raum Flur ausgelöst
            [DEBUG] 20:24:03: Keine Kamera im betroffenden Raum gefunden.
            [DEBUG] 20:24:04: Kamera 450 im betroffenen Raum erkannt. Sende Mail an boomx@siio.de
            [DEBUG] 20:24:04: Stiller Alarm wird nicht genutzt.
            [DEBUG] 20:24:04: Alle Sensoren entschärft.
            [DEBUG] 20:24:04: Alarm wurde beendet.
            [DEBUG] 20:24:04: Eigene Aktionen nach dem Alarm ausgeführt

            Kann es vielleicht sein, dass die Szene durch das Alarmpanel ausgelöst wird, der MS aber zwischenzeitlich wieder sicher meldet? Eine andere Idee hab ich nicht mehr. Scheint auf jeden Fall ein Problem in deiner Config zu sein.

            Gruß

          • Hmm, aber die Szene muss doch über das Alarmpanel ausgelöst werden, oder nicht?
            Das der Sensor dann wieder sicher meldet, kann natürlich schon sein - wie kann ich das prüfen und ggf. verhindern?

          • Die Szene kann manuell oder über das Alarmpanel ausgelöst werden. Das macht kein Unterschied. Wichtig ist aber, dass im Falle einer Auslösung wirklich auch ein Sensor ausgelöst ist. Sollte dies nicht der Fall sein, dann läuft das Skript in diese Fehlermeldung. Verhindern kann man das eigentlich nur durch die Erhöhung der Zeit bei Parameter 6.

            Gruß

          • Hab's gerade nochmal probiert, da lief es korrekt durch. Mit stillem Alarm, Sirene und allem drum und dran – TOP-Programm!!

            Denke der Fehler war, dass ich zum testweisen Auslösen einige Sensoren, die ich in der Szene schon eingetragen hatte, nicht mit scharf geschaltet hatte.

    • Hab die Konstellation getestet. Es ist nur ein Sensor mit Arm-Delay vorhanden, welcher an der ersten Stelle des Arrays steht. Funktioniert ohne Probleme bei mir.

      [DEBUG] 08:58:58: RFID-Szene 3.1 (Official) gestartet.
      [DEBUG] 08:58:58: Status Away gesetzt.
      [DEBUG] 08:58:58: Sensoren werden scharf geschaltet.
      [DEBUG] 08:58:58: Benötigte Variable PresentState erkannt.
      [DEBUG] 08:58:58: Arm-Delay erkannt. Arm-Delay: 30
      [DEBUG] 08:59:29: Führe eigene Funktionen nach dem Schärfen aus
      [DEBUG] 08:59:29: Versende Push an ID 464
      [DEBUG] 08:59:59: RFID-Szene 3.1 (Official) gestartet.
      [DEBUG] 08:59:59: Status Home gesetzt.
      [DEBUG] 08:59:59: Sensoren werden entschärft.
      [DEBUG] 08:59:59: Benötigte Variable PresentState erkannt.

      • Bei einer Tür war noch ein weitere Arm-Delay eingetragen. Ich habe das jetzt entfernt. Es ist jetzt nur eine Tür mit dem Arm-Delay 300 Sek. eingestellt.

        Leider klappt es immer noch nicht. Wir erhalten jetzt zwar nur noch 1 mal die Push Nachricht das der Alarm aktiv ist, aber wenn wir dann die Eingangstür öffnen, passiert nichts. Wir müssen immer noch den Alarm aktiveren, wenn die Tür geschlossen ist....

        wenn der Arlam aktivert wird, "laufen" die Sekunden in der Übersicht nicht von 300 auf 0 herunter bei der Tür. Diese wird dann auch nicht scharf gestellt.

        • Dann wird es ein Problem mit dem Sensor sein. Bei mir hat es wie gesagt funktioniert. Sofern du den disarm_bug auf false gestellt hast, liegt es zu 100% nicht an dem Skript, sondern an deiner Config oder an einem Bug in der Firmware.

          Gruß

  • Eine Idee für ein Update wäre noch die Push-Nachricht optional mehrmals hintereinander zu senden - falls man sie nicht sofort bemerkt hat. (Das iPhone zB wiederholt das eh meist ziemlich unauffällige bzw. kurze Piepen eines Pushs ja nicht, da fände ich ein wiederholtes Aufploppen ganz nützlich.)

    • Dafür könntest du die existierende Schleife nutzen. Dafür musst du hinter Debug( 'red', 'Alarm weiterhin ausgelöst.') die Push-Funktion aufrufen. Dann wird alle 2 Sekunden eine Push versendet.

      Gruß

      • Puh, das werden dann aber ganz schön viele Pushs :-)
        Problematisch könnte werden, dass man vor lauter Pushmeldungen nicht zum Entschärfen kommt, oder meinst Du nicht!? Ich meine die ploppen ja auch auf und blockieren den Screen.

          • Anderer Ansatz vielleicht: Kann ich nicht über eine Variable "Alarm" (zB als Option bei "Present State") eine weitere Szene starten, die alle 15sek pusht und bei entschärfen endet?
            Hast Du nicht in der perf. Lichtsteuerung eine Variable "Alarm" für zB Wasser benutzt?

          • Ja, das würde gehen :) hab jetzt nicht über die Szene hinausgedacht. Chris hat das in der perf. Lichtsteuerung so realisiert, ich war das nicht ;)

          • Hi,
            wie müsste eine while-Schleife die eine globale Variable "Alarm" abfragt aussehen?
            So? Brauche ich da noch ein "else"?

            while fibaro:getGlobal(Alarm) == 'Einbruch' do
            fibaro:call(6,'sendPush', 'Einbruchsalarm')
            fibaro:sleep(10*1000)
            end

          • Hi...

            Nein, brauchst du nicht. Das sieht soweit gut aus. Würde es aber nicht in dem Skript einsetzen, sondern in einem separaten Skript. Ansonsten werden die weiteren Funktionen nicht ausgeführt und die Sirene geht erst 10 Sekunden nach Deaktivierung aus.

            Gruß

  • Hi,

    ich habe leider auch das Problem, dass bei Alarm function ownaction_alarm() die hinterlegte Szene nicht startet. Egal welche Szene (auto oder manuell) hinterlegt ist, funktioniert nicht. Der Haken bei Alarm auslösen ist gesetzt. Der debug-Eintrag "[DEBUG] 15:10:02: Eigene Aktionen bei Alarm ausgeführt" kommt, jedoch wird die Szene nicht gestartet.
    Hingegen function ownaction_afteralarm() funktioniert.

    Hast du eine Idee?

    Gruß

    Michael

          • Mir geht es nur darum:

            Wollte das kleine Script von Basti nutzen:

            Hi,
            wie müsste eine while-Schleife die eine globale Variable „Alarm“ abfragt aussehen?
            So? Brauche ich da noch ein „else“?

            while fibaro:getGlobal(Alarm) == ‚Einbruch‘ do
            fibaro:call(6,’sendPush‘, ‚Einbruchsalarm‘)
            fibaro:sleep(10*1000)
            end

            Jedoch bekomme ich die Variable dafür nicht gesetzt, dass der Alarm ausgelöst wurde. Hast du diesbezüglich eine Idee, wie ich die Variable setzen könnte?

          • Hi,

            du kannst im Alarmpanel eine Szene erstellen, welche die Variable setzt. Ob das in dem Skript funktioniert, weiß ich leider nicht und müsste ich erst testen. Man kann aber anstatt der Variablen auch den Status von einem Sensor abfragen (while sensor == armed and breached do). Dafür benötigst du eigentlich keine eigene Variable, da der Sensor diese schon mitbringt. (Oder man setzt die Variable wenn die oben genannten Bedingungen eintreten)

            Gruß

  • Hi

    ich brauche etwas Hilfe. Bei mir klappt das eigentlich so tolle Script leider nicht wie gewünscht. Die gesamte Szene läuft in einer Sekunde durch, von Alarmauslösung bis Alarmende: Hier der Debug:

    [DEBUG] 19:39:38: ___________________________
    [DEBUG] 19:39:38: Alarm-Szene 2.0 wurde ausgelöst.
    [DEBUG] 19:39:38: Aktionen werden ausgeführt.
    [DEBUG] 19:39:38: Keine Kameras im Einsatz
    [DEBUG] 19:39:38: Stiller Alarm wurde aktiviert. Dauer: 30
    [DEBUG] 19:39:38: Stiller Alarm beendet, Geräte entschärft.
    [DEBUG] 19:39:38: Alle Sensoren entschärft.
    [DEBUG] 19:39:38: Alarm wurde beendet.
    [DEBUG] 19:39:38: Einbruchsbeleuchtung ausschalten

    Kann jemand helfen? Ich habe nur einen Sensor eingetragen und die Szene um eine Beleuchtungsvariante ergänzt (ein anderer Sensor oder das Weglassen der Ergänzung ändert leider auch nichts). Bei mir läuft die Szene auch nur ohne Zeile 167- ist ja schon diskutiert, finde aber keinen Fehler.). Ansonsten habe ich nichts verändert

    Vielen Dank schonmal

    Gruß

    Uli

    • Hi,

      dann gibt es, wie bereits beschrieben, ein Problem mit der allgemeinen Config des Alarmpanels. Entweder wurden andere Sensoren nicht aus dem Alarmpanel entfernt, usw. Bitte vorher alles durchgehen und dann das Skript hier testen. Aufgrund deines Debugs gehe ich davon aus, dass kein Sensor den Status armed besitzt, weshalb das Skript so durchläuft.

      PS.: Das Skript prüft nicht, ob der Sensor armed/disarmed ist, sondern nur den Value. Die Prüfung erfolgt durch das Alarmpanel.

      Gruß

  • Hi

    danke für deine Tips. Habe jetzt alles überprüft: Alle Sensoren sind 'scharf' im Alarm Panel, einige nicht eingebundene habe ich rausgenommen. Alle Sensoren sind Räumen zugeordnet. Leider funktioniert die Szene immer noch nicht :-(

    Hast du vielleicht noch weitere Ideen?

    Danke und Gruß

    Uli

    P.S. Deine Rauchmelder Szene funktioniert einwandfrei :-)

    • Hi,

      bei deinem ersten Kommentar hast du geschrieben, dass nur ein Sensor eingetragen ist. Jetzt sind es ALLE? Diese müssen dann auch in der Szene eingetragen sein, sonst funktioniert es nicht korrekt. Hol das mal bitte nach. Werde parallel das Skript nochmal testen (In Bezug auf den stillen Alarm).

      Gruß

  • Hi

    zum ersten Test hatte ich nur einen Sensor eingetragen, jetzt sind alle drin und alle eingetragen und alle im Alarmpanel und alle stellen sich scharf. Daran kann es wohl nicht liegen.

    Gruß

    Uli

    • Hi,

      das Skript löst durch das Alarmpanel aus und prüft in 2 while-Schleifen (1x für den stillen Alarm und 1x für den normalen Alarm) den Armed-Status von den Sensoren:

      while (counter <= silent_alarm_time and checkSensorArmed()) do
      while checkSensorArmed() do

      Wie du hier erkennen kannst, wird jeweils die function checkSensorArmed() genutzt. In dieser Funktion werden alles IDs des Sensor-Array in einer for-Schleife durchgegangen und dort geprüft, ob der Status armed ist. Laut deinem Debug sind alle Sensoren disarmed, weshalb das Skript so durchsprungen wird. Ich habe es auch bei mir nochmal getestet und es funktioniert ohne Problem, weshalb ich auf einen Fehler in deiner Konfiguration tippe.

      Aber nimm mal bitte den silent_alarm raus und teste es dann nochmal, ob sich das Skript auch so verhält.

      Gruß

  • Also ich bekomme auch einen Fehler:

    [DEBUG] 17:42:37: ___________________________
    [DEBUG] 17:42:37: Alarm-Szene 2.0 wurde ausgelöst.
    [DEBUG] 17:42:37: Aktionen werden ausgeführt.
    [DEBUG] 17:42:37: line 169: Assertion failed: Expected number

    Kann jemand helfen?

    • Hi,

      überprüfe bitte deine Konfiguration der Module, welche dem Alarmpanel zugeordnet sind. Es könnte sein, dass du ein Sensor schärfen willst, welcher allerdings nicht dem Alarmpanel zugeordnet ist. Das könnte die Fehlermeldung erklären.

      In den Kommentaren gibt es noch weitere Ansatzpunkte. :)

      Gruß

  • Ich habe mal eine Frage zu der Kamerasteuerung.
    Ich habe zwei Kameras im Einsatz.
    Nur sind diese nict in den Räume deklariert.
    Nehmen wir mal an, das Terrassenfenster wurde aufgebrochen (Raum Terrasse) dann soll die Kamera im Garten (Raum Garten)
    eine Bild verschicken.
    Kann ich das irgendwie lösen oder muss die Gartenkamera unbedingt in den Raum Terrasse eingebunden werden?

    • Hi,

      da müsstest du folgende Funktion an deine Bedürfnisse anpassen. Hier prüft das Skript, welche Kamera im Raum vorhanden ist. Könnte man natürlich anpassen.

      function cameracheck(roomID)
      for x=1, countID do
      if (fibaro:getType(x) == 'com.fibaro.ipCamera') then
      if (roomID == fibaro:getRoomID(x)) then
      fibaro:debug('Kamera ' ..x.. ' im betroffenen Raum erkannt. Sende Mail an ' ..email)
      fibaro:call(x, 'sendPhotoToEmail', email)
      else
      fibaro:debug('Keine Kamera im betroffenden Raum gefunden.')
      end
      end
      end
      end

      Gruß

  • Hallo Boomx,
    Hallo RazFaz,

    könnt ihr mir bitte mitteilen, was ihr angepasst habt um den Fehler zu beheben. Ich finde keine Abweichungen oder andere Probleme.

    [DEBUG] 17:42:37: ___________________________
    [DEBUG] 17:42:37: Alarm-Szene 2.0 wurde ausgelöst.
    [DEBUG] 17:42:37: Aktionen werden ausgeführt.
    [DEBUG] 17:42:37: line 169: Assertion failed: Expected number

  • Wenn ich die Sensoren vollständig entferne, erhalte ich immer noch die gleiche Fehlermeldung. Kann das irgendwie mit dem "neuen" Alarmpanel in der Version 4.110 zu tun haben?

  • Sobald folgender Code auskommentiert wird, funktioniert das skript wieder

    --Debug( 'white', 'Sensor im Raum ' ..fibaro:getRoomNameByDeviceID(checkSensor()).. ' ausgelöst')

    • Hi,

      bei dir wird es ein Problem mit der Konfiguration der Sensoren in Verbindung mit dem Alarmpanel geben. Dies war zu 98% der Fehler. Das kann leider auch nicht durch Code abgefangen werden, sondern man kann sich nur die eigene Konfiguration nochmal zu Gemüte ziehen ;)

      Gruß

      • Hallo Boomx,

        was kann ich denn an dem Alarmpanel konfigurieren? Ich kann nur prüfen, ob Sensoren ausgeschlossen sind oder ob ein delay eingestellt ist. Die Bewegungsmelder habe ich ausgeschlossen, lasse diese aber auch nicht über das Alarmskript prüfen. D.h. alle Sensoren, welche im Alarmpanel hinterlegt sind, sind auch im Skript hinterlegt und nicht ausgeschlossen.
        Ich hatte gestern im Alarmpanel  Erweitert erstmalig „Fibaro Alarm Configuration“ durchgeführt. Erst anschließend funktionierte das Alarmskript nicht mehr oder nur mit dem angegebenen Fehler. Vorab hat das Skript ohne Probleme funktioniert,
        Ich bin gerade ratlos.

        LG Daniel

        • Hi,

          wenn du bei dem Wizard die Alarmpanel-Konfig durchführst, dann kann es sein, dass Module aus dem Alarmpanel entfernt werden. Dadurch kommt dann dieser Fehler zu Stande. Also bitte alle durchgehen.

          Gruß

          • Hallo,

            ich bin jetzt mehrfach alle Daten durchgegangen. Habe den Typ der sensoren geändert, so dass im Alarmpanel noch 0 Sensoren hinterlegt sind. anschließend alle sensoren wieder auf Tür und Fensterkontakt geändert. Gleiche Problem :(
            Kann ich die Zeile --Debug( ‚white‘, ‚Sensor im Raum ‚ ..fibaro:getRoomNameByDeviceID(checkSensor()).. ‚ ausgelöst‘) einfach auskommentieren oder gibt es anschließend probleme mit dem Skript?
            seit der durchführung des Wizard hat auch die verzögerung bei mir keine Funktion mehr :(

            Gruß

  • Hallo Boomx,

    ach ist das geil!!! Es funktioniert perfekt! Also ich muss mal sagen - vielen Dank für Deine Mühe. Ohne Deine Scripts wäre ich aufgeschmissen! Und jetzt kein Update mehr machen, alles so lassen und gut ist .

    Danke und Gruß

  • Hallo Boomx,

    da war ich doch zu schnell. Alarmpanel ok. Aber hast Du schon etwas herausfinden können in Sachen neues Script für die Syncronisation des Tagreaders mit z.B. Handyapp? Mit der 4.110 und dem letzten Script geht es immer noch nicht, dass, wenn man mit der App scharf schaltet, sich der Tagreader den Status abholt und aktualisiert. Konntest Du da schon mal drüber schauen?
    Für Infos wäre ich sehr dankbar!

    Gruß

  • Moin Daniel!

    Super Script! Danke für Eure immer wieder tolle Arbeit und Hilfe! Soweit funktioniert auch alles! Ich habe allerdings ein viel banaleres Problem!

    Bei mir starten die RGBs nicht im Programm "5". Nachdem ich den Alarm entschärft habe, werden sie zwar rot, aber das war es auch schon.

    local rgbwID = {1078, 1310} -- ID RGBW
    local mode = 'programm' -- Auswahl: color = Farbwert setzen; programm = Programm starten
    local programm = 5
    local color = '255,255,255,255' -- welche Farbe eingestellt werden soll

    Hast Du, oder einer von Euch eine Idee?!

    Viele Grüße

    Christian

    • War wohl ein Denkfehler! Ich habe im Panel nicht auf speichern gedrückt, nachdem ich die Szene eingefügt hatte.....(man gewöhnt sich echt an dieses kleine "!"-Zeichen neben dem Speichern-Symbol! :-D

      Wie blööööööddddd....

      Sorry für den Spam!

  • Hallo Daniel,

    kannst Du mir erklären wie dieser Teil Deines Scriptes funktioniert?

    function setArmed(deviceId)
    local dev = api.get('/devices/' .. deviceId)
    dev.properties.armed = false
    api.put('/devices/' .. deviceId, dev)
    end

    Mich interessiert dabei besonders wie man api.get(...) bzw. api.put(...) verwendet. Gibt es dazu irgendwo Dokumentation?
    Danke Frank

  • Mega cool der Blog. Finde die vielen Lösungen mit konkreten Scripten genial. Vielen Dank für den investierten Aufwand.

    Ich habe eine Frage / ein Anwendungsfalls bezüglich Alarm Aktivierung / Deaktivierung.

    Ich möchte dass der Alarm automatisch eingeschaltet wird, wenn alle registrierten Handys (/ Benutzer) das Haus verlassen haben.
    Wenn ich oder meine Frau nach Hause kommen, dann soll Fibaro das erkennen und den Alarm ausschalten. Falls wir mal das Handy irgendwo vergessen, müssten wir den Alarm über Mini RFiD Keypad von Zipato deaktivieren.

    Wäre so etwas mit Fibaro möglich? Falls es evtl. schon ein Blog Post dazu, dann wäre ich froh um den Link ;-)
    Würde meiner Frau und mir das Leben einfacher machen, denn so würde sich die Alarmanlage in den meisten Fällen (da das Handy immer dabei haben) automatisch ein und ausschalten ;-)

    • Würde ich nicht empfehlen. Zum einem ist die GPS-Erkennung nicht wirklich zuverlässig, was aber für eine Schaltung des Alarms zu 100% funktionieren muss. Auch das Pingen von Handys funktioniert nicht zu 100%, wodurch beide Möglichkeiten nicht zuverlässig sind und für das Schalten einer Alarmanlage nicht tauglich sind.

      Gruß

  • Hi,

    ich brauch auch mal Hilfestellung.

    Wir haben gestern 5 Stunden lang das Script getestet. mit einer Sirene und eineigen Fibaro Türkontakten . Bei einigen hat das Script funktioniert, bei andeen nicht. Uns ist augefallen, dass scheinbar die Kontakte mit folgenden Versionen das Script auskösen und die konfigurierte Sirene:
    Version 2.5
    Z-Wave protocol type 3
    Z-Wave verison 3.67

    die Kontakte mit folgender Versionen lösen Alarm auf dem Tabelt aus, aber nicht das Script (Sirene bleibt stumm):
    Version 3.2
    Z-Wave protocol type 3
    Z-Wave verison 4.5

    Kann das sein?

    Gruß

  • hast du eine andere Idee?
    wir haben auch nach jeder Änderung (neue IDs im Script) das HC neu starten müssen, damit diese übernommen werden, ist doch auch nicht normal, oder?

    • Das HomeCenter muss eigentlich nie (in Ausnahmefällen vielleicht schon) neugestartet werden. Ist eure Konfiguration des Alarmpanels sauber? Sind dort alle benötigten Sensoren hinzugefügt? In dem Artikel findet Ijr einen Link zu einem weiteren Artikel, in dem das erklärt wird.

      Gruß

  • Hallo boomx,

    Vielen Dank für dieses Alarmskript. Es funktioniert wunderbar.

    Eine Frage habe ich jedoch.
    Gibt es eine Möglichkeit das die Sirene mit nur deaktivieren des Alarms aus geht? Also nicht erst wenn der Sensor zusätzlich wieder Save ist.

    Mir ist nämlich schon mal ein Fenstersensor abgefallen. Wenn das mal wieder passieren wie bekomme ich die Sirene in dem Falle aus?

    Gruß

  • Hallo boomx,

    danke auch von meiner Seite für das Skript. Mich würde interessieren wie ihr eure Anlage de- und aktiviert?
    Smart Home ist für mich wenn etwas funktioniert ohne dass ich eine Aktion durchführen muss. Ich verstehe schon dass die Alarmanlage etwas spezielles ist das 100% funktionieren sollte, aber es ist jetzt schon mehrfach gefragt worden wie es mit der Ortung der Mobiltelefone funktionieren könnte.
    Ich habe jetzt schon gelesen dass es auch Möglichkeiten mit ibeacon oder über ifttt bzw. über die App Geofency (die wirklich zuverlässig ermittelt wo sich die jeweiligen Handys befinden)
    Ihr seid die Cracks und es muss doch für jeden interessant sein eine zuverlässige noaktion Alarmanlage zu haben?!

    LG,
    fiedles

Gib deinen Senf dazu!

Cookie Consent mit Real Cookie Banner