Hallo VU-Community,
da es ja aktuell noch kein "richtiges" Plugin zur Steuerung von Philips Hue für die VU+ gibt, habe ich mich selbst ein wenig mit dem Thema auseinandergesetzt.
Im Grunde ging es mir in erster Linie darum, das Licht schnell einschalten zu können, ohne erst mein iPhone zu suchen + App starten.
Ziel war es also mit der VU+ Fernbedienung (bzw. in meinem Fall Logitech Harmony) das Licht einzuschalten.
Einleitung
Die Philips Hue Lichter können bequem über APIs bedient werden. Wer nicht weiß was eine API ist -> Im Grunde wird hier ein Web-Aufruf zur Hue-Bridge abgesetzt.
A - Philips Hue - User erstellen
Einen User benötigt man, damit man sich über die APIs an der Philips Hue authentifizieren kann.
Ich benutze dafür das Tool "Cocoa Rest Client" für den Mac. Es geht aber jedes Rest-fähige Tool ob für Windows, Linux, Mac o.ä.
Alternativ kann dieser Schritt auch direkt über Curl (Kommandozeilen-Tool) ausgeführt werden.
Eine weitere Variante ist der integrierte Rest-Client unter: http://192.168.xx.xx/debug/clip.html
API-Beschreibung: Create user
Die folgenden Inhalte beziehen sich auf das Cocoa Tool für Mac.
Request-Body (vorher auf Raw-Input stellen):
Header:
Name: Content-Type
Value: application/x-www-form-urlencoded
Mittels POST die folgende URL ansprechen http://192.168.xx.xx/api
Man sollte dann als Ergebnis (Response) eine Meldung wie z.B. "Link Button not pressed" bekommen.
Wir müssen nun den Link-Button auf der Hue-Bridge drücken, um in den Pairing-Modus zu wechseln. Wenn wir nun nochmals den Api-Aufruf starten, dann sollte ein "Success" zurückkommen.
Mit dem Key "1234567890", welchen wir oben angegeben haben (frei wählbar) können wir nun die API aufrufen. -> http://192.168.xx.xx/api/1234567890/....
Schritt 1 geschafft!
Zum testen der API bzw. des Registrierten Keys könnt ihr die folgende URL aufrufen: http://192.168.xx.xx/debug/clip.html
Den gerade vergebenen Key in die URL oben eintragen und mittels PUT zur Bridge übertragen. Es sollte dann "Lampe 1" kurz blinken.
B - CURL auf der VU nachinstallieren
Dies ist relativ einfach und schnell erledigt.
Einfach per Putty als "root" auf die VU verbinden und folgenden Befehl ausführen:
C - Shell-Skript auf der VU+ ablegen
Anstatt per Rest-Tool (siehe oben) können APIs auch direkt auf der Kommandozeile angesteuert werden. Dazu wird z.B. CURL benötigt.
CURL haben wir bereits auf der VU installiert.
Dokumentation der Licht-API: http://developers.meethue.com/1_lightsapi.html
Anbei der Inhalt meines Skripts (abgelegt in /media/hdd/hue/licht_tv.sh):
Spoiler anzeigen
curl -X PUT -d "{\"on\":true,\"bri\":254,\"hue":15613}" "http://192.168.xx.xx/api/1234567890/lights/2/state" > /dev/null 2>&1
curl -X PUT -d "{\"on\":true,\"bri\":130,\"hue\":47784,\"sat\":253,\"ct\":500}" "http://192.168.xx.xx/api/1234567890/lights/1/state" > /dev/null 2>&1
Der erste Befehl schaltet z.B. Lampe 2 ein, setzt eine Farbe und eine Helligkeit.
WICHTIG: Die Anführungszeichen innerhalb der "{ xxx }" müssen mit einem \ "Backslash" maskiert werden, sonst funktioniert es nicht!
Der zweite Befehl schaltet die Lampe Nr. 1 ein und setzt noch einige weitere Parameter. Hier muss jeder selbst mit den Möglichkeiten der API rumspielen.
Bei mir kommt hierbei TV-taugliches Licht heraus. Die Deckenleuchte (Nr. 1) ist relativ dunkel - die Stehlampe (Nr. 2) leuchtet etwas heller.
Putty-Sitzung als root:
Mit dem folgenden Befehl die Ausführ-Berechtigung setzen:
Das Skript könnt ihr über Putty nun direkt einmal antasten:
Wenn alles passt, dann sollte sich nun das Licht verändert haben ;)
D - Taste auf der Fernbedienung für Skript definieren
Ich nutze dafür das Plugin Multi Quick Button. Es gibt sicherlich auch Alternativen. MQB nutze ich aber ohnehin schon und eignet sich deshalb ganz gut für diese Aufgabe.
Ich habe bei mir die gelbe Taste (Standardmäßig "TimeShift" - Habe ich separat auf der "Pause"-Taste) gewählt.
Über das MQB-Menü lässt sich leider nicht direkt ein Skript auswählen. Daher muss hier das XML-File angepasst werden.
In meinem Fall (gelbe Taste) muss die folgende Datei wie folgt angepasst werden /etc/MultiQuickButton/quickbutton_yellow.xml
Spoiler anzeigen
E - Fertig
Das wars schon. Ein Klick auf die gelbe Taste auf der FB ruft nun das Shell-Skript auf. Das Skript wiederum ruft die API der Hue-Bridge auf und schaltet licht ein.
Dies kann natürlich unendlich weit getrieben werden.
Ich habe z.B. noch ein weiteres Skript bei langem drücken der gelben Taste, welche das Licht wieder ausschaltet.
Das Shell-Skript (z.B. licht_aus.sh) zum ausschalten von Lampe 1 + Lampe 2 schaut z.B. so aus:
Spoiler anzeigen
curl -X PUT -d "{\"on\":false}" "http://192.168.178.153/api/1234567890/lights/2/state" > /dev/null 2>&1curl -X PUT -d "{"on":false}" "http://192.168.178.153/api/1234567890/lights/1/state" > /dev/null 2>&1
Ich habe dann analog zu licht_an.sh die quickbutton_yellow_long.xml mit dem licht_aus.sh Skript belegt.
Viel Spaß beim nachbauen.
Grüße aus Hamburg,
Robert.
da es ja aktuell noch kein "richtiges" Plugin zur Steuerung von Philips Hue für die VU+ gibt, habe ich mich selbst ein wenig mit dem Thema auseinandergesetzt.
Im Grunde ging es mir in erster Linie darum, das Licht schnell einschalten zu können, ohne erst mein iPhone zu suchen + App starten.
Ziel war es also mit der VU+ Fernbedienung (bzw. in meinem Fall Logitech Harmony) das Licht einzuschalten.
Einleitung
Die Philips Hue Lichter können bequem über APIs bedient werden. Wer nicht weiß was eine API ist -> Im Grunde wird hier ein Web-Aufruf zur Hue-Bridge abgesetzt.
- Mittels GET können z.B. Status-Informationen abgefragt werden -> Beispiel: Welche Lichter sind aktuell eingeschaltet oder welche Farbe hat Glühbirne 1.
- Mittels POST können Info's zur Bridge übertragen werden. -> Beispiel: Schalte Lampe 1 ein.
A - Philips Hue - User erstellen
Einen User benötigt man, damit man sich über die APIs an der Philips Hue authentifizieren kann.
Ich benutze dafür das Tool "Cocoa Rest Client" für den Mac. Es geht aber jedes Rest-fähige Tool ob für Windows, Linux, Mac o.ä.
Alternativ kann dieser Schritt auch direkt über Curl (Kommandozeilen-Tool) ausgeführt werden.
Eine weitere Variante ist der integrierte Rest-Client unter: http://192.168.xx.xx/debug/clip.html
API-Beschreibung: Create user
Die folgenden Inhalte beziehen sich auf das Cocoa Tool für Mac.
Request-Body (vorher auf Raw-Input stellen):
Header:
Name: Content-Type
Value: application/x-www-form-urlencoded
Mittels POST die folgende URL ansprechen http://192.168.xx.xx/api
Man sollte dann als Ergebnis (Response) eine Meldung wie z.B. "Link Button not pressed" bekommen.
Wir müssen nun den Link-Button auf der Hue-Bridge drücken, um in den Pairing-Modus zu wechseln. Wenn wir nun nochmals den Api-Aufruf starten, dann sollte ein "Success" zurückkommen.
Mit dem Key "1234567890", welchen wir oben angegeben haben (frei wählbar) können wir nun die API aufrufen. -> http://192.168.xx.xx/api/1234567890/....
Schritt 1 geschafft!
Zum testen der API bzw. des Registrierten Keys könnt ihr die folgende URL aufrufen: http://192.168.xx.xx/debug/clip.html
Den gerade vergebenen Key in die URL oben eintragen und mittels PUT zur Bridge übertragen. Es sollte dann "Lampe 1" kurz blinken.
B - CURL auf der VU nachinstallieren
Dies ist relativ einfach und schnell erledigt.
Einfach per Putty als "root" auf die VU verbinden und folgenden Befehl ausführen:
C - Shell-Skript auf der VU+ ablegen
Anstatt per Rest-Tool (siehe oben) können APIs auch direkt auf der Kommandozeile angesteuert werden. Dazu wird z.B. CURL benötigt.
CURL haben wir bereits auf der VU installiert.
Dokumentation der Licht-API: http://developers.meethue.com/1_lightsapi.html
Anbei der Inhalt meines Skripts (abgelegt in /media/hdd/hue/licht_tv.sh):
curl -X PUT -d "{\"on\":true,\"bri\":254,\"hue":15613}" "http://192.168.xx.xx/api/1234567890/lights/2/state" > /dev/null 2>&1
curl -X PUT -d "{\"on\":true,\"bri\":130,\"hue\":47784,\"sat\":253,\"ct\":500}" "http://192.168.xx.xx/api/1234567890/lights/1/state" > /dev/null 2>&1
Der erste Befehl schaltet z.B. Lampe 2 ein, setzt eine Farbe und eine Helligkeit.
WICHTIG: Die Anführungszeichen innerhalb der "{ xxx }" müssen mit einem \ "Backslash" maskiert werden, sonst funktioniert es nicht!
Der zweite Befehl schaltet die Lampe Nr. 1 ein und setzt noch einige weitere Parameter. Hier muss jeder selbst mit den Möglichkeiten der API rumspielen.
Bei mir kommt hierbei TV-taugliches Licht heraus. Die Deckenleuchte (Nr. 1) ist relativ dunkel - die Stehlampe (Nr. 2) leuchtet etwas heller.
Putty-Sitzung als root:
Mit dem folgenden Befehl die Ausführ-Berechtigung setzen:
Das Skript könnt ihr über Putty nun direkt einmal antasten:
Wenn alles passt, dann sollte sich nun das Licht verändert haben ;)
D - Taste auf der Fernbedienung für Skript definieren
Ich nutze dafür das Plugin Multi Quick Button. Es gibt sicherlich auch Alternativen. MQB nutze ich aber ohnehin schon und eignet sich deshalb ganz gut für diese Aufgabe.
Ich habe bei mir die gelbe Taste (Standardmäßig "TimeShift" - Habe ich separat auf der "Pause"-Taste) gewählt.
Über das MQB-Menü lässt sich leider nicht direkt ein Skript auswählen. Daher muss hier das XML-File angepasst werden.
In meinem Fall (gelbe Taste) muss die folgende Datei wie folgt angepasst werden /etc/MultiQuickButton/quickbutton_yellow.xml
<?xml version="1.0" encoding="UTF-8" ?>
<xml>
<Menu>
<content>
<name>Licht an</name>
<sel>1</sel>
<module>Screens.Console</module>
<screen><![CDATA[Console, "Licht an", ["sh /media/hdd/hue/licht_tv.sh"]]]></screen>
</content>
</Menu>
</xml>
<xml>
<Menu>
<content>
<name>Licht an</name>
<sel>1</sel>
<module>Screens.Console</module>
<screen><![CDATA[Console, "Licht an", ["sh /media/hdd/hue/licht_tv.sh"]]]></screen>
</content>
</Menu>
</xml>
E - Fertig
Das wars schon. Ein Klick auf die gelbe Taste auf der FB ruft nun das Shell-Skript auf. Das Skript wiederum ruft die API der Hue-Bridge auf und schaltet licht ein.
Dies kann natürlich unendlich weit getrieben werden.
Ich habe z.B. noch ein weiteres Skript bei langem drücken der gelben Taste, welche das Licht wieder ausschaltet.
Das Shell-Skript (z.B. licht_aus.sh) zum ausschalten von Lampe 1 + Lampe 2 schaut z.B. so aus:
curl -X PUT -d "{\"on\":false}" "http://192.168.178.153/api/1234567890/lights/2/state" > /dev/null 2>&1curl -X PUT -d "{"on":false}" "http://192.168.178.153/api/1234567890/lights/1/state" > /dev/null 2>&1
Ich habe dann analog zu licht_an.sh die quickbutton_yellow_long.xml mit dem licht_aus.sh Skript belegt.
Viel Spaß beim nachbauen.
Grüße aus Hamburg,
Robert.
Setup:
Vu+ Solo2 (+WD Black 750GB) - Harman Kardon AVR 365 - Canton Karat (front + center) - Canton Plus XL (rear) - Canton Plus Beta (woofer), Apple TV 3, Sony PS3, Selfsat single
Vu+ Solo2 (+WD Black 750GB) - Harman Kardon AVR 365 - Canton Karat (front + center) - Canton Plus XL (rear) - Canton Plus Beta (woofer), Apple TV 3, Sony PS3, Selfsat single
Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von robhh ()