Um ein einzelnes Leuchtmittel zu steuern, benutzen Sie das Kommando tradfri-lights.py. Listing 8 zeigt, wie Sie die Leuchte zuerst einschalten, dann auf die Hälfte der maximalen Leuchtkraft dimmen und schließlich die Lichtfarbe zu Warmweiß ändern (sofern die Lampe das unterstützt).
Listing 8
### einschalten $ tradfri-lights.py -l 65538 -a power -v on ### 50 Prozent Leuchtkraft $ tradfri-lights.py -l $65538 -a brightness -v 50 ### warmweiß $ tradfri-lights.py -l 65538 -a color -v warm
Mit dem Kommando tradfri-groups.py funktioniert dasselbe auch für eine Gruppe von Leuchtmitteln. Anstelle von -l Leuchten-ID verwenden Sie hier lediglich den Parameter -g Gruppen-ID. Wir bleiben in unserem Beispiel aber beim Ansteuern einzelner Leuchtmittel, um flexibler zu sein.
In den meisten Fällen kommen jedoch mehr als eine Leuchte pro Zimmer zum Einsatz. Legen Sie daher eine Textdatei ikea.txt an, in der die IDs aller Leuchtmittel, die Sie ansteuern möchten, untereinanderstehen (Listing 9).
Listing 9
65537 65538 65539 [...]
Ein kleines Bash-Skript namens ikea.sh (Listing 10) nimmt als Parameter den gewünschten Helligkeitswert entgegen und weist das Gateway an, die Leuchten der Reihe nach entsprechend zu regeln. Machen Sie das Skript mit chmod 755 ikea.sh ausführbar.
Listing 10
#! /bin/bash WDIR=/home/pi/shellscripts/lux/ TRADFRI=/home/pi/ikea-smartlight/tradfri-lights.py for i in $(cat $WDIR/ikea.txt); do $TRADFRI -a brightness -l $i -v $1 done
Jetzt brauchen Sie noch ein weiteres kleines Skript (Listing 11), das die Leuchten auf Wunsch ein- und ausschaltet – einen Helligkeitswert von null ignoriert das Gateway nämlich. Dieses Skript speichern Sie als ikea-on-off.sh und machen es ausführbar.
Listing 11
#! /bin/bash WDIR=/home/pi/shellscripts/lux/ TRADFRI=/home/pi/ikea-smartlight/tradfri-lights.py for i in $(cat $WDIR/ikea.txt); do $TRADFRI -a power -l $i -v $1 done
Jetzt steht einem Test nichts mehr im Weg. Nach dem ersten Aufruf aus Listing 12 sollten alle Lampen mit 50 Prozent ihrer maximalen Lichtstärke leuchten. Schaltet der zweite Aufruf dann alle Lichter aus, funktioniert das Gesamtkunstwerk wie geplant.
Listing 12
### Licht dimmen $ /home/pi/shellscripts/lux/ikea.sh 50 ### Licht ausschalten $ /home/pi/shellscripts/lux/ikea-on-off.sh off
Philips Hue ansteuern
Bei Philips gilt ebenso wie bei Ikea: Nicht jeder hergelaufene Rechner darf Steuerbefehle erteilen, auch hier bedarf es einer Authentifizierung. Drücken Sie den Knopf auf der Bridge und führen Sie das Kommando aus der ersten Zeile von Listing 13 aus. Beim String huewz im Beispiel handelt es sich um einen frei wählbaren Namen. Als Rückgabe erhalten Sie den Benutzernamen, den Sie bei jedem API-Aufruf übergeben müssen, in unserem Fall T3VGtGWmFUgJwHufxkudY1bizvqoZMhCSqu1ySwm.
Listing 13
$ curl --data "{\"devicetype\": \"huewz\"}" http://10.0.0.8/api [{"success":{"username":"T3VGtGWmFUgJwHufxkudY1bizvqoZMhCSqu1ySwm"}}] $ curl --request GET 10.0.0.8/api/T3VGtGWmFUgJwHufxkudY1bizvqoZMhCSqu1ySwm {"lights": {"1": {"state": {"on":true,"bri":254,"alert":"none","mode":"homeautomation","reachable":true} ,"swupdate": {"state":"transferring","lastinstall":null}, "type":"Dimmable light","name":"Hue white lamp 1","modelid":"LWB010","manufacturername":"Philips","productname":"Hue white lamp","capabilities": {"certified":true,"control": {"mindimlevel":5000,"maxlumen":806}, "streaming": {"renderer":false,"proxy":false} }, "config": {"archetype":"classicbulb","function":"functional","direction":"omnidirectional"}, "uniqueid":"00:17:88:01:02:b1:65:c7-0b","swversion":"1.15.2_r19181","swconfigid":"60083D2F","productid":"Philips-LWB010-1-A19DLv3" }, "2": { [... zweites Leuchtmittel ...] $ curl --request PUT --data "{\"bri\":254}" 10.0.0.8/api/T3VGtGWmFUgJwHufxkudY1bizvqoZMhCSqu1ySwm/lights/1/state
Mit dem Kommando aus der dritten Zeile von Listing 13 erhalten Sie eine Übersicht über alle dem Gateway bekannten Geräte. Die Ausgabe fällt je nach Anzahl der Leuchtmittel entsprechend lang und damit unübersichtlich aus; ausschnittsweise sieht ein Abschnitt für ein Leuchtmittel so aus wie ab Zeile 5.
Anders als bei Ikea erhält das Hue-System IDs von 1 aufsteigend. Während der Python-Wrapper zum Dimmen der Ikea-Leuchtmittel Helligkeitswerte von 1 bis 100 akzeptiert, steuern Sie die Philips-Leuchten mit Werten von 1 bis 254 an. Das Kommando aus der letzten Zeile von Listing 13 schaltet das Leuchtmittel mit der Nummer 1 also auf volle Helligkeit.






