Im April kommen die intelligenten Lampen von Ikea auch in Deutschland auf den Markt. Wir zeigen, wie sie sich mit einem Raspberry Pi und ESP8266-Internet-Gateway ins eigene Smart Home integrieren lassen.
In einigen europäischen Ländern gibt es die smarten Tradfri-Lampen (schwedisch für drahtlos) von Ikea bereits zu kaufen. Dazu gibt es von Ikea eine Fernbedienung, die mit dem Funkprotokoll ZigBee arbeitet. Sie kann zwar Philips-Hue-Lampen und Osram-Lightify-Produkte ansteuern – ohne Bridge und Gateway bleibt die Einbindung in das eigene Heimautomationssystem schwierig.
Mit dem WLAN-Modul ESP8266 und der Platine der Fernbedienung lässt sich allerdings ein eigenes Gateway bauen. Neben einem Raspberry Pi nutzen wir das beliebte IoT-Protokoll MQTT, einen MQTT-Broker (Mosquitto) und die grafische Programmieroberfläche Node-RED, um das Gateway umzusetzen.
Zutaten
Trådfri-Lampe/n
1x Trådfri-Fernbedienung
1x ESP8266 auf Breakout-Board
1x Raspberry Pi
1x Breadboard
1x LDO-Regler MCP1700
2x Keramikkondensator (1µF)
Kabel
Auf der Fernbedienungsplatine sitzt rechts das weiße Transceiver-Modul
Pins der Platine
Für das Gateway muss man die Fernbedienung öffnen, da nur die runde, grüne Platine gebraucht wird. Für die Ansteuerung nutzen wir verschiedene Testpunkte auf der Platine und dem weißen Transceiver-Modul. Prinzipiell ist auch möglich, das Transceiver-Modul auszulöten und direkt damit zu arbeiten. Die Farben der angelöteten Kabel haben wir frei gewählt und der Übersichtlichkeit halber durchgängig verwendet.
Pinout des Transceiver-Moduls mit sieben farbig markierten Pins
Die Anschlüsse an VCC (rot) und der Masse (GND, schwarz) ersetzen die Spannungsversorgung durch die CR2032 3-V-Knopfzelle, die unbedingt entfernt werden muss. Für das Dimmen sind Pin 3 (braun, Dimmen -) und Pin 15 (weiß, Dimmen +) zuständig. Pin 2 (gelb) verändert die Farbtemperatur und über Pin 4 (orange) wird der Schalter (An/ Aus) angeschlossen. Der Touchlink Reset läuft über Pin 16 (grün). Pin 13 (blau) führt zum TX-Testpunkt, dessen bisher nicht bekannte Funktion ungenutzt bleibt.
Anschluss an den ESP8266
Pinout des ESP-12: Die sieben farbig markierten Pins müssen angeschlossen werden.
Um die Pins ansteuern zu können, verbinden wir sie mit den GPIOs (General Purpose Input/ Output Pins) des ESP8266. Wir haben dazu das Modul ESP-12 benutzt. Es sind aber alle ESP-Module oder Breakout-Boards verwendbar, bei denen die Pins herausgeführt werden. Gegebenenfalls müssen die Pins im Programmcode angepasst werden.
Linearregler für die Spannungsversorgung
In unseren Tests funktionierte die Ansteuerung der Fernbedienungsplatine über den 3,3-Volt Anschluss am ESP-12 gut. Das ESP-Modul sitzt dabei auf einem selbstentwickelten Breadboard-Modul mit separater Spannungsversorgung. Bei Problemen kann auch eine separate Spannungsversorgung der Fernbedienung sinnvollsein. Für eine USB-Versorgung mit 5 Volt haben wir mit dem Transistor und den Kondensatoren einen Linearregler gebaut (siehe Schaltplan). Die Masse (GND) muss dann mit der Masse des ESP-Moduls verbunden werden, damit die Signale richtig erkannt werden.
ESP-Firmware
Für den Code haben wir das mqtt_esp8266-Beispiel aus der pubsubclient-Bibliothek von Nick O’Leary übernommen und um Elemente zur Ansteuerung der verschiedenen Funktionen der Lampen ergänzt. So wird immer, wenn eine Nachricht auf dem Topic ikeaLampe empfangen wird, der entsprechende Wert gelesen und einem Ereignis zugeordnet. Mit:
wird beispielsweise der Zustand der Lampe von An auf Aus bzw. umgekehrt verändert, wenn auf dem Topic ikeaLampe eine 2 empfangen wird. Folgende Funktionen können auf dem Topic: ikeaLampe angesteuert werden:
MQTT 1: Verändern der Farbtemperatur
MQTT 2: An/ Aus
MQTT 3: Touchlink Reset (Pairing und Unpairing der Lampe)
MQTT 4: Erhöhen der Helligkeit
MQTT 5: Vermindern der Helligkeit
Beim Touchlink Reset findet, soweit die Lampe bisher noch nicht verbunden war, ein Pairing der beiden ZigBee-Geräte statt. Führt man den Vorgang erneut aus, werden die Geräte wieder voneinander getrennt. Das funktioniert auch bei Geräten wie Philips Hue und Osram Lightify. Man kann diese also in das System integrieren und steuern.
Voraussetzung für das Steuern per MQTT ist ein MQTT-Broker z.B. auf einem Raspberry Pi. Wir haben den Open-Source-Broker Mosquitto benutzt, den wir per Node-RED ansprechen.
Die Trådfri-Ansteuerung über Node-RED
Eine ausführliche Einführung zu Node-RED gibt es Make Special zum Internet der Dinge. In diesem Fall nutzen wird einen Inject-Node, um die entsprechende Zahl für das Kommando zu übertragen und senden dies über den MQTT Output-Node an den MQTT-Broker unter dem Topic ikeaLampe.
Von der Fernbedienung zur Heimautomation
Eine Alternative ist die Bedienung der Ikea-Lampen über eine WebApp oder per Buttons. Leider geht dies nur in eine Richtung, die Kommandos funktionierten in unseren Tests aber sehr zuverlässig. Mit der Ikea-Fernbedienung kann man außerdem Lampen wie Philips Hue und Osram Lightify direkt anbinden und über ZigBee ansteuern. Damit benötigt man keine Gateways mehr und kann smarte Heimgeräte ohne Cloud preiswert steuern.
(hch)
All you can read: Alle Magazine und zusätzliche exklusive Artikel wie Tests, Ratgeber und Hintergrundberichte auf heise online lesen. Nur für kurze Zeit!