Openwebif (Vu+ VTI, Enigma2, etc) Alexa Skill

Aus Mangel an Alternativen habe ich begonnen einen eigenen Alexa Skill zu schreiben der es erlaubt den Fernseher, genauer gesagt den Receiver fernzusteuern. Dazu benötigt man einen Linux Receiver mit Openwebif, da Openwebif eine API bereitstellt die ich nutze. In meinem Fall kommt ein Vu+ Solo2 Receiver mit VTI Image zum Einsatz. Durch den Skill kann man den Fernseher ein- und ausschalten sowie lautlos. Natürlich plane ich weitere Funktionen, jedoch möchte ich den Skill schon in dieser frühen Phase an interessierte Tester weitergeben um von Anfang an eine gute Qualität zu erreichen.

Warum einen neuen Skill?

Es gibt doch schon die Möglichkeit Openwebif per habridge und ähnlichem zu steuern. Warum also einen extra Skill? Jeder der bereits versucht hat die habridge mit den entsprechenden Funktionen einzustellen weiß was es für ein enormer Aufwand ist. Dieser Skill macht diese Konfiguration überflüssig. Auch wird kein Raspberry Pi oder ähnliches benötigt.

Nur wenige Zeilen für eigenen Skill

Den Skill habe ich in Javascript geschrieben und lasse ihn von Amazon in der Lambda Umgebung hosten. Der Skill besteht dank Amazon Alexa SDK aus nur wenigen Zeilen Code. Ein Großteil der Implementierung habe ich in Form einer Webseite in PHP geschrieben. Dort kann man sich per Amazon OAuth2 anmelden und muss dann seine Verbindungsdaten zum Linux Receiver hinterlegen.

Nutzt man nun den Skill weiß Alexa dank des OAuth2 welcher Benutzer angemeldet ist und gibt diese Information zusammen mit der gewünschten Aktion an die Webseite weiter. Die Webseite liest den Benutzer aus, suchst die Verbindungsdaten zu dessen Linux Receiver aus der Datenbank und schickt dann einen entsprechenden Befehl an die Openwebif Schnittstelle.

Eigentlich ein sehr überschaubarer Aufwand. Etwas herausfordernd ist das ganze jedoch schon da man nur begrenzte Debugging Möglichkeiten hat. Auch macht die Webseite etwas mehr als einfach nur die Schnittstelle aufzurufen. Zum einen prüft die Seite das sie wirklich nur vom Skill aus ausgerufen wurde, zum anderen muss die Webseite im engen Zusammenspiel mit Amazon (OAuth2) dafür sorgen das immer ein aktueller Benutzer angemeldet ist – davon bekommt der Anwender nichts mit (außer es tritt ein Fehler auf ;))

Es wird Zeit zum testen

Ich setze den Skill nun schon einige Tage ein.

4 Kommentare

  1. Hallo Matthias,

    klingt wirklich sehr interessant, wie sind denn deine Erfahrungen bisher? Ich versuchte das ganze über HTTP-Binding zu lösen, ist aber sehr aufwendig. Kannst du evtl eine Anleitung posten, wie du deinen Skill gemacht hast?
    Danke

  2. Hallo zusammen,

    nun einige Jahre später würde ich von der Lösung oben abraten. Es gibt inzwischen sicher gute Skills, außerdem nutze ich meinen Vu+ Receiver kaum noch, sodass ich diese Anwendung nicht weiter verfolge.

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*