McLighting WS2812 Lichtsteuerung und Integration in ioBroker

In diesem Artikel zeige ich Dir, wie ich einen ESP8266 mit der McLightning Firmware in ioBroker integriert habe. Das McLightning Projekt von Tobias Blum ermöglicht die einfache und komfortable Steuerung von WS2811 und WS2812 LED-Stripes (z.B. NeoPixel) mit einem ESP8266 Mikrocontroller. Neben der individuellen Farbwahl stehen noch zusätzlich Animationen zur Verfügung. An die Integration in die Haus-Steuerung wurde mit umfangreichen Protokoll-Möglichkeiten gedacht (MQTT, REST-API, WebSocket).

 

Bevor wir loslegen, hier die Liste der verwendeten Materialien:

 

Im ersten Schritt müssen wir nun die Software-Installation durchführen. Die Installation der Bibliotheken sowie Einrichtung der WLAN-Verbindung ist perfekt in der McLightning-Dokumentation beschrieben, aus diesem Grund verweise ich an dieser Stelle auf die Original-Dokumentation.

Installation und Einrichtung von McLightning

 

 

McLightning-Oberfläche

Nach dem wir nun McLightning installiert sowie in unser WLAN eingebunden haben, sollten wir folgende Webseite im Browser angezeigt bekommen. Auf dem Bereich „Wheel“ können wir nun eine beliebige Farbe auf der Skala auswählen.

Unter den Modes können wir den Farbton sowie die Helligkeit der LEDs nochmals ändern oder verschiedene Animationen auswählen. Für die Animationen können wir zudem noch die Geschwindigkeit anpassen.

 

Integration über ioBroker-Adapter

Im nächsten Schritt werden wir nun McLightning in ioBroker und somit in unsere Haus-Steuerung integrieren. Dazu installieren wir nun einen neuen Adapter in ioBroker. Der Adapter ist aktuell noch nicht im ioBroker Release enthalten, wir müssen ihn daher manuell über folgende Github URL hinzufügen:

https://github.com/instalator/ioBroker.mclighting

Nach dem wir die URL auf der Lasche „Beliebig“ eingegeben haben, können wir mit der Installationen beginnen.

 

Nach der Adapter-Installation können wir nun nach „mclightning“ suchen und den gefundenen Adapter in ioBroker zu den Instanzen hinzufügen.

 

Nach der Installation können wir nun die Einrichtung des Adapters beginnen. Hierzu müssen wir die IP des McLightning-Moduls in das Host-Feld eingeben. Als Port wird Port 81 verwendet.

 

Im nächsten Schritt können wir den Adapter starten.

 

In den Objekten können wir nun im Ordner „mclightning.0“ die Farbwerte einsehen und verändern.

 

Über den Datenpunkt „power“ können die LEDs ein- oder ausgeschaltet werden. Der Datenpunkt „brightness“ regelt die Helligkeit der LEDs. Die Geschwindigkeit kann über „speed“ entsprechend eingestellt werden. Der Wertbereich der beiden Datenpunkte geht von 0 bis 255.

Animationen können über den Datenpunkt „fx_mode“ aktiviert werden. Die Animations-ID findest Du in der McLightning Web-Oberfläche vor dem Namen der Animation (in Klammern).

Einzelne LEDs können wir natürlich ebenfalls einfach über den Datenpunkt „single_RGB“ schalten. Dazu muss dem Datenpunkt eine Zeichenfolge in folgendem Format übergeben werden:

<LEDNr> <#HexColor>

Beispiel

1 #FFBF00

Die zweite LED (Null-basierter LED-Index) wird gelb eingefärbt.

 

 

Integration über MQTT

Um MQTT als Protokoll zu nutzen, müssen wir bei der Einrichtung von McLightning die MQTT-Verbindungs-Informationen hinterlegt und den ESP8266 somit als MQTT-Client am ioBroker registriert. Wenn wir uns nun die Objekte des MQTT-Adapters in ioBroker ansehen, sollten wir hier den folgenden Bereich sehen:

Für jedes McLightning-Modul wird ein eigener Namen mit dem Namen aus der Konfiguration (McLightning – definitions.h) angelegt. Unterhalb des Namens existieren zwei Datenpunkte („in“ und „out“). Über den Datenpunkt „in“ kann ein Kommando übergeben werden, welches dann von der McLightning-Komponente ausgeführt und verarbeitet wird. Das Ergebnis wird an den Datenpunkt „out“ übergeben. In der folgenden Grafik wird die Funktionsweise aufgezeigt:

Zur Steuerung des McLightning-Moduls stehen einige Kommandos zur Verfügung. In der folgenden Liste habe ich die Befehle kurz erklärt, welche ich am häufigsten einsetze. Eine vollständige Dokumentation kann hier eingesehen werden:

 

Alle LEDs Farbwert setzen

Mit dem folgenden Befehl werden alle LEDs auf den übergebenen Farbwert eingestellt. Dazu muss ein #-Zeichen gefolgt vom hexadezimale Farbwert angegeben werden. Den Farbwert kannst Du z.B. hier auswählen.

#<hexrgb>

Einzelne LED Farbwert setzen

Mit dem folgenden Befehl kann eine einzelne LED eingefärbt werden. Dazu wird im ersten Parameter die Nummer die LED angegeben. Im zweiten Parameter wird der Farbwert übergeben.

!<numled><hexrgb>

Animation aktivieren

Mit dem folgenden Befehl kann eine Animation aktiviert werden. Die Nummer der Animation könnt ihr über die normale McLightning Oberfläche im Bereich „Modes“ einsehen.

/<animation_mode_id>

Geschwindigkeit der Animation einstellen

Mit dem Befehl wird die Geschwindigkeit der Animation verändert.  Der Wertbereich geht von 0 bis 266 (von langsam nach schnell).

?<speed>

Helligkeit einstellen

Mit dem Befehl wird die Helligkeit der LEDs verändert.  Der Wertbereich geht von 0 bis 266 (dunkel nach hell).

%<brightness>

 

Weitere Informationen

 

 

Fazit

Sehr cooles Projekt für die einfache und komfortable Steuerung von LEDs mit dem ESP8266-Mikrocontroller. Durch die Schnittstellen und den Adapter in ioBroker wirklich extrem einfach und schnell in die eigene Haussteuerung integriert. In der Firmware existiert zudem noch eine Integration in Home Assistant, das werde ich mir auch noch ansehen 🙂 Ich nutze den ESP8266 in Verbindung mit dem ioBroker McLightning-Adapter für die Lichtsteuerung im Wohnzimmer, MQTT hatte einige male nicht wirklich zuverlässig funktioniert. Hier muss ich aber nochmals Zeit investieren, evtl. sitzt das Problem auch wo wanders 😉

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

3 Gedanken zu „McLighting WS2812 Lichtsteuerung und Integration in ioBroker

  • 7. Januar 2019 um 5:21
    Permalink

    Hi,
    sehr schön erklärt.
    Das hat mir bei meiner Einrichtung sehr geholfen.
    Jetzt stehe ich vor der Herausforderung das in VIS schön darzustellen.

    Antwort
  • 7. Januar 2019 um 10:51
    Permalink

    Hallo,
    sehr schöne Anleitung.
    Wie bindest Du das in VIS ein? Dazu suche ich noch eine schöne Lösung.
    Alfred

    Antwort
  • 15. Januar 2019 um 15:38
    Permalink

    Hallo,

    danke für die Dokumentation zum Einbinden von WS2812 Strips in ioBroker.
    Wie du die vis bzw. die Steuerung dazu realisiert hat würde auch mich sehr interessieren.

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere