Amazon Alexa Skill - Guide zur Einrichtung

Verbinde Robonect mit einem Alexa-Skill!
Erfahrungsaustausch von Anwendern.
Antworten
eckelmi
erfahrener Forum-Nutzer
Beiträge: 71
Registriert: Mo 24. Apr 2017, 08:17
Wohnort: Lindau
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.3)
Robonect Firmware: 1.2 final

Amazon Alexa Skill - Guide zur Einrichtung

Beitrag von eckelmi »

Nachdem die Infos zum Alexa-Skill hier etwas durcheinander sind, hier mal eine Zusammenfassung:


Voraussetzungen
  • ein Robonect-kompatibler Rasenmäherroboter von Husqvarna / Gardena / Flymo / McCulloch mit Robonect Modul
  • ein Gerät mit Amazon Alexa, wie z.B. den Amazon Echo
  • eine durch Portforwarding am Router öffentlich aus dem Internet erreichbare Robonect-Oberfläche:
    Anleitung für die FRITZ!Box
    1. sicherstellen, dass bei Verwendung vom DHCP im Heimnetz das Robonect-Modul immer dieselbe IP zugewiesen bekommt (damit das Portforwarding auch nach etlichen An-/Abmeldungen des Robonect-Moduls im WLAN noch richtig funktionieren wird)
    2. eine Portfreigabe eines gewünschten Ports von außen (z.B. 8080) auf den Port 80 an die interne IP-Adresse des Robonect-Moduls einrichten
    3. ggf. einen DynDNS-Dienst nutzen und idealerweise ebenfalls im Router hinterlegen, wenn Sie keine feste IP-Adresse haben (damit das Heimnetz dynamisch zugewiesenen IP-Adressen über einen festen Domainnamen ständig erreichbar ist)
    4. das Robonect-Oberfläche mit einem Passwort versehen, sonst kann jeder aus dem Internet darauf zugreifen
Aufgrund einer Anfrage eines Nutzers habe ich den Skill um eine direkte Zugriffsmöglichkeit auf das Gardena Smart System erweitert. Ich habe selber kein entsprechendes System, so dass ein Testen bei Problemen nur mit von Kunden zur Verfügung gestellten Zugangsdaten möglich ist. In dem einen Fall scheint es jedenfalls zu funktionieren, aber ob es im großen Stil tut, kann ich noch nicht sagen. Aber ich dachte, ich integriere den mehrstufigen Gardena API-Zugriff mal schnell innerhalb von 2 Tagen, bevor Husqvarna pünktlich zum Saisonende im Herbst dann endlich auch mit einem eigenen Skill auf den Markt kommt (zudem zunächst nur auf Englisch). Da dies mit Robonect aber nichts zu tun hat, möchte ich hier nicht weiter darauf eingehen. Um aber Irritationen zu vermeiden, wollte ich es zumindest mal erwähnt haben.


Aktivieren des Skills
Der Skill "Robonect Mähroboter" muss über den Amazon Store lediglich aktiviert werden: entweder über die App oder die Anweisung "Alexa, aktiviere Mähroboter" (so wie jeder andere Skill auch, den man neu aktivieren möchte). Beim ersten Start wird eine Alexa-ID und die URL für die Verknüpfungswebsite https://robonect.michael-eckel.de ausgeben (auch textuell auf die Alexa-App).

Sollte man die Alexa-ID später noch einmal benötigen (z.B. um die Verknüpfung zu ändern oder zu löschen, wird diese auch mittels "Alexa, frage Mähroboter nach Hilfe" ausgeben).


Alexa-ID mit eigener Robonect-URL verknüpfen
Die Verknüpfungswebsite https://robonect.michael-eckel.de im Browser aufrufen, und die über den Skill ausgegebene Alexa-ID sowie die öffentliche Robonect-URL eingeben. Mit Abschicken des Formulars wird dann direkt versucht, auf die Robonect-URL zuzugreifen, und im Fehlerfall eine entsprechende Meldung ausgegeben. Wichtig ist, Benutzername/Passwort in der angegebenen Form in die URL zu integrieren: http://robonectuser:robonectpass@host:port

Diese Verknüpfung ist nötig, weil ja jeder Nutzer seinen eigenen Mähroboter steuern möchte, und nicht alle denselben. Deshalb frägt der Skill dann bei jedem Aufruf bei der Verknüpfungswebsite ab, ob eine (und wenn ja, welche) verknüpfte Robonect-URL zur eigenen Alexa-ID vorhanden ist. Danach wird auf die API der verknüpften Robonect-URL zugegriffen.
Diese etwas sonderbare Vorgehensweise erspart das Amazon-eigene Account-Linking, für welches eine Accountverwaltung umgesetzt werden müsste, und sich jeder noch einen Benutzernamen und ein Passwort merken müsste, mit welchem dann die Robonect-URL verwaltet werden würde.

Das Löschen oder Ändern einer Verknüpfung ist hier ebenso möglich: einfach die eigene Alexa-ID und die neue Robonect-URL eingeben, oder zum Löschen das Robonect-URL Feld leer lassen. Die Verknüpfungen werden in einer MySQL-Tabelle mit folgenden Spalten abgelegt: ALEXA_ID, URL(AES_VERSCHLÜSSELT), LETZTE_AENDERUNG


Verwenden des Skills
Wenn beim Start des Alexa-Skills dann nicht mehr die Meldung kommt, dass verknüpft werden muss, hat die Verküpfung auch funktioniert (sonst wurde vermutlich die Alexa-ID falsch eingetragen).

Folgende Befehle werden aktuell unterstützt (teilweise auch in zusätzlichen Variationen):
  • "Alexa, starte Mähroboter" oder "Alexa, frage Mähroboter nach dem Status" fragt den aktuellen Status ab
  • "Alexa, sage Mähroboter dass er den Modus auf Auto|Manuell|Home|Feierabend setzen soll" setzt den Modus auf Auto|Manuell|Home|Feierabend
  • "Alexa, sage Mähroboter dass er Feierabend machen soll" setzt den Modus auf Feierabend
  • "Alexa, sage Mähroboter dass er mähen soll" setzt einen Mähauftrag und macht anschließend Feierabend
  • "Alexa, frage Mähroboter nach Hilfe" schickt eine Liste der Befehle auf die Alexa App

Troubleshooting
Falls jemand mit dem Portforwarding Probleme hat, dann empfehle ich folgendes Vorgehen:
  1. Ist das Robonect-Modul lokal im LAN erreichbar? Wenn nein, Robonect WLAN-Problem.
    => Im Browser http://robbi (d.h. lokaler robonect-Name) bzw. http://192.168.1.XX (d.h. lokale IP-Adresse von Robonect) aufrufen
  2. Ist das Robonect-Modul außerhalb vom eigenen LAN über deine öffentliche IP-Adresse erreichbar? Wenn nein, Portforwarding-Problem.
    => Im Browser http://1.2.3.4:8080 (öffentliche IP, ermittelbar über www.wieistmeineip.de) aufrufen, wobei 8080 dem externen Port entsprechen sollte, über den am Router das Portforwarding zum Robonect-Modul eingestellt wurde
  3. Ist das Robonect-Modul außerhalb vom eigenen LAN über die eigene DynDNS-Domain erreichbar? Wenn nein, DynDNS-Problem.
    => Im Browser http://meindyndnsname.net:8080 aufrufen, wobei meindyndnsname.net der (Sub-)Domain des eigenen DynDNS-Anbieters und 8080 dem externen Port der Portfreigabe entspricht, über den du am Router das Portforwarding zum Robonect-Modul eingestellt wurde

rczybik
Forum-Anfänger
Beiträge: 2
Registriert: Mo 29. Mai 2017, 12:24
Wohnort: Kaufungen
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect H30x (Rev.0)
Robonect Firmware: 1.0

Re: Amazon Alexa Skill - Guide zur Einrichtung

Beitrag von rczybik »

Hallo,
irgendetwas mache ich falsch. Intern kann ich das Robonect Modul H30x Rev 0 erreichen, aber aus dem Internet nicht. Ich habe eine feste IP Adresse. Die in der Fritz-Box von außen über Https://IP:Port (nicht 8080, da das nicht funktioniert) funktioniert, also ich kann die Fritz-Box vom Internet erreichen, muss mich dann in der Frtz-Box mit Anmeldenamen und Passwort einloggen. Ich gebe dann die IP Adresse in die Anmelde Oberfläche (robonect.michael-eckel.de) ein: Http://IP Adresse/Benutzername:Kennwort@interne IP Adresse vom Mähroboter. Die Alexa ID natürlich auch. Ohne Portangabe oder auch mit funktioniert es nicht. Ich kann auch HTTPS:// benutzen funktioniert auch nicht. Ich weiß also meine öffentliche Robonect Adresse nicht....Ich habe schon alles Mögliche ausprobiert und komme nicht weiter.

Wenn mir hier jemand weiterhelfen könnte wäre ich sehr dankbar. Gerne auch über E-Mail (rczybik@gmail.com)

Danke schon einmal im voraus....

eckelmi
erfahrener Forum-Nutzer
Beiträge: 71
Registriert: Mo 24. Apr 2017, 08:17
Wohnort: Lindau
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.3)
Robonect Firmware: 1.2 final

Re: Amazon Alexa Skill - Guide zur Einrichtung

Beitrag von eckelmi »

Hast du Portforwarding an der FRITZ!Box konfiguriert (siehe https://avm.de/service/fritzbox/fritzbo ... inrichten/)? Dies ist zwingend erforderlich.

Bei mir sieht das so aus:
Bild
Bzw. in den Details der Freigaben des Geräts dann so:
Bild
(Der Port am Gerät muss von/bis 80 sein, der externe Port ist frei definierbar, bei mir 8080)

Hast du Schritt 2 vom Troubleshooting probiert? Schritt 1 scheint ja wohl zu funktionieren, Schritt 3 ist überflüssig, wenn du ohne DynDNS Anbieter arbeitest.

Ich würde so vorgehen: schaue, wie deine öffentliche IP-Adresse ist - am einfachsten über wieistmeineip.de
Diese versuchst du über einen Browser außerhalb des eigenen WLANs aufzurufen (z.B. am Smartphone ohne aktiviertes WLAN über Mobilfunkdaten), ggf. plus ":Port" (bei mir also :8080) sofern der oben konfigurierte externe Port der Portweiterleitung ungleich 80 ist. Solange du darüber nicht auf die Robonect-Oberfläche kommst, brauchst du die Verknüpfungswebsite gar nicht versuchen ;) Du darfst also nicht auf die FRITZ!Box Anmeldungsseite kommen, sondern musst auf die Robonect-Oberfläche kommen. Und wenn es dann so klappt, ist genau dies (zzgl. Robonect Benutzername+Passwort) die URL, die du auf der Verknüpfungswebsite eintragen musst.
rczybik hat geschrieben:
Sa 21. Apr 2018, 08:16
Ich gebe dann die IP Adresse in die Anmelde Oberfläche (robonect.michael-eckel.de) ein: Http://IP Adresse/Benutzername:Kennwort@interne IP Adresse vom Mähroboter.
Ich weiß nicht, ob das nur ein Schreibfehler war, aber in der Verknüpfungswebsite darf auf keinen Fall die interne IP Adresse von Robonect, sondern immer externe IP-Adresse (also auf keinen Fall etwas mit 192.168.xxx.xxx, sondern die von wieistmeineip.de), also die vom obigen Test.

rczybik
Forum-Anfänger
Beiträge: 2
Registriert: Mo 29. Mai 2017, 12:24
Wohnort: Kaufungen
Mäher: Husqvarna Automower 305
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect H30x (Rev.0)
Robonect Firmware: 1.0

Re: Amazon Alexa Skill - Guide zur Einrichtung

Beitrag von rczybik »

Vielen Dank für die schnelle Antwort. Nach der Beschreibung habe ich es nocheinmal probiert und siehe da es klappt.

Danke nochmals. :D

Maj0r
Forum-Nutzer
Beiträge: 40
Registriert: So 7. Aug 2016, 17:52
Wohnort: Jüchen
Mäher: Gardena R70Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.0)
Robonect Firmware: V1.0 Beta 3

Re: Amazon Alexa Skill - Guide zur Einrichtung

Beitrag von Maj0r »

Hallo,

wurde schon überlegt, das Bild der Kamera auszugeben (nur Standbild)?

Ich habe eine Alexa-Show, das ist schon ziemlich cool für Webcams, nutze es derzeit in Kombination mit einer Nest-Cam für meine Haustür.
Funktioniert auch mit Fire-TV und dem Echo Spot.

Ich mache selbst auch Skills, weiß daher auch um die Probleme:
Grundsätzlich sind nur öffentliche Bilder per Skill verwendbar (z.B. über Amazon-S3), das Kamera-Bild müsste bei der Anfrage hochgeladen und dann vom Skill verwendet werden. Man könnte das über generische Urls machen. So macht es auch der "inoffizielle" Alexa-Google-Skill, der automatisch Sprachantworten erzeugt.

Grüße

eckelmi
erfahrener Forum-Nutzer
Beiträge: 71
Registriert: Mo 24. Apr 2017, 08:17
Wohnort: Lindau
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.3)
Robonect Firmware: 1.2 final

Re: Amazon Alexa Skill - Guide zur Einrichtung

Beitrag von eckelmi »

@Maj0r Wenn ich richtig informiert bin, wird das Bild der Kamera doch auf http://(dyndns-domain)/cam.jpg bereitgestellt, und durch das Portforwarding am Router müsste das ja dann ebenfalls öffentlich erreichbar sein. Falls die HTTP-Authorization ein Problem darstellt, müsste das Bild ggf. "durchgeschleust" werden über eine URL ohne Passwortschutz. Das denke ich wäre nicht das Problem.
Allerdings habe ich damit zwei andere, schwerwiegendere Probleme:
1. ich selbst habe keine Kamera
2. ich selbst habe keinen Echo Show/Spot
Aber die Idee ist natürlich grundsätzlich durchaus reizvoll, ggf. würde ich mich auch mal an einen Blindversuch heranwagen, bräuchte dann aber definitiv deine Mithilfe (Robonect Zugangsdaten und Alexa-ID), um zumindest den Zugriff auf das Bild selbst testen zu können. Ich würde mich aber erst mal schlau machen, ob das grundsätzlich funktionieren könnte und mich dann bei dir per PN melden. Allerdings nicht vor Anfang Mai...

Antworten

Zurück zu „Amazon Alexa Skill“