Merci de ton retour !
Effectivement, les TRADFRI ne sont plus disponibles. Je souhaite vraiment conserver mon interrupteur, quitte à bien m’embêter
.
Je vais donc fabriquer mon propre module, mais malheureusement pas en Zigbee.
Voici le plan que je me suis fais que je vous partage 
Interrupteur intelligent avec ESP32-C3 : Deep Sleep + Light Sleep
Objectif
Je souhaite conserver mon interrupteur existant et lui ajouter un module ultra basse consommation qui :
- Détecte son état (ON/OFF).
- Envoie un message MQTT à Home Assistant.
- Fonctionne sur pile pour une autonomie maximale. (Une batterie plutôt : LIPO 1s - 3.7V)
- A une latence réduite aux heures importantes.
Pour cela, j’ai choisi l’ESP32-C3, un **microcontrôleur ** optimisé pour la basse consommation.
Matériel utilisé
- Microcontrôleur : ESP32-C3 (DevKitM-1 ou similaire).
- Alimentation : Batterie LiPo 1S 3.7V 1200mAh (format plat).
- Communication : WiFi + MQTT.
Optimisation : Deep Sleep + Light Sleep
Pour maximiser l’autonomie tout en gardant une bonne réactivité, j’ai choisi une stratégie hybride :
- Light Sleep (5h par jour, entre 17h et 22h) → Pour une latence très faible quand je suis chez moi.
- Deep Sleep (19h par jour) → Pour économiser de l’énergie le reste du temps.
Impact sur l’autonomie
Paramètre |
Valeur |
Consommation en Deep Sleep |
~5 µA |
Consommation en Light Sleep |
~130 µA |
Consommation en mode actif (WiFi + MQTT) |
~100 mA |
Durée de Light Sleep par jour |
5h |
Durée de Deep Sleep par jour |
19h |
Réveils pour envoyer MQTT |
~50 fois/jour (1 sec d’activité à chaque fois) |
Capacité batterie (2x AAA) |
~1200 mAh |
Autonomie estimée |
~1 an |
Latence en fonction du mode de veille
Mode |
Latence au réveil |
Connexion WiFi |
Envoi MQTT |
Latence totale |
Deep Sleep |
~100 ms |
~500 ms à 1 sec |
~100 ms |
~1 à 1,5 sec |
Light Sleep |
~10-20 ms |
Déjà connecté |
~100 ms |
~200-300 ms |
Pourquoi cette configuration ?
Autonomie d’un peu plus d’un ans avec cette batterie.
Latence ultra-rapide en Light Sleep sur certaines plages horaires.
WiFi + MQTT pour une intégration facile dans Home Assistant.
Deep Sleep la majorité du temps pour économiser la batterie.
Optimisation avancée : Améliorer la connexion WiFi pour réduire la latence
Pourquoi optimiser la connexion WiFi ?
Lorsque l’ESP32-C3 sort de Deep Sleep, il doit se reconnecter au WiFi avant d’envoyer un message MQTT.
Par défaut, avec un DHCP, cette étape peut prendre 300 à 500 ms à cause de l’attribution dynamique d’une IP.
Solution : Utiliser une IP statique au lieu du DHCP
.
Gain de temps estimé
Mode |
WiFi avec DHCP |
WiFi avec IP statique |
Gain de temps |
Deep Sleep |
~500 ms à 1 sec |
~200 à 500 ms |
~300 à 500 ms |
Light Sleep |
Déjà connecté |
Déjà connecté |
**N/A ** |
Avec une IP statique, la connexion peut être 30 à 50% plus rapide en Deep Sleep.
Autres optimisations possibles
Optimisation |
Effet sur la consommation |
Effet sur la latence |
Utilisation d’une IP statique |
Aucune impact sur l’autonomie |
Gain de 300-500 ms |
Désactivation des scans WiFi au réveil |
Peut économiser ~5-10% |
Gain de ~100 ms |
Stocker les identifiants WiFi en NVS |
Économie mineure |
Gain de ~50 ms |
Diminution de la puissance WiFi |
Peut économiser ~10-20% |
Peut ralentir la connexion |
Pourquoi ces optimisations sont utiles ?
Moins de latence → Réduction du temps d’allumage de l’ampoule après un appui sur l’interrupteur.
Moins de consommation → Moins de temps actif = meilleure autonomie sur batterie.
Facile à implémenter.
Avec ces optimisations, on peut viser une latence de ~700 ms au lieu de 1 à 1,5 sec en Deep Sleep.
Cette solution permet donc de trouver le bon équilibre entre réactivité et autonomie.
Si quelqu’un a des idées pour encore améliorer cette optimisation, je suis preneur ! 