Hyperion mit Alexa steuern

IoT

Schon seit ein paar Tagen habe ich nun auch ein paar LED-Streifen hinter meinem Fernseher, die dank Hyperion auf einem Raspberry Pi* mich in den Genuss von Philips Ambilight kommen lassen. Eine Demo davon gibt’s zum Beispiel hier.

Nun steht seit kurzem auch ein Echo Dot* auf meinem Wohnzimmertisch, und ich habe natürlich direkt geschaut, welche Geräte man noch mit Alexa steuern kann, die nicht im Standardrepertoire enthalten sind.

Der „normale“ Weg über AVS, bei dem ich extern einen Dienst mit SSL-Zertifikat usw. hosten muss, kam für mich erstmal nicht in Frage. Viel besser fand ich den Ansatz der ha-bridge. Diese emuliert eine Bridge für Philips-Hue-Geräte für Alexa und lässt einen für diese beliebige Aktionen festlegen. In Kombination mit hyperion-remote, das netterweise direkt mit Hyperion ausgeliefert wird, lässt sich das ganze sehr einfach mit Alexa steuern:

  1. ha-bridge downloaden und starten (Wichtig: Java 1.8. Wenn ihr kein Google Home habt, nehmt einen Port > 1024, damit ihr keine Root-Rechte braucht)
  2. Shellscript erzeugen, das sich via SSH auf dem Computer einloggt, auf dem Hyperion läuft und mit hyperion-remote die gewünschte Farbe/Effekt einstellt. Beispiel
    #!/bin/bash ssh pi@hyper "hyperion-remote --effect 'Knight rider'"
  3. Gerät in ha-bridge anlegen, das das Skript beim gewünschten Event aufruft

DDanach muss man Alexa nur noch sagen, dass sie neue Geräte suchen soll, und nach ein paar Sekunden sollte Alexa in der Lage sein:

7 Gedanken zu “Hyperion mit Alexa steuern

  1. Hi Sören,

    vielen Dank für deinen Artikel. Das ist genau das wonach ich gesucht habe.

    Könntest du bitte ein Screenshot von den Device-Details machen? Bei mir funktioniert es noch nicht so ganz. 🙂

    VG

    1. Ich war nicht sehr informativ. Das will ich nun nachholen. 🙂

      Ich kriege beim test on button eine success-Meldung, doch den knight rider Effekt kriege ich nicht zu Gesicht. Auch wenn ich per Sprachsteuerung mein Echo ansteuere, scheint Alexa keine Probleme damit zu haben. Nur sehe ich leider nichts.

      Führe ich die Shell über den Termin aus, klappt alles wunderbar. Permissions habe ich richtig gesetzt.

      Was wird hier bei dir unter folgender URL angezeigt? http://192.168.1.50:81/api/devices

      Ich kriege folgendes:
      [{„id“:“1″,“uniqueid“:“00:17:88:5E:D3:01-01″,“name“:“knight rider“,“mapType“:“cmdDevice“,“deviceType“:“custom“,“onUrl“:“[{\“item\“:\“/home/pi/echo_hyper_knight.sh\“,\“type\“:\“cmdDevice\“,\“httpVerb\“:\“POST\“,\“contentType\“:\“*/*\“,\“delay\“:\“20\“}]“,“inactive“:false,“noState“:true,“deviceState“:{„on“:false,“bri“:0,“hue“:0,“sat“:0,“effect“:“none“,“ct“:0,“alert“:“none“,“reachable“:true}}]

      Ich hoffe du kannst mir helfen. 🙂

    2. Jetzt habe ich gemerkt, dass ein python script tadelos funktioniert. Merkwüridg.

    3. Wie authentifiziert du dich denn via SSH am dem PC wo Hyperion drauf läuft? Oder ist das der gleiche? Ich hätte das Problem eher im Shell Script gesucht, deine ha-bridge Konfiguration sieht gut aus! Aber solange es mit Python klappt ist ja alles gut 😉 Vielleicht wäre in diesem Zuge auch Home Assistant für dich interessant, vor allem wenn du Python beherrscht!

  2. tcp://192.168.0.3:19444/{\“command\“:\“clearall\“}\r\n

    Es können auch TCP Commands direkt geschickt werden ohne Umweg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert