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
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.
-- Einstellungen für die Sensoren (Zwingend erforderlich) local sensorID = {46,49} -- ID der Sensoren(n) -- Einstellungen für die Sirene(n) (Wenn keine IDs eingetragen sind, wird die Funktion nicht genutzt) local sireneID = {10,15} -- ID der Sirene(n) -- Einstellungen für Push-Benachrichtigungen (Wenn keine IDs eingetragen sind, wird die Funktion nicht genutzt) local phoneID = {18,52} -- ID der 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
local silent_alarm = false local silent_alarm_time = 30
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.
local camera_support = true local email = 'MAIL'
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.
local rgbwID = {56,91,124} -- 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
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 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 der Alarm deaktiviert wurde, schalten sich alle RGBW-Module auf die Farbe rot.
Alarm entschärft
local own_action = false function ownaction_alarm() -- eigene Aktion bei Alarm fibaro:debug('Eigene Aktionen bei Alarm ausgeführt') end function ownaction_afteralarm() -- eigene Aktion nach dem Alarm fibaro:debug('Eigene Aktionen nach dem Alarm ausgeführt') end
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
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.