Notfall Alarm mit Alexa Benachrichtigungen und Philips Hue erstellen

0
829

In diesem Beitrag soll es darum gehen, wie man einen Alarm mit allen Amazon Echo Geräten im Haus oder der Wohnung auslösen kann, dies zum einen akustisch, zum anderen aber auch visuell. Da ich in meiner Wohnung Philips Hue Lampen verbaut habe, bietet sich das natürlich als erstes an. Es funktioniert aber natürlich auch mit vielen weiteren Smart Home Lampen / Geräten.

Damit du entscheiden kannst, ob dieser Beitrag für dich überhaupt lesenswert ist, schau dir bitte als erstes das Video an, welche Notfall Lösung am Ende dieses Artikels entsteht. Ich löse im Video den Notfall Alarm aus (akustisch) und führe dich kurz durch meine Wohnung um zu zeigen, wie so ein Notfall Alarm aussehen kann.

Alexa Notfall Alarm – Ausgabe von Text und Sirene und einem roten Alarm mittels Philips Hue

Sollte dir diese Funktion gefallen, dann lasse doch schon mal ein „Gefällt mir“ beim Video und lese weiter :).

Als zweite Voraussetzung – du hast es bereits am Ende des Videos gehört – musst du ein wenig scripten können. Das heißt, du benötigst die Kenntnis darüber, wie du deine persönlichen Geräte ansteuern kannst. Ich hänge hier zwar meine Dateien an den Beitrag an, aber das bedeutet nicht, dass du diese auch 1 zu 1 übernehmen kannst.

Und die dritte und letzte Voraussetzung, du hast einen Entwickler Account bei Amazon und möchtest einen Smart Home Skill erstellen. Keine Angst! Wie das funktioniert, habe ich unter Erstelle deinen eigenen Alexa Smart Home Skill bereits ausführlich beschrieben!

Alexa Routinen – der erste Anlaufpunkt

Wir haben kürzlich über Ankündigungen in Alexa Routinen berichtet. Diese machen wir uns an dieser Stelle auch zu nutze. Hier wird ein Broadcast an alle deine Echo Geräte gegeben, der einen beliebigen Text ausgeben kann. In unserem Fall sind das Nachrichten wie „Der Alarm wurde ausgelöst, die Einsatzkräfte wurden benachrichtigt.“, „Sie haben noch eine Minute Zeit, um den Alarm abzubrechen“ und so weiter.

Außerdem schalten wir hier unser virtuelles Gerät ein, welches es später noch zu erstellen galt.

Die Routine trägt den Namen Notfall. In dieser Routine schalten wir zuerst die Lautstärke auf Stufe 10 (später für die Sirene), anschließend starten wir das virtuelle Gerät und geben dann einige Meldungen aus. Zum Schluss startet noch ein Sirenen Ton auf Amazon Musik (leider geht das nur an letzter Position).

Script zur Steuerung der Philips Hue – roter Alarm

Damit alle deine Lampen zu blinken anfangen, benötigst du diese als ein virtuelles Gerät. Das ist mit derzeitigen Standardmitteln nicht zu erledigen. Daher habe ich hier ein Script geschrieben, welches alle vorhanden Lampen ansteuert und dauerhaft blinken lässt.

Am besten ist, du bringst erstmal diese Seite zum laufen bevor du dich an die Routine machst. Das bedeutet, du musst die PHP Seite im Browser aufrufen können und deine Lampen fangen zu blinken an. Je nachdem ob du farbige oder nur weiße Lampen einsetzt, müssen sie entsprechend blinken.

Damit du mein Beispiel Script zum laufen bringst, musst du einen internen Webserver haben. Also zum Beispiel eine Synology NAS, Rasperry etc.
Hier findest du erstmal mein Script (inklusive aller zusätzlichen Dateien).

Scripts: Alexa Notfall Routine – Roter Alarm (rechte Maustaste – Speichern unter)

Dieses solltest du auf einen internen Webserver (der von extern erreichbar ist) zum laufen bringen. Als Schalter dienen hier die Parameter https://deineExterneAdresse/huesmarthome/?mode=on oder https://deineExterneAdresse/huesmarthome/?mode=off

Der Vollständigkeit halber sei erwähnt, dass ich zur Steuerung der Philips Hue Lampen eine externe PHP Library verwende. Diese findest du hier: https://github.com/muesli/huephp/tree/master/src/ und diese wiederum benutzt noch das Paket: https://github.com/educoder/pest/.

Alle benötigten Dateien sind aber auch im Download Paket bereits enthalten!
Entpacke die Zip-Datei und kopiere das Verzeichnis auf deinen Webserver. Anschließend öffnest du noch die config.php und passt die Einstellungen auf deine Gegebenheiten an.

Hier ist einmal die interne IP Adresse deiner Hue Bridge notwendig, zum anderen ein API Benutzername, damit du auf der Bridge Befehle ausführen darfst. Eine entsprechende Anleitung, wie du an diesen Key kommst, findest zu hier:

Um die IP Adresse deiner internen Bridge zu ermitteln öffne diese Webseite: https://www.meethue.com/api/nupnp/.

Anschließend öffnest du den Hue API Debugger unter http://deineBridgeIP/debug/clip.html.
Hier schickst du nun einen Post mit dem folgenden Body:

{"devicetype":"AlexaVirtualDevice#Alexa app"}

Als Ergebnis solltest du eine Meldung erhalten die dir sagt, dass der Benutzer nicht autorisiert ist. Drücke nun den Button deiner Hue Bridge und sende den Body erneut. Anschließend erhälst du deinen persönlichen Benutzer Token.

Beide Infos hinterlegst du nun in dein config.php und deine Lampen sollten beim Aufruf der Webseite anfangen zu blinken.

Ein virtuelles Smart Home Gerät erstellen

Damit du nun deinen roten Alarm unter den Geräten finden und verwenden kannst, musst du zuerst einen Smart Home Skill erstellen. Wie das funktioniert, habe ich bereits vor einiger Zeit hier beschrieben.
Deinen Quellcode für den Skill (LambdaCode.txt) musst du dann lediglich um deine weitere Adresse und das zusätzliche Smart Home Gerät erweitern. Hier kurz die Ausschnitte dazu:

Zeile 3:
var REMOTE_CLOUD_HOSTNAME_REDALERT = 'https://deineExterneAdresse/huesmarthome/redalert.php?'

Hinter Zeile 97:

,
{
"endpointId": "RedAlert",
"manufacturerName": "Daniel Buschke HomeControl",
"friendlyName": "RedAlert",
"description": "Laesst alle Hue Lampen rot blinken",
"displayCategories": ["SWITCH"],
"cookie": {
},
"capabilities":
[
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
},
{
"interface": "Alexa.PowerController",
"version": "3",
"type": "AlexaInterface",
"properties": {
"supported": [{
"name": "powerState"
}],
"retrievable": false
}
}
]
}

und in der Funktion HandlePowerControl (nach Zeile 205) fügst du noch die Erkennung deines Gerätes ein:

else if(request.directive.endpoint.endpointId === "RedAlert")
url = REMOTE_CLOUD_HOSTNAME_REDALERT;

Das war es dann auch schon mit dem Quellcode. Nun kannst du deine Alexa neue Geräte suchen lassen. Hier sollte nun ein Gerät mit dem Namen RedAlert gefunden werden, den du in deiner Routine benutzen kannst.

Hintergrund des Beitrags

Auf Facebook gab es einen Post dazu, der lediglich die Sprachausgaben beinhaltete. Die Anreicherung durch den visuellen Alarm und der Sirene soll lediglich die Machbarkeit zeigen. Außerdem wird man in den seltensten Fällen zu Hause sein, wenn jemand in der Wohnung einbricht.
Hier könnte jedoch helfen, wenn man einen Echo Show (2. Generation) oder einen Echo Plus besitzt. Diese können Drittgeräte dank ihres integrierten ZigBee-Hubs direkt ohne weitere Bridge verwalten und auf Ereignisse reagieren. Hast du zum Beispiel Fenster- und Türkontakte mit eines dieser Echo Geräte gekoppelt, dann könntest du den Alarm dadurch automatisch auslösen lassen.

Solltest du diese Anleitung verwenden können oder eine weitere Idee haben, dann freuen wir uns natürlich über einen Kommentar, was du damit so angestellt hast!

Verpasse keine News mehr und folge uns auch auf unserer Facebook-Seite. Dort erreichst du uns auch, wenn du weitere Fragen hast.

 

 

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here