Amazon Alexa Skill (Michael Eckel)

Verbinde Robonect mit einem Alexa-Skill!
Erfahrungsaustausch von Anwendern.
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 (Michael Eckel)

Beitrag von eckelmi »

So, nach ein paar Anläufen habe ich den angepassten Skill endlich durch die Zertifizierung gebracht mit folgenden Erweiterungen:

Deutschsprachiger Skill:
Mähauftrag mit Standarddauer setzen (wie bisher): "Alexa, sage Mähroboter dass er mähen soll" setzt einen Mähauftrag und macht anschließend Feierabend
Mähauftrag mit individueller Dauer setzen (neu): "Alexa, sage Mähroboter dass er für x Minuten mähen soll" setzt einen Mähauftrag für x Minuten und macht anschließend Feierabend

Es gibt -wie bisher auch schon- noch weitere Varianten dazu, wie z.B.:
- Alexa, starte Mähroboter und erteile einen Mähauftrag [für X Minuten]
- Alexa, starte Mähroboter und setze den Modus auf Mähauftrag [für X Minuten]
- Alexa, starte Mähroboter und schicke den Roboter [für X Minuten] raus

Englischsprachiger Skill:
Assign a job with default duration (wie bisher): "Alexa, tell lawn mower to start mowing" to assign a job and set the mode to end of day afterwards
Assign a job with specific duration (neu): "Alexa, tell lawn mower to start mowing for x minutes to assign a job for x minutes and set the mode to end of day afterwards

Auch auf Englisch gibt es -wie bisher- noch weitere Varianten dazu, wie z.B.:
- Alexa, start lawn mower and assign a [x minute] job
- Alexa, start lawn mower and assign a job [for x minutes]
- Alexa, tell lawn mower to mow [for x minutes]
- Alexa, tell lawn mower to work [for x minutes]

Ich denke, das ist so eine ganz praktikable Lösung und hoffe, das trifft auf Gegenliebe :)

mow-joe
sehr erfahrener Forum-Nutzer
Beiträge: 135
Registriert: Mi 2. Aug 2017, 12:27
Wohnort: Bayern
Mäher: Husqvarna Automower 315
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.4)
Robonect Firmware: V1.2

Re: Amazon Alexa Skill (Michael Eckel)

Beitrag von mow-joe »

Vielen Dank!!! Ich teste, sobald das Wetter wieder etwas besser wird

Edit/Update - klasse. Funktioniert ausgezeichnet. VIELEN DANK!
Zuletzt geändert von mow-joe am Do 2. Mai 2019, 14:01, insgesamt 1-mal geändert.

demichve
Forum-Nutzer
Beiträge: 49
Registriert: So 8. Apr 2018, 13:38
Mäher: Gardena SILENO City 250
Firmware des Mähers (MSW): MSW 11.xx.xx
Herstellungsjahr: 2018
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0a

Re: Amazon Alexa Skill (Michael Eckel)

Beitrag von demichve »

Danke!
Werde auch mal testen!
Gute Erweiterung!

DJBeatMaster
Forum-Nutzer
Beiträge: 28
Registriert: Mo 15. Okt 2018, 17:26
Mäher: Husqvarna Automower 310
Firmware des Mähers (MSW): MSW 14.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.6)
Robonect Firmware: 1.2 Final

Re: Amazon Alexa Skill (Michael Eckel)

Beitrag von DJBeatMaster »

Hallo, wie sieht es denn bzgl. Sicherheit der Daten aus ? Immerhin trage ich hier meine Zugangsdaten zum Robonect Modul auf einer externen fremden Seite ein ?

Bitte nicht falsch verstehen, aber es sind immerhin doch sensible Daten die ein Fernsteuern des Mähers möglich machen.

Im Moment nutze ich noch den original Husqvarna Alexa Skill, damit auch mal meine Frau den Möher nach Hause schicken kann....

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 (Michael Eckel)

Beitrag von eckelmi »

@DJBeatMaster:

Die Registrierungswebsite (läuft bei all-inkl) speichert den Datensatz mit Alexa-ID sowie URL/Benutzer/Passwort in einer MySQL Datenbank (ebenfalls bei all-inkl). URL/Benutzer/Passwort werden hierbei mittels AES-256 verschlüsselt abgelegt.

Der Skill (läuft bei Amazon) fragt über einen Connector, der bei all-inkl läuft via https immer bei dieser Datenbank ab, ob es für seine Alexa-ID entsprechende Zugangsdaten gibt. Falls ja, werden diese verschlüsselt zum Skill (also von all-inkl zu Amazon) übermittelt. Diese werden dann vom Skill entschlüsselt und er erhält die URL/Zugangsdaten im Klartext, um diese dann zu verwenden, um die entsprechenden Steuerungs- oder Statusabfrage-Requests loszuschicken. Diese Requests (also zwischen Skill und mower.online im Falle von Robonect bzw. smart.gardena.com im Falle von Husqvarna/Gardena) erfolgen via https (außer im Fall von Typ Robonect-Modul mit Portforwarding, da wird einfach die angegebene URL genutzt).

Klar ist der Aufbau der Keys und des IV für die AES-Verschlüsselung aus den Skripts (also im Falle der Registrierungswebsite PHP oder im Falle des Skills node-js) ersichtlich (aber dazu bräuchte der Angreifer natürlich auch noch Zugriff auf die Datenbank, um die Daten dann - wie es der Skill letztlich auch macht - zu entschlüsseln).
Aber da die Daten ja in jedem Fall im Klartext benötigt werden (der Skill muss ja die URLs und Zugangsdaten kennen, um die Requests absetzen zu können), führt daran kein Weg vorbei - im Gegensatz zu simplem Passwort-Hashing (bei dem ja immer nur der Hashwert gespeichert werden muss, weil dies im Klartext später nicht wieder benötigt wird, sondern immer nur gegen den Hash verglichen wird).

Reicht dir das an Details?

Falls du Verbesserungen an dieser Vorgehensweise hast, gerne her damit.

DJBeatMaster
Forum-Nutzer
Beiträge: 28
Registriert: Mo 15. Okt 2018, 17:26
Mäher: Husqvarna Automower 310
Firmware des Mähers (MSW): MSW 14.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.6)
Robonect Firmware: 1.2 Final

Re: Amazon Alexa Skill (Michael Eckel)

Beitrag von DJBeatMaster »

Hallo @eckelmi

wow, das ging ja fix ! Ich danke Dir für deine Erläuterungen. Leider kann ich Dir aber nicht sagen ob man hier etwas Optimieren könnte weil ich mich mit den Hintergrundabläufen nicht auskenne.

RoboUser
Forum-Nutzer
Beiträge: 10
Registriert: Mo 19. Aug 2019, 13:56
Mäher: Gardena SILENO City 250
Firmware des Mähers (MSW): MSW 14.xx.xx
Herstellungsjahr: 2017 (Modell 2018)

Re: Amazon Alexa Skill (Michael Eckel)

Beitrag von RoboUser »

Hallo!

Nachdem bei mir das Robonect-Modul leider 2x zu einem Schaden an meinem Gardena Sileno city 250 Mähroboter geführt hat, habe ich mich für die Nachrüstung mit dem Gardena smart-System entschieden (Platine im Mähroboter + Gateway).

Ich verwende den Alexa Skill in Kombination mit dem Gardena Smart System. Den Alexa Skill finde ich super!

Allerdings habe ich bei folgenden Befehlen folgendes festgestellt:

Lt. Beschreibung soll der Befehl "Alexa, sage Mähroboter dass er mähen soll" den Mähroboter für 1 STUNDE mähen lassen. Bei mir startet der Roboter den Mähvorgang, allerdings wird dieser nach 1 MINUTE bereits wieder beendet...

Lt. Beschreibung soll der Befehl "Alex, sage Mähroboter dass er für x Minuten mähen soll" den Mähroboter für x Minuten mähen lassen. Bei mir antwortet Alexa, dann stets, dass sie den Mähroboter für 60 MINUTEN zum Mähen veranlasst hat (unbhängig von den x Minuten die ich angegeben habe), allerdings wird der Mähroboter auch nicht gestartet...

Hat jemand Erfahrung mit dem Skill bzw. kann jemand weiterhelfen? Ich finde die Steuerung mit dem Alexa-Skill genial und möchte ihn gerne nutzen.

Mähroboter: Sileno City 250, nachgerüstet mit smart Paket (Platine im Mähroboter + Gateway)
Software: MAIN = 14.05.00, HMI = 14.05.00, SUB = 6.05.00, COM = 14.01.00

Beste Grüße
Reinhard

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 (Michael Eckel)

Beitrag von eckelmi »

Hallo RoboUser,

der Skill ist natürlich primär für das Robonect-Modul gedacht, und mangels eigenem Sileno Smart kann ich die Funktion mit Sileno Smart auch gar nicht prüfen. Allerdings habe ich gerade in den Code des Skills geschaut und dabei tatsächlich einen Fehler beim Auslesen der Zeitangabe im Falle von Sileno Smart entdeckt. Diesen Fehler habe ich nun behoben, und ich hoffe, dass die Funktion nun planmäßig funktioniert. Könntest du nochmal probieren?

Die Zeitangabe mit Stunden ist übrigens generell nicht möglich, es werden nur Minutenangaben akzeptiert. Ich habe jedoch gesehen, dass dies auf der Verknüpfungswebsite etwas verwirrend beschrieben war und habe nun bei der Beschreibung für die möglichen Befehle dort nun das Wort "Stunde" vermieden.

Viele Grüße
Michael Eckel

RoboUser
Forum-Nutzer
Beiträge: 10
Registriert: Mo 19. Aug 2019, 13:56
Mäher: Gardena SILENO City 250
Firmware des Mähers (MSW): MSW 14.xx.xx
Herstellungsjahr: 2017 (Modell 2018)

Re: Amazon Alexa Skill (Michael Eckel)

Beitrag von RoboUser »

Hallo Michael,

vielen Dank für deine rasche Antwort!

Ja, ich weiß, ich hatte auch ursprünglich das Robonect-Modul und wollte es auch einsetzen. Leider hat es 2x verschiedene Platinen meines Mähroboters außer Gefecht gesetzt (obwohl im spannungslosen Zustand eingebaut, usw.). Ein drittes Mal wollte ich es nicht mehr riskieren...

Vorweg möchte ich aber sagen, dass ich mich gerne als Tester zur Verfügung stelle!

Ich habe nun folgende Befehle nochmals getestet:
(1) "Alexa, sage Mähroboter dass er mähen soll"
Reaktion: Der Roboter startet den Mähvorgang, allerdings wird dieser nach 1 MINUTE bereits wieder beendet. Reaktion ist also unverändert.

(2) "Alexa, sage Mähroboter dass er für x Minuten mähen soll"
Reaktion: Alexa antwortet nun (im Gegensatz zu meinem vorigen Posting) mit der richtigen Wiederholung der x Minuten. Allerdings wird der Mähroboter nicht gestartet.

Beste Grüße
Reinhard

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 (Michael Eckel)

Beitrag von eckelmi »

Danke für deine Rückmeldung. Interessanterweise ist das im Skill wirklich schon seit Anfang an so, und bisher hat noch keiner das Problem gemeldet :lol:

Könntest du mal schauen, ob bei "Alexa, sage Mähroboter dass er für 120 Minuten mähen soll" dann rauskommt, dass er für 2 Minuten mäht (oder 180 für 3 Minuten)? Ich hätte nämlich die Vermutung, dass der zu übergebende Parameter einfach die Anzahl der Sekunden anstatt Minuten ist... Obwohl das in der einzigen Dokumentation zu der GardenaAPI zwar definitiv anders steht... aber die halt auch nur inoffiziell...

Falls dies die Lösung wäre, könnte ich das Problem relativ leicht durch Multiplikation des Werts mit 60 beheben, ich würde nur gerne vorher wissen, ob dies wirklich der Hintergrund ist...

Antworten

Zurück zu „Amazon Alexa Skill“