(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.

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:

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

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 :).

 

Your email address will not be published. Required fields are marked *

*