• +49-331-585-07-544
  • info@daniel-schuppelius.de

RGB-LED Treppenbeleuchtung und meine Lernkurve

RGB-LED Treppenbeleuchtung und meine Lernkurve

Vor einiger Zeit habe ich mir den Home Assistant zugelegt, um meine Wohnung smarter zu machen. Mein erstes großes Projekt war die Integration einer RGB-LED-Treppenbeleuchtung. Die Kombination aus ESPHome und Home Assistant klang vielversprechend, um eine dynamische und farbenfrohe Beleuchtung für meine Treppe zu realisieren. Doch schon bei den ersten Tests zeigte sich, dass Theorie und Praxis oft zwei ganz unterschiedliche Paar Schuhe sind. In diesem Beitrag möchte ich euch meine Erfahrungen schildern, die Herausforderungen, auf die ich gestoßen bin, und wie ich sie gelöst habe.

Die ersten Probleme: Spannungseinbrüche

Nachdem ich die LED-Streifen mit Steckern und Buchsen verlötet hatte, führte ich einen ersten Testlauf durch. Dabei fiel mir auf, dass die LEDs bei voller Leuchtkraft nach oben oder unten hin immer dunkler wurden. Das Problem war also klar: Der Strom reichte nicht aus, um alle LEDs gleichmäßig zu versorgen.

Aus meiner Ausbildung wusste ich noch, dass die Spannung über lange Leitungen abfallen kann, wenn der Leitungsquerschnitt nicht ausreicht. Also griff ich zum Multimeter und maß die Spannung entlang der LED-Streifen. Die Werte bestätigten meine Vermutung – die Spannung brach über die Länge der Streifen ab.

Die Lösung: Eine 5V-Busleitung

Um das Problem zu beheben, legte ich eine 5V-Busleitung entlang der Treppe und injizierte alle drei Stufen die 5V. Das Ergebnis war: Die Spannung blieb nun konstant, und die LEDs leuchteten bis ans Ende des Streifens mit voller Helligkeit.

Der nächste Stolperstein: Instabiler Code

Als Grundlage für mein Projekt nutzte ich eine Anleitung von smarthomeyourself.de. Der dort bereitgestellte Code funktionierte zwar grundsätzlich, doch es gab immer wieder Abstürze. Die Uptime meines ESP deutete darauf hin, dass der Mikrocontroller häufig neu startete.

Nach einigem Testen wurde mir klar, dass der ursprüngliche Code massive Schwächen hatte:

  1. Delays im Code
    Der ursprüngliche Code setzte auf Verzögerungen (Delays), um die LEDs Stufe für Stufe zu beleuchten. Das führte dazu, dass der ESP während dieser Verzögerungen nicht rechtzeitig auf andere Signale reagieren konnte. Das Betriebssystem des ESPHome startete den Controller dann einfach neu.
  2. Wiederholter Code für jede Stufe
    Jede Treppenstufe hatte im Code ihre eigene Kopie der Logik. Das machte den Code unnötig komplex und schwer wartbar.

Meine Anpassungen: Modular und stabil

Da ich noch ein Greenhorn in Sachen ESPHome und Home Assistant bin, machte ich mich schlau, ob es eine Möglichkeit gibt, den Code modularer zu gestalten – und siehe da, es gibt sie. Ich passte den Code so an, dass ich ihn als Package in ESPHome laden konnte. Dadurch wurde der Code nicht nur übersichtlicher, sondern auch leichter anpassbar. Ein weiterer Pluspunkt ich muss für jede Treppe sozusagen nur die Konfigurationsdaten festlegen und das Package einbinden. Sollte ich eine Änderung an den Effekten haben, so müssen diese nur an einem Ort verändert werden und nicht wie vorher in jedem Gerät. Natürlich muss man dennoch die Codes für jede Treppe entsprechend aktualisieren, damit die Änderung auch den Weg in das ROM bzw. in den Flashspeicher finden.

Hauptprobleme gelöst

  • Delays entfernt: Anstelle der Delays nutzte ich eine Abfrage der abgelaufenen Zeit, um die nächste Stufe zu beleuchten. Das verhinderte, dass der ESP blockiert wurde und machte den Ablauf wesentlich stabiler.
  • Modularer Code: Ich habe den Code so strukturiert, dass er leichter zu erweitern und zu pflegen ist.

Den ursprünglichen Code findet ihr hier, und meine angepasste Version habe ich auf GitHub veröffentlicht.

Fazit: Aus Fehlern lernen

Dieses Projekt hat mir gezeigt, dass auch einfache Projekte oft mehr Planung und Testaufwand erfordern, als man zunächst denkt. Die Probleme mit der Stromversorgung und dem instabilen Code waren zwar nervenaufreibend, aber im Nachhinein auch lehrreich. In nachhinein bin ich ganz froh dieses Projekt angefangen zu haben, denn sie läuft nicht nur stabil, sondern ist auch modular und flexibel. Auch wenn ich in Anführungsstrichen etwas mehr Geld in dieses Projekt versenkt habe als ich ursprünglich dachte, so hat es sich dennoch gelohnt.

Wenn ihr ein ähnliches Projekt plant, empfehle ich euch, besonders auf die Stromversorgung und eine effiziente Code-Struktur zu achten. Die Mühe lohnt sich und das Ergebnis wird euch jeden Tag aufs Neue begeistern!

Falls ihr Fragen habt oder eure eigenen Erfahrungen teilen wollt, schreibt es in die Kommentare. Ich bin gespannt, was ihr aus euren Projekten gemacht habt!

Tipps für euer Projekt

  1. Stromversorgung: Achtet darauf, dass euer Netzteil ausreichend dimensioniert ist und die Spannung über die gesamte Länge des LED-Streifens konstant bleibt. Eine Busleitung zur Einspeisung der Spannung ist oft die beste Lösung.
  2. Code-Struktur: Versucht, euren Code modular aufzubauen. Das spart Zeit und Nerven, wenn ihr später Anpassungen vornehmen wollt.
  3. Lötarbeiten: Schraubt die Temperatur beim Löten nicht zu hoch – 350°C reichen vollkommen aus, und das Lötzinn verdampft nicht so stark.

Daniel Jörg Schuppelius

Selbstständiger IT-Dienstleister und Assistent für Elektronik und Datentechnik, Ich bin sozusagen Mädchen für alles was die Informationstechnik angeht. Kümmere mich gerne um Probleme, an denen andere Dienstleister scheitern und bin ständig auf der Suche nach einer neuen Herausforderung. Entwickle gerne Programme und Skripte und kümmere mich um diverse Blogs und Seiten. Auch sonst probiere ich mich an neuen Techniken aus, um mich noch unabhängiger von anderen Personen zu machen. Wenn du willst, dass irgendetwas funktioniert, dann kümmere dich immer selbst darum.

Bisher 1 Kommentar

Daniel Jörg Schuppelius Eingestellt am 9.Jan. 2025 (12:12:08)

Ich möchte den ursprünglichen Code hier auf keinen Fall abwerten. Das Projekt ist gut durchdacht, hatte aber aus meiner Sicht ein paar Schwächen. Auch habe ich in den letzten Monaten festgestellt, dass der Basiscode von ESPHome mitunter auch zu Abstürzen führen kann, weil einige Funktionen nicht so sauber gepflegt wurden. In der Regel beheben sich solche Mängel aber mit dem nächsten Update von ESPHome, und ihr könnt euren Adapter einfach noch mal updaten.

Schreiben Sie einen Kommentar

Bitte beachten: Ihre E-Mail-Adresse wird nicht veröffentlicht, jedoch Ihr Name. Vorname oder ein Nickname ist ausreichend. Des Weiteren werden Kommentare auf dieser Seite moderiert. Bitte haben Sie etwas Geduld, wenn Ihr Kommentar nicht sofort aktiviert wird.

Wenn Sie sich nicht öffentlich äußern möchten, nutzen Sie das Kontaktformular oder senden Sie mir eine E-Mail. Bitte vergessen Sie nicht, den Artikel zu erwähnen, auf den Sie sich beziehen.

Ich stimme der Datenschutzerklärung zu

Sie suchen,
Informationen

zu meinen
Dienstleistungen!