Seite 1 von 1

Google Action (für Google Assistant und Google Home)

Verfasst: Do 31. Mai 2018, 11:06
von eckelmi
Aufgrund eines Nutzerwunsches habe ich basierend auf meinem Alexa-Skill eine Google Action erstellt (für Google Assistant und Google home).

Vorneweg: Mit Google Actions habe ich sehr wenig Erfahrung, um ehrlich zu sein, habe ich außer meiner eigenen Robonect Action bisher noch nie eine andere überhaupt benutzt. Aktuell besitze ich noch nicht einmal ein Google home (deshalb kann ich dort auch nichts zum Ablauf, insbesondere bei der Accountverknüpfung, sagen), sondern kann nur mit dem Google Assistant auf Android üben, dies wird sich aber zeitnah ändern. Deshalb bitte nicht steinigen, falls das Ganze dann doch aus irgendwelchen Gründen irgendwie nicht funktionieren sollte. Google sagt, die Action wäre im Status Production und deployed, was ich dahingehend interpretiere, dass sie öffentlich auffindbar sein sollte.


Voraussetzungen
  • ein Robonect-kompatibler Rasenmäherroboter von Husqvarna / Gardena / Flymo / McCulloch mit Robonect Modul
  • ein Gerät mit Google Action Unterstützung, wie z.B. Google home oder den Google Assistant
  • 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 einigen Fällen scheint es jedenfalls beim Alexa-Skill bereits zu funktionieren, aber ob es im großen Stil tut, kann ich noch nicht sagen. 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 der Google Action, Vornehmen der Accountverknüpfung
Die Action "Robonect Mähroboter" sollte im Google Assistant über die Google Actions aktiviert werden können. Dort kann auch die Accountverknüpfung vorgenommen werden (ähnlich beim Alexa Skill), allerdings über die Google Account Linking Funktionalität umgesetzt.
Die Action sollte auch mit "Spreche mit Robonect Mähroboter" gestartet werden können, woraufhin dann beim erstmaligen Start die Accountverknüpfung vorgenommen werden muss. Über das Google Account Linking kann die Verknüpfung auch wieder getrennt werden.


Verwenden der Google Action

Folgende Befehle werden aktuell unterstützt (ggf. auch in zusätzlichen Variationen):
  • "OK Google, spreche mit Robonect Mähroboter" oder "OK Google, frage Robonect Mähroboter nach dem Status" fragt den aktuellen Status ab
  • "OK Google, frage Robonect Mähroboter, ob er den Modus auf Auto|manuell|home|Feierabend setzen kann" setzt den Modus auf Auto|manuell|home|Feierabend
  • "OK Google, frage Robonect Mähroboter, ob er Feierabend machen kann" setzt den Modus auf Feierabend
  • "OK Google, frage Robonect Mähroboter, ob er mähen kann" setzt einen Mähauftrag und macht anschließend Feierabend
  • "OK Google, frage Robonect Mähroboter nach der Beschreibung" gibt diese Befehlsliste und die eigene User-ID aus

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

Weitere Infos: https://robonect.michael-eckel.de/google.php

Feedback oder Probleme sind natürlich willkommen, am liebsten hier im Forum.
Sofern alles funktioniert wäre ich über eine Bewertung bei Google auch ganz dankbar :)