Hallo liebe Bierliftfreunde. Wie ich vor kurzem angekündigt habe, werde ich euch in diesem Blog die Alexa Steuerung für den Bierlift vorstellen und euch in einem Tutorial zeigen, wie ihr euren eigenen Alexa Skill erstellen könnt. Dieser Skill wird nur für euch persönlich zur Verfügung stehen und nicht im Skill Store für jedermann zu aktivieren sein! Wenn ihr bereits euren Bierlift gebaut und ESP32 programmiert habt, wird auch die Skill-Erstellung für euch unproblematisch sein.
Alexa Steuerung macht deinen Bierlift noch cooler und wird zu einer Überraschung-Highlight deiner Party.
Schaut selber…
Im folgenden Video sind auch andere Sprachanweisungen vorgestellt. Ihr könnt auch erkennen, dass Alexa zusammen mit Blynk App synchron arbeitet. Das heißt, der Bierlift kann sowohl mit Alexa als auch mit dem Smartphone gesteuert werden.
Natürlich könnt ihr sowohl Antworten von Alexa als auch die Sprachanweisungen nach eurem Geschmack anpassen, indem ihr den Skill modifiziert. Ich empfehle jedoch, falls ihr noch keine Erfahrung in der Skill-Erstellung habt, exakt den Anweisungen im Tutorial zu folgen. Erst wenn der Skill funktioniert, könnt ihr versuchen, schrittweise den Programmcode anzupassen.
Funktionen
Bierlift Skill aktivieren
Äußerung beginnen mit
- „Alexa, starte Bier Lift“
- „Alexa, Bier Lift“
Antwort „Bierlift Skill gestartet“
Bierlift-Temperatur abfragen
Äußerung beginnen mit
- „Temperatur“
- „Wie kalt ist mein Bier?“
- „Wie warm ist mein Bier?“
Antwort „Temperatur im Bierlift beträgt xx Grad“
Außentemperatur abfragen
Äußerung beginnen mit
- „Außentemperatur“
Antwort „Außentemperatur beträgt xx Grad“
Bierlift hochfahren
Äußerung beginnen mit
- „fahre den Bierlift hoch“
- „ich habe Durst!“
- „hoch“
- „nach oben fahren“
Antwort „Bierlift fährt hoch“
Bierlift runterfahren
Äußerung beginnen mit
- „fahre den Bierlift runter“
- „verstecke das Bier!“
- „runter“
- „nach unten fahren“
Antwort „Bierlift fährt runter“
Wenn Alexa dich nicht verstanden hat
Antwort „Unklare Anweisung. Kein Bier“
Voraussetzungen für die Erstellung eines eigenen Alexa Skills für den Bierlift
- Bierlift
- BierLiftOS mit Blynk Verbindung
- kostenloses Amazon-Developer-Account
- AWS Konto
- Alexa App auf eurem Smartphone
- Zeit und Geduld 🙂
Bei der Anmeldung bei AWS wird eine Kreditkarte benötigt. Keine Sorge, bei der Registrierung des AWS-Konto entstehen euch keine Kosten. Bei AWS Lambda umfasst das kostenlose Kontingent derzeit 1. Mio. Anforderungen pro Monat. Ich bin der festen Überzeugung, dass ihr dieses Limit nicht mit eurem Bierlift Skill sprengen werdet.
Solltet ihr einen der oben genannten Punkte nicht erfüllen können, ist diese Anleitung eher nichts für euch. Danke, dass ihr trotzdem bis hierher gelesen habt! 🙂
Tutorial
Meldet euch bei Amazon Developer an. Wenn ihr noch keinen Amazon-Developer-Account besitzt, erstellt ein kostenloses Entwicklerkonto. Für die Anmeldung verwendet euren bestehenden Amazon Account, damit eure Skills sofort auf allen Echos verfügbar sind, die mit eurem Account verbunden sind.
Klickt im Drop-down-Menü unter Produkte auf „Alexa Skills Kit“ und anschließend auf „Skill entwickeln“, um die Alexa-Developer-Konsole zu öffnen.
Nach dem Login werdet ihr auf die Service-Übersicht gelangen. Wählt hier „Amazon Alexa“ aus.
Klickt im Drop-down-Menü unter Produkte auf „Alexa Skills Kit“ und anschließend auf „Skill entwickeln“, um die Alexa-Developer-Konsole zu öffnen.
Auf der Startseite der Alexa-Developer-Konsole werden euch zukünftig alle selbst erstellten Alexa-Skills angezeigt. Meldet ihr euch zum ersten Mal an, ist die Liste leer.
Klickt auf „Create Skill“, um einen neuen Alexa-Skill zu erstellen.
Tragt als „Skill Name“ die Bezeichnung „KE Bierlift“ , Default language –> German (DE) und wählt als Model Typ „Custom“ aus. Klickt anschließend auf „Create skill“, um den Entwicklungsprozess zu starten. Ihr werdet automatisch in die Bearbeitungsansicht der Alexa-Developer-Konsole weitergeleitet.
Klickt auf JSON Editor. Überschreibt den Inhalt im Editorbereich mit dem Inhalt aus der Datei Alexa.txt, speichert das Model und klickt auf „Build Model“
Die Amazon-Developer-Konsole spielt eine Push-Nachricht aus, in der ihr darüber informiert werdet, dass der Build-Prozess gestartet wurde.
Wartet, bis die Konsole euch meldet, dass das Interaktionsmodell erfolgreich erstellt wurde.
Klickt auf „Endpoint“ und aktiviert die Checkbox bei „AWS Lambda ARN“. Den erstellten Skill ID werden wir später bei der Programmierung der Lambda Funktion brauchen.
Meldet euch bei eurem AWS-Konto an und wählt unter „Mein Konto“ die „AWS Management Console“ aus.
Stellt zunächst sicher, dass eure Konsole auf die Region „EU (Ireland)“ eingestellt ist, sofern euer Skill euch in Deutschland zur Verfügung stellen soll.
Gibt das Stichwort „Lambda“ in die Suchmaske ein und bestätigt mit Enter.
Klickt auf „Funktion erstellen“, um den Konfigurationsprozess für eine neue Lambda-Funktion zu starten.
Wählt die Option „Ohne Vorgabe erstellen“ und einen Namen für die Funkion aus. In unserem Beispiel soll die Funktion „MyBierLiftFunction“ heißen. Anschließend klickt auf Funktion erstellen.
Nachdem eure Lambda-Funktion erstellt wurde, werdet ihr automatisch in die Konfigurationsübersicht der Lambda-Funktion weitergeleitet, in der ihr alle weiteren Einstellungen vornimmt.
Im oberen Bereich der Konfigurationsübersicht findet ihr den Funktionsdesigner und einen Editor, mit dem ihr manuell in den Funktionscode eingreifen könnt.
Damit unser Alexa-Skill von Anwendern über einen Smart Speaker angesprochen werden kann, ist eine beidseitige Verknüpfung erforderlich. Im Bereich Designer klickt auf „+ Auslöser hinzufügen“.
Im folgenden Fenster wählt als Auslöser „Alexa Skills Kit“ aus. Aktiviert die Qualifikations-ID-Verifizierung, kopiert die Skill ID von der Alexa Developer Console (siehe oben das Bild mit dem Endpoint) in die Zwischenablage und tragt diese anschließend als Qualifikations-ID eurer Lambda-Funktion ein. Anschließend klickt auf Hinzufügen.
Um den Web-Service-Endpunkt für euren Skill zu definieren, scrollt in der Konfigurationsübersicht eurer Lambda-Funktion ganz nach oben. Kopiert den ARN in der rechten oberen Ecke eures Browserfensters in die Zwischenablage und wechselt in die Alexa-Developer-Konsole.
Wählt im Navigationsmenü der Alexa-Developer-Konsole erneut den Punkt „Endpoint“ aus (sofern dieser nicht bereits ausgewählt ist) und fügt den kopierten ARN in das Feld „Default Region“ ein. Klick anschließend auf „Save Endpoints“.
Kopiert den Inhalt der Textdatei Lambda.txt (für alte Steuerung Bierlift-Shield Lambda.txt) in die Zwischenablage und ruft die Konfigurationsübersicht eurer Lambda-Funktion in der AWS-Managementkonsole auf. Fügt nun das Template als Funktionscode für eure Lambda-Funktion ein. In der 2. Zeile muss gleich die Variable const token geändert werden. Fügt zwischen den Anführungszeichen euren Blynk Token ein. Optional könnt ihr gleich im Bereich Optionen die Alexa Antworten nach eurem Geschmack anpassen. Hierzu müssen lediglich die Texteingaben zwischen den Anführungszeichen geändert werden. Klickt auf „Deploy“, um die Änderung zu übernehmen
Testen
Um euren neuen Alexa-Skill zu nutzen, braucht ihr keine besonderen Kommandos. Ihr verwendet den selbst erstellten Bierlift Skill genauso wie diejenigen, die ihr schon von Drittanbietern verwendet habt.
Zum Starten sagt einfach „Alexa, starte Bier Lift“
Wenn Alexa „Bier Lift Skill gestartet“ antwortet, Glückwünsche! Ihr habt es geschafft. Euer Skill ist fertig und sofort einsatzbereit. Mit den Anweisungen, die ich oben beschrieben habe, könnt ihr nun euren Bierlift steuern.
Fazit
Der Bierlift Skill ist auch mein erster selbst entwickelter Skill. Bitte habt Verständnis dafür, dass ich hier nicht jedem dabei helfen kann, eventuelle Probleme zu lösen.
Wenn euch diese Anleitung geholfen hat, euren eigenen Bierlift Skill zu erstellen, dann würde ich mich über einen Kommentar natürlich freuen. Natürlich freue ich mich auch über Anregungen, Lob oder Kritik.
Hallo,
alles sehr sauber beschrieben und nachvollziehbar!
In der Zwischenzeit haben sich die Strukturen der Internetseiten von Amazon etwas verändert, es ist jedoch alles zu finden.
Ich habe alles mehrfach nach Ihrer Anleitung eingerichtet und Blynk etc. funktioniert auch. Selbst den Alexa Skill konnte ich aktivieren und mit Alexa über meinen Bierlift reden. Leider reagiert der Bierlift nicht auf Alexa und wenn ich nach der Temperatur frage sagt mir Alexa das die Temperatur „none“ Grad beträgt.
Also bekommt Alexa den Wert nicht und wird wohl aus den selben Grund auch keinen Wert an den Bierlift schicken können.
Abrufen der Werte über Link mit Token funktioniert prima, habe schon alles mehrfach durch und finde das Problem nicht. Gibt es dazu irgendwelche Lösungsansätze?
Besten Gruß
Frank
Hallo Frank,
vielen Dank.
Ich musste gerade feststellen, dass bei meinem Bierlift die Temperaturabfage über Alexa auch nicht mehr funktioniert. Ich konnte jedoch den Lift steuern. Ist bei Ihnen auch so?
Evtl. wurde etwas seitens Blynk geändert. Ich werde es demnächst prüfen.
Viele Grüße,
Eugen
Nein, den Lift kann ich über Alexa auch nicht steuern. Über Blynk schon, da funktionieren alle Funktionen mit Token, über Alexa funktioniert gar nichts. Werde mich am Wochenende nochmal damit beschäftigen, falls Sie das Problem bis dahin nicht schon gefunden haben.
das Problem mit der Temperatur habe ich gefunden und behoben. Amazon hat irgendetwas bei der Behandlung der Variablen geändert.
Das geänderte Lambda Skript ist im Download Bereich zu finden.
Ok, ich habe das neue Lambda Sript mal mit dem Alten verglichen, da währe ich jetzt so schnell nicht drauf gekommen. Funktioniert jetzt alles, vielen Dank! Interessant ist, dass ich 3 Bierlifte gleichzeitig mit Alexa gesteuert habe, die Bewegungen sind fasst syncron. Die Temperaturen werden immer von dem ausgegeben der zuerst online war. Sie sollten in der Anleitung noch angeben, dass Blynk im Menue aktiviert werden und der Token mit ID abgespeichert werden muss. Danke für die schnelle Hilfe!!!
Hallo,
vielen Dank für Ihre Rückmeldung.
Sie können für jeden Bierlift einen eigenen Alexa Skill erstellen. Man muss lediglich jedem Getränkekühler einen Namen vergeben, indem man ihn in der Developer Console unter Skill Invocation Name anpasst. Der Name muss aus mindestens zwei Worten bestehen. Natürlich muss auch jeder Bierlift einen eigenen Blynk Token haben.
Ich werde die Anleitung nach Ihrem Hinweis anpassen. Vielen Dank!
MfG,
Eugen