Mir war gar nicht bewusst, wie einfach man Informationen aus der Hue Bridge auslesen kann – eine wirklich praktische Sache. Ich nutze hier eine Bridge erster Generation – die kleine weiße runde – und vielleicht mag mir jemand Feedback geben, ob das mit der neueren eckigen auch so funktioniert?

Als das Hue-System aufkam, hielt ich es für völlig überbewertet: bunte Lampen, schön. Dimmbare Lampen, toll. Braucht doch keiner – oder? Für meinen Artikel „Brückenbauer“ in der c’t 22/16 stellte Heise mir dann für einige Wochen eine Teststellung zur Verfügung – und ich war schockverliebt. Denn wenn man es richtig angeht… also dann ist es viel mehr als nur dummes buntes Licht – das mag nicht für jeden zutreffen, aber wie ich inzwischen weiß wird meine Gemütslage durch die Beleuchtung leider sehr stark beeinflusst. Und so kam es über die Zeit, dass ich nun zwei Hue Bridges aktiv betreibe – mit einer steigenden Zahl an Leuchtmitteln. Ist umfangreich, auch in Hinblick auf Wartung & Co. Und so kam ich drauf, mir Informationen ohne große Umwege direkt aus der Bridge zu ziehen…

Die Abfrage der Information erfolgt über die API, sprich: du benötigst einen Client, mit dem du API-Abfragen übermitteln kannst, und du benötigst einen User auf der Hue-Brigde der berechtigt ist, das auch zu tun. Für ersteres gibt es sicherlich verschiedene Ansätze, aber da ich ein Freund von „keep it simple and stupid“ bin empfehle ich dir den in der Hue-Bridge eingebauten.

Hue Bridge APIDu öffnest also http://ip.deiner-hue-brid.ge/debug/clip.html; als URL gibst du http://ip.deiner-hue-brid.ge/api an und als Message Body etwas wie { "devicetype" : "Smart Home" }. Klicke dann auf den Button POST; du wirst eine Antwort ähnlich folgender erhalten:

[
  {
    "error": {
      "type": 101,
      "address": "",
      "description": "link button not pressed"
    }
  }
]

Also rennst du nun zur Hue Bridge und drückst Knöpfchen; ich weiß nicht, wieviel Zeit man dafür hat, ich vermute aber mal die obligatorische Minute. Dann wieder zurück zum Rechner, wo du die Webseite mit dem API-Client noch offen hast, und dann drückst du erneut auf POST – und schickst ihm somit genau den gleichen Input wie zuvor noch einmal. Wenn du schnell genug warst, erhälst du nun einen Usernamen:

[
  {
    "success": {
      "username": "JDdI-qoUx0Iw14saJWou2LTqe6BqaEYkGORw608A"
    }
  }
]

Mit Hilfe dieses Users kannst du nun konkrete Abfragen formulieren – so zum Beispiel alle Beleuchtungsszenen aufgreifen, die du in der Hue Bridge hinterlegt hast. Der Aufruf kann zum Beispiel erfolgen, indem du http://ip.deiner-hue-brid.ge/api/<$DEIN_USERNAME>/irgendwas/ als Adresse in den Browser tütest, für die Szenen also http://ip.deiner-hue-brid.ge/api/JDdI-qoUx0Iw14saJWou2LTqe6BqaEYkGORw608A/scenes/

[...]
"UbN-wv6nVsgy0vJ":{"name":"Gedimmt","lights":["9","10","11"],"owner":"2EukPX-x9npIqQHFdGDDIZb-Q5vrSigowGRAaI25","recycle":false,"locked":false,"appdata":{"version":1,"data":"L57TV_r02_d06"},"picture":"","lastupdated":"2019-01-07T21:59:39","version":2},
"ZQ3aaKyroKC-Vkg":{"name":"Nachtlicht","lights":["9","10","11"],"owner":"2EukPX-x9npIqQHFdGDDIZb-Q5vrSigowGRAaI25","recycle":false,"locked":false,"appdata":{"version":1,"data":"lvKsn_r02_d07"},"picture":"","lastupdated":"2019-01-07T21:59:39","version":2},
"NLTt-7q8iTtsQft":{"name":"Nordlichter","lights":["9","10","11"],"owner":"2EukPX-x9npIqQHFdGDDIZb-Q5vrSigowGRAaI25","recycle":false,"locked":false,"appdata":{"version":1,"data":"ibYuv_r02_d17"},"picture":"","lastupdated":"2019-01-07T21:59:40","version":2},
"hbYqzM5seuY0h3s":{"name":"Tropendämmerung","lights":["9","10","11"],"owner":"2EukPX-x9npIqQHFdGDDIZb-Q5vrSigowGRAaI25","recycle":false,"locked":false,"appdata":{"version":1,"data":"5mp3V_r02_d16"},"picture":"","lastupdated":"2019-01-07T21:59:40","version":2},
"hpjngDa9yuPR1F8":{"name":"Frühlingsblüten","lights":["9","10","11"],"owner":"2EukPX-x9npIqQHFdGDDIZb-Q5vrSigowGRAaI25","recycle":false,"locked":false,"appdata":{"version":1,"data":"aUeYL_r02_d18"},"picture":"","lastupdated":"2019-01-07T21:59:41","version":2},
"Yw1PqChqgHf3y-7":{"name":"Unterwasser","lights":["9","10","11"],"owner":"2EukPX-x9npIqQHFdGDDIZb-Q5vrSigowGRAaI25","recycle":false,"locked":false,"appdata":{"version":1,"data":"VifwM_r02"},"picture":"","lastupdated":"2019-01-07T22:27:46","version":2}
[...]

Damit lässt sich dann zum Beispiel in Home Assistant sehr schön arbeiten – hier mal ein hübsches kleines input_select:

input_select:
  szenenbeleuchtung:
    name: "Szenenbeleuchtung"
    options:
      - Gedimmt
      - Nachtlicht
      - Nordlichter
      - Tropendämmerung
      - Frühlingsblüten
      - Unterwasser
    initial: 'Tropendämmerung'
    icon: mdi:palette

Aber natürlich lassen sich auch viele weitere Informationen auslesen:

{"state":{"on":true,"bri":254,"hue":59904,"sat":41,"effect":"none","xy":[0.3402,0.3157],"ct":367,"alert":"none","colormode":"ct","reachable":true},"type":"Extended color light","name":"Lichtband Lesezimmer","modelid":"LIGHTIFY Indoor Flex RGBW","manufacturername":"OSRAM","uniqueid":"7c:b0:3e:aa:00:a9:e8:0b-03","swversion":"V1.04.90"}

Hue Bridge PUTUnd nur der Vollständigkeit halber: natürlich lassen sich auf diesem Wege auch Werte manipulieren. Sendest du mittels PUT den Message Body { "on": true, "bri": 13 } konkret an /lights/12/state, so wirst du erfreut feststellen, dass sich die Helligkeit der Lampe mit ID 12 entsprechend einstellt.

Comment

Ich weiß nicht, wie es euch geht – aber mir erleichtert das die Arbeit mit den Systemen schon sehr. Wobei – inzwischen werde ich den Hue-Bridges ja mit einem Gateway Marke Eigenbau untreu… zu gegebener Zeit muss ich davon unbedingt mal erzählen 😎