Voralarm mit Lua Szene

Voralarm mit Lua Szene

10. Oktober 2016 15 417 Von Bastian

Im hektischen Alltag kommt es bei uns manchmal vor, dass man vergisst den Alarm mit dem RFID Chip zu deaktivieren. Dann wird es plötzlich sehr laut! Deswegen habe ich eine Szene erstellt die mittels Voralarm auf die noch aktive Alarmanlage hinweist. Weiterhin ermöglicht die Szene auch eine zyklische Benachrichtigung über das Schärfen der Anlage. In diesem Artikel erkläre ich, wie die Szene funktioniert und was sie alles kann.

Voralarm

Voralarm

Trigger finden

Als erstes musste ich einen geeigneten Trigger für die Szene finden. Unsere Haustür ist mit einem Türsensor in die Alarmanlage eingebunden der mit einer Verzögerung  von 40 Sekunden reagiert. So dass beim Verlassen und Betreten des Hauses genug Zeit ist und nicht jedes Mal der Alarm ausgelöst wird. Ich konnte also beim schärfen der Anlage nicht auf den armed Wert zurückgreifen und für den Vorlarm ist keiner der häufig verwendeten Werte nutzbar. Ein tieferer Blick in die JSON Ausgabe hat dann doch zum Erfolg geführt.

armTimeTimestamp und alarmTimeTimestamp

Sobald der 40 Sekunden Timer anfängt zu laufen wird ein Timestamp in armTimeTimestamp geschrieben. Selbiges passiert beim Auslösen des Sensors für den Alarm mit alarmTimeTimestamp. Diese beiden Werte habe ich genutzt um die Szene zu starten und unterscheiden zu können, ob der Alarm aktiviert oder ausgelöst wurde.

Benachrichtigung

Die Benachrichtigung lasse ich von meiner Sirene durchführen indem ich diese ein und sofort wieder ausschalte. Das hat dann den Effekt eines Quittungstons und lässt sofort erkennen, dass die Alarmanlage noch aktiv bzw. gerade eingeschaltet wurde. Die Funktion wird entsprechend der eingestellten Zeiten in der Variable signalTimeSplitggf. mehrfach aufgerufen.


Hier liegt es am Geschmack des Einzelnen, ob ein Ton aus der Sirene oder das Aufleuchten einer Lampe über den Status informieren soll. Lua lässt hier keine Wünsche offen.

Entschärfen

Wird die Alarmanlage vor Ablauf des Delays entschäft, wird die Szene automatich unterbrochen und keine weiteren Benachrichtigungen ausgegeben.

Konfiguration der Szene


alarmSensor (118) ist der Türkontakt meiner Haustür und signalDevice meine Sirene. Die Werte von armBeep und disarmBeep (jeweils true oder false) bestimmen, ob eine Benachrichtigung erfolgen soll. Die Werte armTime, disarmTime und deviceDelay lese ich aus um zu erkennen was getan wurde und um die Verzögerung zu ermitteln.

Die Variable signalTimeSplitist ein Array in dem angegeben wird nach wieviel Prozent abgelaufenem Delay eine erneute Benachrichtigung erfolgen soll. In meinem Beispiel rechnet sich das folgendermaßen:

40 Sekunden Delay
50% entsprechen 20 Sekunden
70% entsprechen 28 Sekunden
..
95% entsprechen 38 Sekunden

Die vollständige Voralarm Szene

Feedback erwünscht

Dir hat die Szene gefallen, oder Du findest sie unnötig? Dann schreibe Dein Feedback oder Deine Kritik zu diesem Artikel in die Kommentaren. Gern auch Anregungen für neue Szenen und Erweiterungen meines Blogs.

Der Autor

Moin, ich heiße Bastian und bin Autor dieser kleinen bescheidenen Seite. Zwanghaft, ja fast schon neurotisch beschäftige ich mich seit Jahren mit jedem erdenklichen technischen Schnick-Schnack. Nichts, was einen Stecker hat ist vor mir sicher. So war es klar, dass ich eines Tages das Haus auf den Kopf stellen und alles vernetzen würde.

Da ich bei meinem Vorhaben sehr viel Hilfe und Unterstützung in diversen Foren, Blogs und Boards erfahren habe, möchte ich diesen Blog zum sammeln meiner Smarthome- und Technikerrungenschaften nutzen um der Community zumindest ein klein wenig was zurückgeben zu können.

Artikel teilen