Schnittstelle für die Kommunikation mit HTTP Webservern: ESP8266, ESP32, Raspberry Pi, Arduino mit Ethernet Modul, PHP-Skript, WebSocket-Server.
Das ist eine Alternative zum Webhook von kostenpflichtigen IFTTT.
Grundfunktion: Nach dem Aufruf des Skill fragt Alexa „ich höre zu“. Sie sagen einen beliebigen Satz. Dieses Satz wird dann als GET-Parameter an, von Ihnen abgelegte URL, gesendet. Der Ziel Server (Ihre Anwendung) analysiert die Wörter in dem gesprochenen Satz, macht Schaltvorgänge oder Messungen und antwortet mit einem Text, der dann von Alexa vorgelesen wird. Auf diese Weise können Befehle zu Ihrem Web Server transportiert werden und Antworten angesagt werden. Wenn die Antwort ihres Servers am Ende eine „?“-Zeichen enthält, schaltet Alexa, nach dem Vorlesen, die Mikrofone wieder ein und erwartet eine Antwort des Nutzers, der wieder zu Ihrem Server gesendet wird. So können ganze Dialoge mit Ihrem z.B. ESP8266-Server geführt werden. Hier wird die ganze Programmlogik praktisch aus dem Skill in Ihren Sketch verlagert. Anstelle von Hardware Server kann auch ein PHP-Skript im WWW den Dialog führen. Damit lassen sich Mails versenden, bestimmte Informationen von den beliebigen Webseiten geparst werden und für die Ansage über Alexa vorbereitet werden und sogar Einträge in Google Excel-Tabelle erstellt werden.
So funktioniert es: Besuchen Sie die Webseite
https://esp8266-server.de/alexa/webhook/
Legen Sie die Trigger Wörter und Webadressen ihres Servers oder PHP-Skripts an. (Ihre Daten werden nur für Sie zugänglich.)
Beispiel : Trigger Wort: „Nachtlicht“ URL: „http://sg0f3t4jpcdrhntk1kf.myfritz.net:81/schalte.php?password=14631574&text=“
Beim Dialog „Alexa meine Steuerzentrale“ -> “ich höre zu“ -> “Nachtlicht 60%“ wird auf die Adresse http://sg0f3t4jpcdhntk1kf.myfritz.net:81/schalte.php GET-Variablen übergeben: „password“ mit dem Inhalt „14631574“ und „text“ mit dem Inhalt „Nachtlicht 60%“.
Die Trigger Wörter bilden eine Weiche die zwischen mehreren URLs und damit zwischen Ihren Geräten umschaltet.
Wenn Sie nur einen einzigen Server benutzen, lassen Sie das Eingabefeld „Trigger Wort“ frei. Dann werden alle Anfragen an diese Adresse gesendet.
Dieses Skill kann auch PushingBox (https://www.pushingbox.com) Szenarien ausführen lassen. PushingBox beherrscht: Emails, Tweets, Notifications an SmartWatch, Smartphone, Push Notifications (iOS, Android, WindowsPhone)
Sie können auch die URL eines beliebigen Dokuments im WWW ohne Parameter angeben. Deren Textinhalt wird dann auch vorgelesen. Der Text muss Codierung UTF-8 haben.
Aktivierungswort ändern: Der Skill ist so konzipiert, dass Sie durch die Verwendung von Routinen-Funktion der Alexa Apps, das Aktivierungswort durch eigene Phrase ersetzen können. Richten Sie eine Routine für Webhook Skill unter Menü Routinen im Alexa App.
Ihre ESP8266 oder ESP32 müssen vom Internet erreichbar sein. Das heißt Portweiterleitung im Router einrichten und DynDNS (eventuell von der Fritzbox) nutzen. Sie können durch ein Domen mehrere ESP8266 / ESP32 Geräte zuhause erreichen, in dem Sie die Geräte über verschiedene Ports ansprechen. Obwohl Ihr Echo Gerät im lokalen Netz angemeldet ist, befindet sich der Skill samt Datenbank im WWW, von dort gehen auch die Anfragen an Ihren Server. Weitere Anleitungen, Beispiele für Arduino und PHP-Skript zu Diesem Skill, finden Sie auf der Homepage des Skills.
Auf der Webseite der Entwickler-Datenschutzerklärung befindet sich ein Link zum Homepage des Skills und des Kontaktformulars. Über das Kontaktformular können sie mir bequem Ihre Ideen, Anregungen und konstruktive Kritik mitteilen.
„Alexa frage meine Steuerzentrale nach dem Kennwort“