← Erweiterte Nutzung | Inhaltsverzeichnis | Weiter: Lambda-Integration →
DimmerLink — ESPHome-Integration
Flimmerfreies AC-Dimmen für Home Assistant. Ein dedizierter Timing-Controller, der das Hauptproblem von TRIAC-Dimmern beseitigt.
❌ Das Problem
Using ESPHome's ac_dimmer component?
- 💡 Flimmern bei niedrigen Helligkeitsstufen
- ⚡ WiFi-Konflikte — Interrupts stören das Timing
- 🔥 ESP8266 instabil — nicht genügend Ressourcen für zeitkritischen Code
- 📝 Komplexe Abstimmung — Timing hängt von Lasttyp und Netzqualität ab
„Die Lampe flimmert unregelmäßig" — ESPHome Issue #4131
✅ Die Lösung
DimmerLink — ein kompaktes Modul mit dediziertem Cortex-M0+, das ALLE zeitkritischen Operationen übernimmt: Nulldurchgangserkennung, Phasenwinkelberechnung und TRIAC-Gate-Steuerung mit Mikrosekunden-Präzision.
Your ESP just sends: "Set brightness to 50%" via I2C. That's it.
- ✅ Kein Flimmern — Timing auf Hardware-Ebene, kein Software-Jitter
- ✅ 3 Zeilen YAML — keine Interrupts, keine Bibliotheken, keine Konflikte
- ✅ Funktioniert mit jedem ESP — ESP8266, ESP32, ESP32-S2/S3/C3
- ✅ Auto 50/60 Hz — automatische Netzfrequenzerkennung
- ✅ 3 Dimmkurven — Linear, RMS, Logarithmisch
DimmerLink vs ESPHome ac_dimmer
| ac_dimmer | DimmerLink | |
|---|---|---|
| Flimmern | ⚠️ Häufig bei niedrigen Stufen (#4131) | ✅ Nie — Hardware-Timing |
| ESP8266-Unterstützung | ⚠️ Instabil (Interrupt-Konflikte) | ✅ Stabil — keine Interrupts nötig |
| CPU-Auslastung | Hoch (zeitkritischer ISR) | < 1% (nur I2C-Schreibvorgänge) |
| WiFi-Störungen | Ja (Interrupts vs. WiFi-Stack) | Keine |
| Einrichtungskomplexität | Mittel (Abstimmung erforderlich) | Einfaches YAML |
| Dimmkurven | Nur Software | 3 Hardware-Kurven |
| AC-Frequenz | Manuelle Konfiguration | Auto-Erkennung 50/60 Hz |
| Zusätzliche Hardware | $0 | $1.99-Modul |
Wann
ac_dimmerverwenden: Wenn es bereits gut funktioniert — weiter nutzen!Wann DimmerLink verwenden: Bei Flimmerproblemen, ESP8266, mehreren Dimmern oder wenn Sie Plug-and-Play-Einfachheit wünschen.

- Produktseite: DimmerLink auf rbdimmer.com
- AliExpress-Seite: DimmerLink auf AliExpress
Zwei Integrationsmethoden
DimmerLink unterstützt zwei Ansätze für die ESPHome-Integration:
1. Externe Komponente (Empfohlen)
Eine sofort einsatzbereite ESPHome-Komponente mit übersichtlicher YAML-Konfiguration. Kein C++- oder Lambda-Code erforderlich.
external_components:
- source: github://robotdyn-dimmer/DimmerLink@main
components: [dimmerlink]
refresh: 1d
dimmerlink:
id: dimmer1
address: 0x50
light:
- platform: dimmerlink
dimmerlink_id: dimmer1
name: "Dimmer"
Geeignet für: Die meisten Anwender. Einfaches YAML, automatische I2C-Kommunikation, integrierte Sensoren, Auswahlfelder und Buttons.
2. Lambda-Integration (Fortgeschritten)
Direkter I2C-Registerzugriff über ESPHome-Lambda-Funktionen. Bietet volle Kontrolle über das Kommunikationsprotokoll.
output:
- platform: template
id: dimmer_out
type: float
write_action:
- lambda: |-
uint8_t level = (uint8_t)(state * 100.0f);
uint8_t data[2] = {0x10, level};
id(bus_a).write(0x50, data, 2, true);
light:
- platform: monochromatic
name: "Dimmer"
output: dimmer_out
Geeignet für: Fortgeschrittene Anwender, die eigene Logik, nicht-standardmäßige Konfigurationen oder ein detailliertes Verständnis des I2C-Protokolls benötigen.
Vergleich der Integrationsmethoden
| Funktion | Externe Komponente | Lambda-Integration |
|---|---|---|
| Einrichtungskomplexität | Einfaches YAML | Erfordert C++ Lambdas |
| Codeumfang | ~30 Zeilen | ~100+ Zeilen |
| Sensoren & Status | Integriert | Manuelle Implementierung |
| Dimmkurven-Auswahl | Integriert | Manuelle Implementierung |
| Reset / Rekalibrierung | Integrierte Buttons | Manuelle Befehle |
| Mehrere Geräte | Native Unterstützung | Manuell pro Gerät |
| Anpassung | Standardoptionen | Volle Flexibilität |
| I2C-Fehlerbehandlung | Automatisch | Manuell |
Architektur
Home Assistant
│
│ WiFi (Native API)
▼
ESP32 + ESPHome
│
│ I2C (100 kHz)
▼
DimmerLink
│
│ Zero-Cross + Gate
▼
AC Dimmer (TRIAC)
│
│ AC 110/220V
▼
Lamp
Schnellstart
Verdrahtung
ESP32 DimmerLink
───── ──────────
3.3V → VCC
GND → GND
GPIO21 → SDA
GPIO22 → SCL
Minimale Konfiguration (Externe Komponente)
esphome:
name: dimmerlink
esp32:
board: esp32dev
logger:
api:
ota:
wifi:
ssid: "YOUR_WIFI"
password: "YOUR_PASSWORD"
external_components:
- source: github://robotdyn-dimmer/DimmerLink@main
components: [dimmerlink]
refresh: 1d
i2c:
sda: GPIO21
scl: GPIO22
dimmerlink:
id: dimmer1
light:
- platform: dimmerlink
dimmerlink_id: dimmer1
name: "Dimmer"
gamma_correct: 1.0
Entitätstypen (Externe Komponente)
| Entität | Plattform | Beschreibung |
|---|---|---|
| Light | dimmerlink |
Helligkeitssteuerung (0–100%) |
| Sensor | dimmerlink |
AC-Frequenz, Helligkeitsstufe, Firmware-Version |
| Binary Sensor | dimmerlink |
Bereitschaftsstatus, Fehler-Flag, Kalibrierungsstatus |
| Select | dimmerlink |
Dimmkurve (LINEAR / RMS / LOG) |
| Button | dimmerlink |
Reset-, Rekalibrierungsbefehle |
Weiterführende Dokumentation
| Dokument | Beschreibung |
|---|---|
| I2C-Kommunikation | I2C-Protokoll und Registertabelle |
| Hardware-Anschluss | Anschlussdiagramme |
| Schnellstartanleitung | Erste Schritte mit DimmerLink |
| FAQ & Fehlerbehebung | Häufige Probleme und Lösungen |
Versionshistorie
| Version | Datum | Änderungen |
|---|---|---|
| 1.0 | 2026-02 | Erstveröffentlichung: Dokumentation zur Lambda-Integration |
| 1.1 | 2026-02 | Externe Komponente hinzugefügt |
← Erweiterte Nutzung | Inhaltsverzeichnis | Weiter: Lambda-Integration →