Wie man mit Alexa Kodi steuert

Hier geht es um grundlegende Diskussionen bezüglich des Alexa Voice Service.
Benutzeravatar

Themenstarter
sakura13
Beiträge: 86
Registriert: Mi 2. Nov 2016, 09:08

Mo 9. Jan 2017, 15:16

Dachte wäre eventuell für manche von euch interessant

http://www.howtogeek.com/249336/how-to- ... azon-echo/

Benutzeravatar

Neothaler
Beiträge: 17
Registriert: Mo 2. Jan 2017, 15:48

Di 10. Jan 2017, 08:56

sakura13 hat geschrieben:Dachte wäre eventuell für manche von euch interessant

http://www.howtogeek.com/249336/how-to- ... azon-echo/
Interessant aber noch viel zu kompliziert für mich.

Benutzeravatar

John982
Beiträge: 154
Registriert: Di 15. Nov 2016, 19:38

Di 10. Jan 2017, 20:55

sehr interessant, damit könnte man den Echo/Alexa zum abspielen lokaler Medien verwenden...gleich mal auprobieren :-)

Benutzeravatar

John982
Beiträge: 154
Registriert: Di 15. Nov 2016, 19:38

Di 10. Jan 2017, 22:03

Ich werd bekloppt, das tut :-)

Benutzeravatar

tkder1
Beiträge: 16
Registriert: Do 24. Nov 2016, 08:34

Mi 11. Jan 2017, 08:38

Gab es Probleme oder lief wie in der Anleitung beschrieben?
Auf deutsch klappt auch alles?
Vll hast du sonst noch den ein oder anderen Tipp bei der Einrichtung? Schien ja in 2 Stunden erledigt zu sein. Versuche mich am Wochenende mal...

Benutzeravatar

John982
Beiträge: 154
Registriert: Di 15. Nov 2016, 19:38

Mi 11. Jan 2017, 12:24

tkder1 hat geschrieben:Gab es Probleme oder lief wie in der Anleitung beschrieben?
Auf deutsch klappt auch alles?
Vll hast du sonst noch den ein oder anderen Tipp bei der Einrichtung? Schien ja in 2 Stunden erledigt zu sein. Versuche mich am Wochenende mal...
An sich geht es wie in der Anleitung beschrieben....aber besser auch die Readme auf der Github Seite des Skill-Erstellers lesen.
Ich habe noch die Default Region von US-East-1 auf EU-West-1 umgestellt, in der AWS Console musst du dann auch EU-West-1 (Irland) wählen.
Dann ist es halt viel Fleißarbeit.
Python installieren, DynDNS registrieren, Portforwarding am Router, das skill deployen usw.

Das allerwichtigste. Das file ".env.lambda" aus dem skill.zip (das ist das File was man bearbeiten muss) darf man dann nicht einfach nach den änderungen speichern, sondern das file muss am ende ".env" als Dateinamen haben. Also quasi nur den Punkt und die Dateiendung. Da muss man drauf achten dass der Texteditor mit dem man es bearbeitet nicht ".env.txt" draus macht.

Die Sprachausgaben des skills sind natürlich nicht auf deutsch, sondern auf englisch. Diese hat der Skill-Entwickler aktuell hart codiert in der Datei "wsgi.py". Dort stehen die ganzen Sätze drin die Alexa als Antwort gibt.
Wenn du die auf deutsch haben willst, musst du eben aktuell in der Datei die englischen Sätze überschreiben. Das ist natürlich keine saubere Programmierung, sinnvoller wäre es, wenn man den skill vorn vornherein multi-language-fähig macht und dann eben language-files hat wie man das von anderen Programmen/Apps/Add-Ons auch kennt. Soll wohl auch auf der to-do-Liste für eine nächste Version des skills stehen.

Auf die Schnelle geht das aber auch so.

Immer dran denken, wenn du an den lokalen Dateien was änderst, musst du den skill neu deployen.

Und, auch ein kleiner Fallstrick, ich habe in meinen deutschen Antworten die ich in die "wsgi.py" geschrieben habe natürlich auch Umlaute drin, da hat es mir erstmal Fehler gehagelt als ich den skill getestet habe. Die Zeile

# This Python file uses the following encoding: utf-8

in Zeile 2 der Datei eingefügt hat da aber abhilfe geschaffen :-)

Wenn du auch willst dass die Karten die ja mit jedem Kommando in der Alexa-App dazukommen deutsche Bezeichnungen bekommen, kannst du auch diese Bezeichnungen in der Datei "wsgi.py" auf deutsch ändern. War mir aber zu blöd, deshalb habe ich es gelassen.

Dann musst du noch die ganzen Sätze die Alexa verstehen soll natürlich auch auf deutsch formulieren.
Die englischen die dem Skill-Ersteller eingefallen sind, stehen in der Datei "alexa.utterances". Das sind immerhin fast 2000 verschiedene mögliche Formulierungen für Anweisungen/Fragen an Alexa.
Ich habe für meine Zwecke nur etwas über 100 in deutsch hinzugefügt, dann ich weiß ja wie ich mit dem Ding reden will :-)
Ab und an fällt mir dann noch ne neue Formulierung ein, die füge ich dann eben in der Developer Console von Amazon beim Skill (Interaction Model) hinzu.

Also Bsp:
spiele Staffel {Season} Folge {Episode} von {Show}
spiele aus Staffel {Season} die Folge {Episode} von der Serie {Show}
zeige Staffel {Season} Folge {Episode} von {Show}
zeige Folge {Episode} Staffel {Season} von {Show}

usw usw... je nachdem ob du das "idiotensicher" machen willst, kannst du da eben mehr oder weniger Sätze formulieren, kommt halt auch drauf an ob nur einer oder mehrere den Echo/Kodi auf die Weise bedienen können sollen. Wenn man das alleine macht weiß man ja schnell wie man selber fragt.

Wichtig:
Hier keine Syntaxfehler machen. Also es müssen z.b. immer Leerzeichen vor den Platzhaltern sein.

Beispiel:
zeige Folge {Episode} Staffel {Season} von{Show}

bringt nen Fehler.

Das gleiche wenn du 2 Songs oder Filme mit dem gleichen Namen in den custom slots angibst. Doppelte Einträge mag er nicht. Und doppelte Anführungsstriche mag er in den custom slots Einträgen auch nicht. Wird dir aber beim Abspeichern in der Developer Console gleich angezeigt.

In die custom slots solltest du mMn aber mehr als nur jeweils 20-30 Einträge rein packen. Ich habe den slot generator vom Skill-Ersteller genutzt und einfach alle Filme, Songs, Serien und Interpreten da eingetragen die ich habe. So versteht Alexa es halt so wie ich das sehe deutlich besser

Bsp: zuerst hatte ich die Serie "Ally McBeal" da nicht eingetragen.
Auf mein Kommando "spiele Folge 1 von Staffel 1 von Ally McBeal" spielte er entweder die Serie "Alias" oder "Arrow" (die beide eingetragen waren).


Alles in allem, ja, wenn es sauber durchläuft kann es in 2h erledigt sein, das finetuning wird dann aber sicher noch ne Weile in Anspruch nehmen.

Extrakt:
Zudem ist es natürlich etwas irrsinnig, wenn ich dem Echo sage er soll ein Gerät steuern das gerade mal 1m weiter steht, dass die Anfrage/Kommando erstmal ins Internet geschickt wird, auf nem Amazon-Server verarbeitet wird und dann wieder zurück muss in mein lokales Netz. Hier wäre es wünschenswert dass irgendwann mal eine neue Generation Echos solche lokalen Sachen auch lokal verarbeiten kann, also dass man einen skill (app, add on) wirklich auf dem Gerät installieren kann, und nicht alles über die Cloud geht.
Neulich spackte z.B. mein unitiymedia Anschluss und ich konnte leicht überspitzt ausgedrückt nicht mal mehr den TV einschalten, geschweige denn irgendwas anderes steuern. Das muss eigentlich nicht sein.

Und, was man auch bedenken muss. Im Skill gibt man ja seine DYNDNS, username, passwort und Port an, sprich alle Daten die man von außen benötigt um ins eigene Netz auf den Kodi zu kommen. Und da der skill über Amazon läuft, gibt man Amazon also seine Zugangsdaten für das eigene Heimnetz.
Mich juckt´s nicht, aber das sollte einem eben klar sein, wobei Echo User vermutlich eh nicht unter Verfolgungswahn leiden und das nicht so eng sehen :-)

Benutzeravatar

tkder1
Beiträge: 16
Registriert: Do 24. Nov 2016, 08:34

Mi 11. Jan 2017, 13:40

wow. vielen Dank für die Ausführungen!

Benutzeravatar

John982
Beiträge: 154
Registriert: Di 15. Nov 2016, 19:38

Mi 11. Jan 2017, 18:21

Habe mal mit einer Anleitung auf Deutsch im Wiki angefangen, bin aber leider heute nicht fertig geworden, ich mache da alsbald weiter

wiki/anleitungen:abspielen_lokal_gespei ... rknuepfung

Benutzeravatar

Neothaler
Beiträge: 17
Registriert: Mo 2. Jan 2017, 15:48

Mi 11. Jan 2017, 22:00

John982 hat geschrieben:Habe mal mit einer Anleitung auf Deutsch im Wiki angefangen, bin aber leider heute nicht fertig geworden, ich mache da alsbald weiter

wiki/anleitungen:abspielen_lokal_gespei ... rknuepfung
Danke das ist ja mal was. Gleich mal einlesen...

Benutzeravatar

John982
Beiträge: 154
Registriert: Di 15. Nov 2016, 19:38

Mi 11. Jan 2017, 23:06

Neothaler hat geschrieben:
John982 hat geschrieben:Habe mal mit einer Anleitung auf Deutsch im Wiki angefangen, bin aber leider heute nicht fertig geworden, ich mache da alsbald weiter

wiki/anleitungen:abspielen_lokal_gespei ... rknuepfung
Danke das ist ja mal was. Gleich mal einlesen...
Habe es nun auch vervollständigt....Verbesserungsvorschläge bzw. wenn irgendein Schritt unlogisch erscheint oder was falsch sein sollte, einfach mir mitteilen (oder im Wiki gleich verbessern, dazu ist ja ein Wiki da :-))

Antworten
  • Information