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..
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.
1 2 3 4 5 6 7 8 |
-- 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}.
1 2 |
local silent_alarm = false local silent_alarm_time = 30 |
Das Skript erkennt auch, wenn der Alarm zwischenzeitlich deaktiviert wurde und bricht dann auch den stillen Alarm dadurch ab.
1 2 |
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.
1 2 3 4 |
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.
1 2 3 4 5 6 7 8 9 10 11 |
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 |
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.