(Howto) Hyperion Ambilight über Amazon Alexa steuern

(Howto) Hyperion Ambilight über Amazon Alexa steuern Seit einiger Zeit hat Amazons Alexa einen Platz in unserem Wohnzimmer eingenommen. Lichter und Steckdosen steuern ist hier nichts mehr neues und schnell kam die Überlegung das Ambilight, welches über Hyperion auf dem Raspberry Pi läuft, ebenfalls mit Alexa ansteuern zu können.

Seit einiger Zeit hat Amazons Alexa einen Platz in unserem Wohnzimmer eingenommen. Lichter und Steckdosen steuern ist hier nichts mehr neues und schnell kam die Überlegung das Ambilight, welches über Hyperion auf dem Raspberry Pi läuft, ebenfalls mit Alexa ansteuern zu können.

Das Ganze funktioniert sogar relativ einfach mithilfe von „ha-bridge“. Die Software emuliert eine Philips Hue Bridge und ermöglicht die direkte Steuerung von Hyperion über Alexa. So könnt ihr dann Befehle geben wie „Alexa, schalte Ambilight an“.

Wie ihr das alles einrichtet und was sich sonst noch alles damit machen lässt, erfahrt ihr in diesem Beitrag.

Anleitung:

ha-bridge installieren

loggt euch auf eurem Raspberry Pi auf dem Hyperion läuft über SSH ein und prüft, ob ihr Java installiert habt.

java -version

Wenn keine Versionsnummer angezeigt wird und ein Fehler erscheint, dann müsst ihr erst Java mit diesem Befehl installieren:

sudo apt-get update && sudo apt-get install oracle-java8-jdk

Im Home Ordner führt ihr jetzt nacheinander diese Befehle aus, um ha-bridge zu installieren:

mkdir habridge
cd habridge
wget https://github.com/bwssytems/ha-bridge/releases/download/v5.1.0/ha-bridge-5.1.0.jar

habridge Service

cd /etc/systemd/system
sudo nano habridge.service

Folgenden Text einfügen. Wählt als Port z.B. 81 oder einen über 1024, damit ihr keine Root Rechte benötigt.

[Unit]
Description=HA Bridge
Wants=network.target
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/bin/java -jar -Dserver.port=81 -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar
 
[Install]
WantedBy=multi-user.target

Mit Strg+X schließen und „Y“ mit anschließendem Enter die Datei speichern.

Jetzt die systemctl neustarten und habridge starten.

sudo systemctl daemon-reload
sudo systemctl enable habridge.service

Sollten Fehler erscheinen, könnt ihr diese im Log nachsehen.

tail -f /var/log/syslog

Nun erstellt ihr ein Start Script..

cd ~/habridge 

nano starthabridge.sh

..fügt den folgenden Code ein. Anschließend wieder mit Strg+X und Y schließen und speichern:

cd /home/pi/habridge

rm /home/pi/habridge/habridge-log.txt

nohup java -jar -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge-5.1.0.jar > /home/pi/habridge/habridge-log.txt 2>&1 &

chmod 777 /home/pi/habridge/habridge-log.txt

Dem Skript die benötigen Rechte verteilen:

chmod u+x starthabridge.sh

Hyperion Skripte

Ich habe mir nun im Home Ordner den Ordner „hyperion“ angelegt, (könnt dieses natürlich auch anders nennen) und habe dort meine ganzen Skripte reingelegt.

In meinem Fall habe ich eine neue Hyperion Config angelegt und hier keinen Grabber ausgewählt, Starteffekt rausgenommen und Startfarbe auf Schwarz gesetzt.
Diese config habe ich dann in den Autostart gesetzt, sodass beim Starten des Raspberrys das Ambilight erst mal ausbleibt. 

Das „AN“ Skript sieht dann folgendermaßen aus und startet die richtige Config.

#!/bin/sh
sudo killall hyperiond
sleep 1
sudo /usr/bin/hyperiond /etc/hyperion/hyperion.config.json
</dev/null >/dev/null 2>&1 &

Speichert es dann zB. unter dem Namen hyperion_an.sh in eurem eben erstellen Ordner ab.

Für das „AUS“ Skript habe ich folgendes gewählt und hyperion_aus.sh genannt.

#!/bin/bash
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"id":1,"jsonrpc":"2.0","method":"GUI.ShowNotification","params":{"title":"Hyperion","message":"Enabled","image":"/home/pi/hyperion.png"}}' http://127.0.0.1:8080/jsonrpc
hyperion-remote --color black

Dieses setzt dann einfach die Farbe des Ambilight auf Schwarz. Das hat den Vorteil, dass es durch Störungen oder Stromschwankungen hier nicht zu einem Blitzen der LEDs kommt, weil Hyperion immer den Schwarz Wert sendet.

Wichtig an dieser Stelle: Gebt den Skripten 777 Berechtigungen, sodass sie ausführbar sind.
chmod 777 ~/hyperion/skript.sh

habridge Webinterface / Konfiguration

Loggt euch nun mit dem Browser auf das ha-bridge Interface mit dem von euch gewählten Port ein:
Bsp. http://192.168.1.100:81
Das sollte dann so aussehen:

(Howto) Hyperion Ambilight über Amazon Alexa steuern Seit einiger Zeit hat Amazons Alexa einen Platz in unserem Wohnzimmer eingenommen. Lichter und Steckdosen steuern ist hier nichts mehr neues und schnell kam die Überlegung das Ambilight, welches über Hyperion auf dem Raspberry Pi läuft, ebenfalls mit Alexa ansteuern zu können.

Klickt in der Menüleiste auf Add/Edit und fügt ein neues Gerät hinzu. Als Name irgendetwas eindeutiges wählen, was später dann das Signalwort für Alexa ist.
Device Type und Map Type auf „Execute Command/Script…“ setzten.

Bei On bzw. Off Items unten wählt ihr ebenfalls „Execute Command/Script..“ und gebt bei Target Item den Pfad zu eurem Skript ein.
/home/pi/hyperion/skript.sh

(Howto) Hyperion Ambilight über Amazon Alexa steuern Seit einiger Zeit hat Amazons Alexa einen Platz in unserem Wohnzimmer eingenommen. Lichter und Steckdosen steuern ist hier nichts mehr neues und schnell kam die Überlegung das Ambilight, welches über Hyperion auf dem Raspberry Pi läuft, ebenfalls mit Alexa ansteuern zu können.

Rechts dann auf Add klicken und danach oben auf „Add Bridge Device“ zum Abspeichern.

Jetzt sagt ihr Alexa „Suche nach neuen Geräten“ oder macht es manuell über die App und euer neu hinzugefügtes Gerät sollte jetzt erscheinen und ansteuerbar sein.

FERTIG.

Möchtet ihr nun auch noch Effekte und Farben steuern, müsst ihr für jedes ein extra Skript anlegen.

Skript Beispiel zum Starten des Effektes „Red mood blobs“ wäre:

#!/bin/bash
sudo hyperion-remote -e "Red mood blobs"

Skript Beispiel zum Anschalten der Farbe Blau

#!/bin/bash
sudo hyperion-remote -c blue

Ich habe bei mir unter ON-Items immer das Skript eingetragen zum Anschalten der Farbe bzw. des Effektes und unter OFF-Items dann die Farbe Schwarz zum Ausschalten. Gibt natürlich auch paar andere Möglichkeiten.


Wenn ihr auch noch gute Ideen für die Steuerung und coole Skripte habt, freue ich mich über Kommentare :).

9 Comments

  1. Jürgen

    Hallo Patrick,

    ich habe heute diese Anleitung gefunden und versuche das gerade bei mir umzusetzen. Die Installation von Java musste ich mir zwar an anderer Stelle suchen, damit ich sie „hinbekommen“ habe – das läuft aber nun und obwohl ich die Anleitung fehlerlos nachstellen konnte, scheitere ich jetzt an der Stelle, an der ich mich mit dem Browser auf dem HA Bridge Interface einloggen möchte.
    Beim Reboot des Pi sehe ich, dass die HA Bridge ohne Fehlermeldung gestartet wird, als Port habe ich 1024 angegeben (habe es aber auch schon mit 81 und 1028 ausprobiert), aber wenn ich in meinen Browsern (Chrome und Edge) die Adresse 192.168.178.29:1024 eingebe, erhalte ich ständig die Meldung, dass diese Website nicht erreichbar ist und die Verbindung abgelehnt wurde.

    Kann es evtl. sein, dass ich diesen Port noch irgendwie in meinem Netzwerk freigeben muss? In meiner Fritzbox dürfen die Geräte untereinander kommunizieren, und testweise habe ich meinem PI auch selbständige Portfreigaben erlaubt.

    Ich hoffe, Du liest hier überhaupt noch mit und kannst mir einen Tipp geben, woran das vielleicht liegen könnte.

    Vielen Dank und viele Grüße, Jürgen

  2. Chris

    Hey, danke für diese Anleitung, hat alles super geklappt! Hast du ne Idee wie ich das Licht dimmen kann? ich komm nämlich nicht drauf. Ich hatte es hiermiet probiert aber es will wohl nicht „hyperion-remote -v ${intensity.percent}“

  3. sakis

    Hallo, danke erstmal für die Ausführliche Anleitung.
    Ich habe alles so gemacht wie du es beschrieben hast, doch leider findet mein Echo-Dot keine Geräte.

    Wäre über einen Tipp sehr dankbar.

    LG
    Sakis

  4. Veit

    Hi Patrick

    bekomme das ganz auf libreelec nicht installiert, da ich nur die Leserechte auf dem Pfad /etc habe.
    Wie hast du das ganze da installiert?

  5. Sebastian

    Hi,

    coole Sache und vielen Dank für die Anleitung!

    Laut dem Webinterface kann ich mein Hyperion schalten, aber mit dem „on“ Skript passiert nichts am LED Strip .. vermutlich weil nur der hyperiond restartet wird (der läuft bei mir aber sowieso automatisch mit Boot)?

    Kannst Du etwas ausführlicher Beschreiben, wie Du die Konfiguration zum Farben umschalten gebaut hast? Ich habe die Skripte jetzt unter „Color Items“ – ist das falsch?

    Meine Alexa findet das Gerät leider nicht. Braucht es noch die Hue App, um die emulierte Bridge zu finden?

    Und noch ein kleines Feedback: das Start-Skript erwartet das jar file als „ha-bridge.jar“, heruntergeladen wird mit dem curl aber i.d.R. ein file, das „ha-bridge-x.xx.xxx.jar“ heißt, also eine Versionsnummer angehängt hat.
    Ich würde empfehlen einen symlink zu erzeugen, um „ha-bridge.jar“ auf das heruntergeladene File zu linken.

  6. Maik

    Hallo
    Hab Es so wie beschrieben ausgeführt ha bridge kann ich starten.das ambilight als Gerät wird auch erkannt. Wenn ich jetzt testen möchte kommen grüne Popups gehe ich auf aus geht ambilight aus gehe ich auf on bleibt es aus obwohl die Wege zum Script stimmen
    Hast du mal einen tip

    1. Patrick

      Was steht denn in den PopUps drin? Fehlermeldung oder Request Executed: success…
      Wie sieht dein EIN-Script aus? Hast du die richtige Hyperion Config dort angegeben (also stimmt Name der Config etc) ?

  7. Rajiv

    Hi Patrik,
    ich versuche auf meine RPi 3B das mit OSMC (frisch installiert wegen Java) das ganze durchzuführen damit ich meine Amibilight mit alexa steuern kann, klappt leider nicht. Bekomme kein ha-bridge installiert :/
    Welches betriebsystem hast du?

    1. Patrick

      Ich habe es mit Raspbian Stretch und Libreelec ohne Probleme einrichten können.
      Bekommst du eine Fehlermeldung bei der Installation oder was genau funktioniert nicht?
      Wichtig ist die richtige Port Einrichtung, da ha-bridge sich standardmäßig gerne Port 80 nimmt, was ohne root Rechte nicht möglich ist bzw. dieser meistens auch schon durch andere Dienste belegt ist.

      Wenn du mir genauere Informationen noch geben kannst, kann ich dir eventuell helfen.

Schreibe einen Kommentar zu Sebastian Antworten abbrechen

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