Hallo,
nachdem ich auch rege von den Beiträgen (besonders auch in der “Sensoren&Aktoren im Angebot”-Rubrik ) profitiere, wollte ich mal etwas zurückgeben…
Seit kurzem bin ich stolzer Besitzer einer Nanoleaf Aurora (mit mittlerweile 18 Elementen) und konnte sie am Wochenende (seit Firmware 1.4.39) unter Zuhilfenahme der “openAPI” von Nanoleaf und Webhooks direkt an meinen Homee “anschließen”… Über IFTTT ging das schon länger, trotzdem ist natürlich eine “lokale” Anbindung immer zu bevorzugen (schneller und unabhängig von leider doch sporadisch auftretenden Internet-Hick-Ups).
Die “openAPI” von Nanoleaf ist aktuell noch im Beta-Stadium, wer etwas googelt, findet aber recht einfach die aurora-api-docs, die die openAPI Spec zeigen. Leider konnte ich noch keine HTTPS Verbindungen realisieren, ich schiebe das aber jetzt noch auf das Beta-Stadium der API.
Nun zur Verbindung der Aurora mit Homee:
Prinzipiell kann man mit einem Bonjour-Browser (unter MAC: z.B. “Bonjour Browser” als App installieren) den gebroadcasteten TCP-Port der Nanoleaf-API seiner Aurora finden.
Wie man sieht, werden sowohl IPv4 (im folgenden als Beispiel 192.168.0.1) als auch IPv6 Verbindungen an den Port 16021 akzeptiert.
Wie in den Dokumenten für openAPI beschrieben, antwortet Aurora auf einen POST-Request an http://192.168.0.1:16021/api/beta/new
mit einem “Authorization Token”, den man für die weitere Kommunikation verwenden muss. Faktisch wird ein neuer “Nutzer” für die Aurora-API angelegt. Die Autorisierung dieser “Neuanlage” erfolgt durch ein 5-7s langes drücken der “ON”-Taste (also ähnlich wie bei der Hue-Bridge von Phillips), nachdem dann der POST-Request gesendet werden muss.
Um das umzusetzen, habe ich die Entwickler-Extensions von Firefox verwendet, womit man HTTP-Requests bearbeiten und Antworten im Klartext bekommt. Im Beispiel die “state” Abfrage meiner Aurora.
Mit dem extrahierten Auth-Token kann man nun Homee-Webhooks aufbauen und so direkt die Aurora steuern.
Im Beispiel wird die URL http://192.168.0.1:16021/api/beta/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/effects/
aufgerufen und über den JSON-formatierten Body eines PUT
-Requests der Effekt “Fireplace” aufgerufen. (XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ist selbstverständlich der kopierte Auth-Token).
Damit funktioniert die Steuerung bei mir prompt und problemlos. Die Effekte lassen sich “wie gewohnt” einfach über die Nanoleaf-App erzeugen und abspeichern und sie stehen dann als “Klartext” für die openAPI zur Verfügung.
Updates der Lampe werden auch nach der “Einbindung” in Homee weiterhin über Homekit/die Nanoleaf-App angezeigt. Sobald die API aus dem Beta-Stadium ist, muss die aufrufende URL selbstverständlich angepasst werden…
Insgesamt macht die Lampe viel Spaß und ist ein echter Blickfang in der Wohnung. Die openAPI macht trotz des “Beta”-Stadiums einen sehr stabilen Eindruck. Eine Registrierung für die Beta-Phase bei Nanoleaf ist natürlich empfohlen…
Noch einfacher wäre natürlich eine direkte Einbindung der API in Homee , aber auch so funktioniert die Zusammenarbeit schon super.
Vielleicht hilfts ja dem/der einen oder anderen…
PS: Ich freue mich schon auf eine “richtige” Homee API…