Se rendre au contenu

← 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



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.


DimmerLink




Deux méthodes d'intégration

DimmerLink prend en charge deux approches pour l'intégration ESPHome :


Un composant ESPHome prêt à l'emploi avec une configuration YAML claire. Aucun code C++ ou lambda requis.

yaml
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.

Documentation complète du composant


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.

yaml
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.

Documentation Lambda complète | Référence Lambda




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

text
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

text
ESP32          DimmerLink
─────          ──────────
3.3V     →     VCC
GND      →     GND
GPIO21   →     SDA
GPIO22   →     SCL


Configuration minimale (Composant externe)

yaml
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



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 →