← Utilisation avancée | Sommaire | Suivant : Intégration Lambda →
DimmerLink — Intégration ESPHome
Variation AC sans scintillement pour Home Assistant. Un contrôleur de synchronisation dédié qui élimine le problème n°1 des variateurs TRIAC.
❌ Le problème
Using ESPHome's ac_dimmer component?
- 💡 Scintillement aux faibles niveaux de luminosité
- ⚡ Conflits WiFi — les interruptions perturbent la synchronisation
- 🔥 ESP8266 instable — ressources insuffisantes pour le code critique en temps
- 📝 Réglage complexe — la synchronisation dépend du type de charge et de la qualité du réseau
« La lampe scintille de manière irrégulière » — ESPHome Issue #4131
✅ La solution
DimmerLink — un module compact avec un Cortex-M0+ dédié qui gère TOUTES les opérations critiques en temps : détection de passage par zéro, calcul de l'angle de phase et commande de la gâchette TRIAC avec une précision à la microseconde.
Your ESP just sends: "Set brightness to 50%" via I2C. That's it.
- ✅ Zéro scintillement — synchronisation matérielle, pas de gigue logicielle
- ✅ 3 lignes de YAML — pas d'interruptions, pas de bibliothèques, pas de conflits
- ✅ Fonctionne sur tout ESP — ESP8266, ESP32, ESP32-S2/S3/C3
- ✅ Auto 50/60 Hz — détection automatique de la fréquence réseau
- ✅ 3 courbes de variation — Linéaire, RMS, Logarithmique
DimmerLink vs ESPHome ac_dimmer
| ac_dimmer | DimmerLink | |
|---|---|---|
| Scintillement | ⚠️ Fréquent aux faibles niveaux (#4131) | ✅ Jamais — synchronisation matérielle |
| Support ESP8266 | ⚠️ Instable (conflits d'interruptions) | ✅ Stable — aucune interruption nécessaire |
| Utilisation CPU | Élevée (ISR critique en temps) | < 1% (simples écritures I2C) |
| Interférences WiFi | Oui (interruptions vs pile WiFi) | Aucune |
| Complexité de configuration | Moyenne (réglages nécessaires) | YAML simple |
| Courbes de variation | Logicielles uniquement | 3 courbes matérielles |
| Fréquence AC | Configuration manuelle | Détection auto 50/60 Hz |
| Matériel supplémentaire | 0 $ | Module à 1,99 $ |
Quand utiliser
ac_dimmer: S'il fonctionne déjà bien pour votre installation — continuez !Quand utiliser DimmerLink : Problèmes de scintillement, ESP8266, variateurs multiples, ou si vous souhaitez une simplicité plug-and-play.

- Page produit : DimmerLink sur rbdimmer.com
- Page AliExpress : DimmerLink sur AliExpress
Deux méthodes d'intégration
DimmerLink prend en charge deux approches pour l'intégration ESPHome :
1. Composant externe (Recommandé)
Un composant ESPHome prêt à l'emploi avec une configuration YAML claire. Aucun code C++ ou lambda requis.
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"
Idéal pour : La plupart des utilisateurs. YAML simple, communication I2C automatique, capteurs, sélecteurs et boutons intégrés.
2. Intégration Lambda (Avancé)
Accès direct aux registres I2C via les fonctions lambda d'ESPHome. Contrôle total sur le protocole de communication.
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
Idéal pour : Les utilisateurs avancés qui ont besoin d'une logique personnalisée, de configurations non standard ou qui souhaitent comprendre le protocole I2C en détail.
Comparaison des méthodes d'intégration
| Fonctionnalité | Composant externe | Intégration Lambda |
|---|---|---|
| Complexité de configuration | YAML simple | Requiert des lambdas C++ |
| Volume de code | ~30 lignes | ~100+ lignes |
| Capteurs et statut | Intégrés | Implémentation manuelle |
| Sélection de courbe de variation | Intégrés | Implémentation manuelle |
| Réinitialisation / Recalibrage | Boutons intégrés | Commandes manuelles |
| Appareils multiples | Support natif | Manuel par appareil |
| Personnalisation | Options standard | Flexibilité totale |
| Gestion des erreurs I2C | Automatique | Manuelle |
Architecture
Home Assistant
│
│ WiFi (Native API)
▼
ESP32 + ESPHome
│
│ I2C (100 kHz)
▼
DimmerLink
│
│ Zero-Cross + Gate
▼
AC Dimmer (TRIAC)
│
│ AC 110/220V
▼
Lamp
Démarrage rapide
Câblage
ESP32 DimmerLink
───── ──────────
3.3V → VCC
GND → GND
GPIO21 → SDA
GPIO22 → SCL
Configuration minimale (Composant externe)
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
Types d'entités (Composant externe)
| Entité | Plateforme | Description |
|---|---|---|
| Light | dimmerlink |
Contrôle de luminosité (0–100%) |
| Sensor | dimmerlink |
Fréquence AC, niveau de luminosité, version du firmware |
| Binary Sensor | dimmerlink |
Statut prêt, indicateur d'erreur, statut de calibrage |
| Select | dimmerlink |
Courbe de variation (LINEAR / RMS / LOG) |
| Button | dimmerlink |
Commandes de réinitialisation et recalibrage |
Documentation associée
| Document | Description |
|---|---|
| Communication I2C | Protocole I2C et carte des registres |
| Connexion matérielle | Schémas de connexion |
| Guide de démarrage rapide | Prise en main de DimmerLink |
| FAQ & Dépannage | Problèmes courants et solutions |
Historique des versions
| Version | Date | Modifications |
|---|---|---|
| 1.0 | 2026-02 | Version initiale : documentation de l'intégration lambda |
| 1.1 | 2026-02 | Ajout du composant externe |
← Utilisation avancée | Sommaire | Suivant : Intégration Lambda →