Philips Hue Bridge – API Key generieren

Wollt ihr eure Hue kompatiblen Geräte über eine Schnittstelle steuern? Lest hier, wie ihr eine API Key generieren könnt.

    Inhaltsangabe
  1. IP Adresse ermitteln
    1. hue IP Adresse von der hue App auslesen
    2. hue IP Adresse von der FritzBox auslesen
    3. hue IP Adresse von Windows Netzwerke auslesen
  2. API Key generieren
    1. API Key per Browser generieren
    2. API Key per REST Client generieren
  3. Erfolg!
    1. Eine Beispielanfrage

Als programmierer ist man immer begeistert, wenn ein Hersteller eine Programmierschnittstelle für seine Soft-oder Hardware bereitstellt. Genauso ist es auch bei Philips Hue mit der Bridge. Man hat die Möglichkeit, die Bridge über eine Schnittstelle anzusteuern und bestimmte Befehle zu geben.

Wie bereits in mehreren Beiträgen erwähnt, habe ich mich mit dieser Schnittstelle auseinandergesetzt und würde gerne mit euch hier die Einrichtung und die Probleme besprechen.

Bevor wir jedoch mit der Bridge kommunizieren können, brauchen wir zwei Informationen.

  1. Die IP Adresse unserer Bridge
  2. Einen API Key

Mit den beiden Informationen sind werden wir in der Lage sein, beinahe alles, was wir mit der Hue App tun können programmatisch ausführen zu lassen.

IP Adresse ermitteln

hue IP Adresse von der hue App auslesen

In der hue App könnt ihr unter Einstellungen auf Hue Bridges tippen. Dort werden eure Bridges angezeigt. In der Liste müsst ihr dann bei der gewünschten Bridge auf i tippen. Dann werden alle Details dieser Bridge euch offenbart und auf dieser Seite könnt ihr auch die IP Adresse auslesen.

hue IP Adresse von der FritzBox auslesen

Als erstes müsst ihr euch auf die FritzBox Oberfläche begeben (http://fritz.box/) und von dort aus auf die Netzwerk-Seite navigieren. Dort könnt ihr nach Phillips-hue suchen und dessen IP Adresse auslesen.

Fritzbox -> Heimnetz -> Netzwerk

hue IP Adresse von Windows Netzwerke auslesen

Ihr könnt den Datei Explorer (Windows+E) öffnet, werdet ihr auf der Seitenleiste (Links) das Netzwerk Element finden. Mit einem Klick drauf, werden alle Geräte in eurem Netzwerk sehen. Unter denen werdet ihr auch die hue mit dessen IP Adresse sehen.

Falls dort nichts angezeigt wird, wird oberhalb der Elemente eich ein Hinweis angezeigt, wo ihr gefragt werdet, ob ihr die Dateifreigabe aktivieren möchtet. Da solltet ihr drauf klicken und die Freigabe aktivieren, um die Auflistung der Geräte zu aktivieren.

Netzwerk
Diese IP Adresse werdet ihr zur Nutzung der hue-API benötigen. Am besten solltet ihr die IP Adresse notieren.

API Key generieren

Zum generieren des API Keys werdet ihr die Taste auf eurer Bridge tätigen müssen. Also könnt ihr euch schon einmal Zugang zu eurer Bridge verschaffen.

API Key per Browser generieren

Ihr öffnet mit eurem Browser den folgenden Link. Hierbei bitte die IP Adresse benutzen, die ihr vorher ausgelesen habt:

http://{HUE_IP}/debug/clip.html

Hue API Debug tool
Ihr befindet euch nun auf dem Hue API Debug tool, von wo aus ihr REST API Anfragen en eure Hue Bridge senden könnt. Alternativ kann man sich auch einen REST Client herunterladen und von dort aus die Anfragen schicken.

Auf dieser Seite müsst ihr nun die URL und die Message Body angepasst werden. Hierbei muss eine Kennung für die Api Key eingegeben werden, damit später die API Anfragen einem Namen zugeordnet werden können. Ich würde euch empfehlen, hier nur amerikanische Buchstaben zu verwenden.

  • URL
    Bitte auf /api/ ändern.
  • Message Body
    {„devicetype“:“NUTZER_KENNUNG“}

Nachdem ihr das eingegeben habt, klickt ihr auf POST und seht dann folgendes.

API Debug tool – link button not pressed
Drückt nun bitte auf eure HUE Taste und klickt erneut auf POST.
Anschließend werdet ihr unter Command Response euren API Key auslesen können.

API Key per REST Client generieren

Die Browser Lösung hat bei mir aus Sicherheitsgründen nicht funktioniert. Deswegen musste ich die Abfragen mit einer gesonderten Software machen. Ich empfehle hier den Nightingale REST API Client.

In eurem gewünschten REST Clienten erstellt ihr einen neuen Request und macht folgende Anpassungen:

  • Request Type
    POST
  • URL
    Hue IP Adresse mit /api/ am Ende. Z.B.: http://192.168.178.158/api/
  • Body Type
    application/json
  • Body Content
    {„devicetype“:“NUTZER_KENNUNG“}

Unter Body Content muss eine Kennung für die Api Key eingegeben werden, damit später die API Anfragen einem Namen zugeordnet werden können. Ich würde euch empfehlen, hier nur amerikanische Buchstaben zu verwenden.

Sobald ihr alles richtig eingesetzt und die Abfrage abgeschickt habt, bekommt ihr die folgende Antwort:

Drückt nun bitte auf eure HUE Taste und sendet erneut die Abfrage.
Anschließend werdet ihr unter Response euren API Key auslesen können.

Erfolg!

Nun habt ihr eine Antwort wie folgendes bekommen:

[
	{
		"success": {
			"username": "gL7qKKr3Gz2TnqsLDEzNwfXjnUFeZvBaAeCLn4gw"
		}
	}
]

In diesem Fall ist meine API Key die gL7qKKr3Gz2TnqsLDEzNwfXjnUFeZvBaAeCLn4gw

Diese API Key dürft ihr keinem weiter gebe, es sei denn, ihr vertraut dieser Person oder diesem Unternehmen. Für alle zukünftigen Anfragen müsst ihr diese API Key benutzen.

Eine Beispielanfrage

{
  "state": {
    "on": false,
    "bri": 254,
    "ct": 443,
    "alert": "lselect",
    "colormode": "ct",
    "mode": "homeautomation",
    "reachable": true
  },
  "swupdate": {
    "state": "noupdates",
    "lastinstall": "2020-03-03T02:27:13"
  },
  "type": "Color temperature light",
  "name": "Schlafzimmer Bett Talha",
  "modelid": "LTW012",
  "manufacturername": "Signify Netherlands B.V.",
  "productname": "Hue ambiance candle",
  "capabilities": {
    "certified": true,
    "control": {
      "mindimlevel": 2000,
      "maxlumen": 450,
      "ct": {
        "min": 153,
        "max": 454
      }
    },
    "streaming": {
      "renderer": false,
      "proxy": false
    }
  },
  "config": {
    "archetype": "tableshade",
    "function": "decorative",
    "direction": "omnidirectional",
    "startup": {
      "mode": "powerfail",
      "configured": true
    }
  },
  "uniqueid": "15:32:95:78:00:cd:45:8t-2f",
  "swversion": "1.12.4_t56789",
  "swconfigid": "GF456ERT48",
  "productid": "Philips-XXXX15-8-XX15XX65"
}

Themen

Hue JSON Linux Netzwerk Privatleben Programmieren Raspberry Pi Smart Smart Home

Beitrag teilen

WhatsAppen

Folgen Sie uns