← Uso avanzato | Indice | Avanti: Integrazione Lambda →
DimmerLink — Integrazione ESPHome
Dimmerizzazione AC senza sfarfallio per Home Assistant. Un controller di temporizzazione dedicato che elimina il problema n.1 dei dimmer TRIAC.
❌ Il problema
Using ESPHome's ac_dimmer component?
- 💡 Sfarfallio a bassi livelli di luminosità
- ⚡ Conflitti WiFi — gli interrupt alterano la temporizzazione
- 🔥 ESP8266 instabile — risorse insufficienti per il codice critico in tempo
- 📝 Regolazione complessa — la temporizzazione dipende dal tipo di carico e dalla qualità della rete
«La lampada ha uno sfarfallio irregolare» — ESPHome Issue #4131
✅ La soluzione
DimmerLink — un modulo compatto con un Cortex-M0+ dedicato che gestisce TUTTE le operazioni critiche in tempo: rilevamento passaggio per lo zero, calcolo dell'angolo di fase e controllo del gate TRIAC con precisione al microsecondo.
Your ESP just sends: "Set brightness to 50%" via I2C. That's it.
- ✅ Zero sfarfallio — temporizzazione hardware, nessun jitter software
- ✅ 3 righe di YAML — nessun interrupt, nessuna libreria, nessun conflitto
- ✅ Funziona su qualsiasi ESP — ESP8266, ESP32, ESP32-S2/S3/C3
- ✅ Auto 50/60 Hz — rilevamento automatico della frequenza di rete
- ✅ 3 curve di dimmerizzazione — Lineare, RMS, Logaritmica
DimmerLink vs ESPHome ac_dimmer
| ac_dimmer | DimmerLink | |
|---|---|---|
| Sfarfallio | ⚠️ Frequente a bassi livelli (#4131) | ✅ Mai — temporizzazione hardware |
| Supporto ESP8266 | ⚠️ Instabile (conflitti di interrupt) | ✅ Stabile — nessun interrupt necessario |
| Utilizzo CPU | Alto (ISR critico in tempo) | < 1% (solo scritture I2C) |
| Interferenze WiFi | Sì (interrupt vs stack WiFi) | Nessuna |
| Complessità di configurazione | Media (regolazione necessaria) | YAML semplice |
| Curve di dimmerizzazione | Solo software | 3 curve hardware |
| Frequenza AC | Configurazione manuale | Rilevamento auto 50/60 Hz |
| Hardware aggiuntivo | $0 | Modulo a $1.99 |
Quando usare
ac_dimmer: Se funziona già bene per la tua installazione — continua a usarlo!Quando usare DimmerLink: Problemi di sfarfallio, ESP8266, dimmer multipli o se vuoi la semplicità plug-and-play.

- Pagina prodotto: DimmerLink su rbdimmer.com
- Pagina AliExpress: DimmerLink su AliExpress
Due metodi di integrazione
DimmerLink supporta due approcci per l'integrazione con ESPHome:
1. Componente esterno (Consigliato)
Un componente ESPHome pronto all'uso con configurazione YAML chiara. Nessun codice C++ o lambda richiesto.
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"
Ideale per: La maggior parte degli utenti. YAML semplice, comunicazione I2C automatica, sensori, selettori e pulsanti integrati.
2. Integrazione Lambda (Avanzato)
Accesso diretto ai registri I2C tramite le funzioni lambda di ESPHome. Controllo completo sul protocollo di comunicazione.
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
Ideale per: Utenti avanzati che necessitano di logica personalizzata, configurazioni non standard o vogliono comprendere in dettaglio il protocollo I2C.
Confronto dei metodi di integrazione
| Caratteristica | Componente esterno | Integrazione Lambda |
|---|---|---|
| Complessità di configurazione | YAML semplice | Richiede lambda C++ |
| Righe di codice | ~30 righe | ~100+ righe |
| Sensori e stato | Integrati | Implementazione manuale |
| Selezione curva di dimmerizzazione | Integrati | Implementazione manuale |
| Reset / Ricalibrazione | Pulsanti integrati | Comandi manuali |
| Dispositivi multipli | Supporto nativo | Manuale per dispositivo |
| Personalizzazione | Opzioni standard | Flessibilità totale |
| Gestione errori I2C | Automatica | Manuale |
Architettura
Home Assistant
│
│ WiFi (Native API)
▼
ESP32 + ESPHome
│
│ I2C (100 kHz)
▼
DimmerLink
│
│ Zero-Cross + Gate
▼
AC Dimmer (TRIAC)
│
│ AC 110/220V
▼
Lamp
Avvio rapido
Cablaggio
ESP32 DimmerLink
───── ──────────
3.3V → VCC
GND → GND
GPIO21 → SDA
GPIO22 → SCL
Configurazione minima (Componente esterno)
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
Tipi di entità (Componente esterno)
| Entità | Piattaforma | Descrizione |
|---|---|---|
| Light | dimmerlink |
Controllo luminosità (0–100%) |
| Sensor | dimmerlink |
Frequenza AC, livello di luminosità, versione firmware |
| Binary Sensor | dimmerlink |
Stato di disponibilità, flag errore, stato di calibrazione |
| Select | dimmerlink |
Curva di dimmerizzazione (LINEAR / RMS / LOG) |
| Button | dimmerlink |
Comandi di reset e ricalibrazione |
Documentazione correlata
| Documento | Descrizione |
|---|---|
| Comunicazione I2C | Protocollo I2C e mappa dei registri |
| Collegamento hardware | Schemi di collegamento |
| Guida all'avvio rapido | Per iniziare con DimmerLink |
| FAQ e risoluzione dei problemi | Problemi comuni e soluzioni |
Cronologia delle versioni
| Versione | Data | Modifiche |
|---|---|---|
| 1.0 | 2026-02 | Versione iniziale: documentazione dell'integrazione lambda |
| 1.1 | 2026-02 | Aggiunto componente esterno |