Hue Programmierung via REST – Teil 2

This entry is part 3 of 4 in the series Hue Programmierung

Nachdem wir jetzt den API-Schlüssel erstellt haben, können wir ihn zur Abfrage der Konfiguration nutzen. Dazu geht man auf die /debug/clip.html Seite und trägt unter URL /api/#Schlüssel# ein. Nach dem Drücken des GET Buttons erhält man dann im Command Response Fenster die Ausgabe, die aus JSON-Teilen für Lampen, Gruppen und der Konfiguration besteht. Da ich einige Lampen und Gruppen habe, kommen bei mir etwas über 5000 Zeilen zurück.

Die JSON-Struktur ist hierarchisch aufgebaut, durch leichte Anpassungen der URL kann man auf die einzelnen Teile der Konfiguration zugreifen, so erhält man durch

  • /api/#Schlüssel#/lights den Abschnitt mit den Lampen
  • /api/#Schlüssel#/lights/1 den Abschnitt von Lampe 1
  • /api/#Schlüssel#/groups den Abschnitt mit den Gruppen
  • /api/#Schlüssel#/config die Systemkonfiguration

Lampen steuern

Um jetzt einzelne Eigenschaften wie an/aus, Helligkeit und Farbe zu setzen, müssen wir per „PUT“ (nicht „GET“) entsprechende JSON-Schnipsel absenden. Das folgende Beispiel schaltet Lampe 9 aus:

  • URL:
    /api/#Schlüssel#/lights/9/state
  • Message Body:
    {"on":false}

und das folgende wieder an:

  • URL:
    /api/#Schlüssel#/lights/9/state
  • Message Body:
    {"on":true}

Hier jetzt noch das wichtigste Beispiel, das nicht nur an/aus kontrolliert, sondern auch Farbe und Helligkeit:

  • URL:
    /api/#Schlüssel#/lights/9/state
  • Message Body:
    {"on":true, "sat":254,"bri":254, "hue":30000}

Im nächsten Teil dieser Serie schauen wir uns dann an, wie die einzelnen Komponenten umgewandelt werden müssen, um die gewünschte Farbe und Helligkeit zu erhalten.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Series Navigation<< Hue Programmierung via REST – Teil 1Hue Programmierung via REST – Teil 4 >>