Introduction : pourquoi instrumenter son compteur d’eau ?
La surveillance de la consommation d’eau est l’un des projets de domotique les plus rentables et les plus utiles au quotidien. Elle permet non seulement de suivre finement les habitudes du foyer dans le Dashboard Énergie de Home Assistant, mais surtout de détecter les micro-fuites de manière proactive (chasse d’eau qui fuit, groupe de sécurité du chauffe-eau, tuyau enterré percé) avant qu’elles ne causent un dégât des eaux ou une facture de plusieurs centaines d’euros.
Bonne nouvelle : il n’est pas nécessaire d’être plombier ni de couper la canalisation ! Ce projet est 100 % non-invasif et consiste à lire mécaniquement, magnétiquement ou optiquement le cadran du compteur existant à l’aide d’un microcontrôleur ESP8266 (Wemos D1 Mini) ou ESP32 sous ESPHome.
Le Principe : détecter chaque rotation d’un litre
La quasi-totalité des compteurs d’eau divisionnaires ou généraux (Sappel/Diehl Aquarius, Itron, Maddalena, Bmeter) possèdent une petite roue étoilée ou une aiguille qui tourne proportionnellement au débit de l’eau :
- 1 rotation complète = $X$ litres (le plus souvent 1 tour = 1 litre, indiqué par
x 0,001 m³sur le cadran). - Cette roue embarque soit un petit aimant permanent, soit une demi-lune métallique/réfléchissante.
- En comptant chaque passage devant le capteur (impulsion), ESPHome calcule à la fois le débit instantané (
L/min) et le volume cumulé (m³).
Méthode 1 : Capteur Magnétique (ILS / Reed Switch)
C’est la méthode la plus simple, la plus fiable et la moins énergivore si votre compteur possède un aimant interne sur sa roue des litres.
Le Composant : Un Interrupteur à Lame Souple (ILS), aussi appelé Reed Switch. C’est une minuscule ampoule de verre sous vide contenant deux lamelles ferromagnétiques qui entrent en contact dès qu’un champ magnétique passe à proximité. On peut utiliser une ampoule ILS nue (2 fils) ou un module conditionné avec comparateur LM393 (qui ajoute une LED témoin bien pratique pour le calibrage).
Matériel Nécessaire
- Un capteur Reed Switch (ampoule ILS nue $14\text{ mm}$ ou module LM393) : $\approx 1\text{ €}$
- Un Wemos D1 Mini (ESP8266) ou ESP32-C3 SuperMini dans un boîtier étanche IP65 : $\approx 3\text{ €}$
- Un support clipsable imprimé en 3D (PLA/PETG) adapté au diamètre de votre compteur.
Montage et Câblage
- Localisez l’aimant : Ouvrez un robinet à faible débit et approchez le capteur du cadran. La LED du module LM393 (ou votre multimètre en mode continuité) doit s’allumer brièvement à chaque tour de la petite roue.
- Fixez le capteur : Le positionnement millimétrique au-dessus de l’axe de la roue est déterminant pour ne rater aucune impulsion à fort débit.
Câblage sur Wemos D1 Mini :
- Module LM393 :
VCC$\rightarrow$3.3V,GND$\rightarrow$GND,DO(Digital Out) $\rightarrow$D2(GPIO4). - Simple ampoule Reed Switch (2 fils) : Une patte $\rightarrow$
GND, l’autre patte $\rightarrow$D2(GPIO4). La résistance de tirage interne (INPUT_PULLUP) de l’ESP maintient l’entrée à3.3Vau repos et détecte la mise à la masse lors du passage de l’aimant.
Le Code ESPHome (pulse_counter + total)
esphome:
name: water-meter
friendly_name: "Compteur d'Eau"
esp8266:
board: d1_mini
# Connexion Wi-Fi, API chiffrée Home Assistant & OTA...
sensor:
- platform: pulse_counter
pin:
number: D2
mode:
input: true
pullup: true # Indispensable pour un Reed Switch nu
name: "Débit Eau Instantané"
id: water_flow_rate
unit_of_measurement: "L/min"
accuracy_decimals: 1
icon: "mdi:water-pump"
# Anti-rebond mécanique de la lame souple (100ms = jusqu'à 600 L/min max)
internal_filter: 100ms
update_interval: 15s
filters:
# Si 1 impulsion = 1 Litre, pulse_counter renvoie directement des impulsions/minute = L/min
- multiply: 1.0
total:
name: "Index Total Eau"
id: water_meter_total
unit_of_measurement: "m³"
accuracy_decimals: 3
device_class: water
state_class: total_increasing
icon: "mdi:counter"
filters:
- multiply: 0.001 # Conversion Litres -> m³ pour le Dashboard Énergie HA
Méthode 2 : Capteur Optique Infrarouge (TCRT5000 / CNY70)
Si votre compteur est doté d’un blindage anti-magnétique mais possède une roue crantée rouge/noire ou un demi-disque métallique réfléchissant, l’approche optique infrarouge prend le relais.
- Le Composant : Le capteur de réflectance TCRT5000 (ou CNY70) combine une LED émettrice infrarouge ($950\text{ nm}$) et un phototransistor récepteur.
- Fonctionnement : Tant que le faisceau IR éclaire le fond blanc ou le demi-disque brillant, la lumière est réfléchie vers le phototransistor. Dès que la palette noire ou mate passe sous le capteur, le faisceau est absorbé, générant une impulsion franche sur la sortie numérique
DOaprès réglage du potentiomètre de seuil. - Configuration ESPHome : Strictement identique au YAML ci-dessus !
Méthode 3 : Émetteur d’Impulsions Officiel (Cyble / Itron / Diehl)
Certains compteurs d’eau disposent d’un logement dédié pour clipser une tête émettrice d’impulsions officielle (Reed ou inductive industrielle) ou sortent directement deux fils secs.
Lorsque le compteur émet plusieurs impulsions par litre (par exemple 87 impulsions par litre sur une turbine de précision), il suffit d’ajuster le diviseur dans le filtre lambda :
sensor:
- platform: pulse_counter
pin:
number: GPIO12
mode:
input: true
pullup: true
name: "Débit Eau (Turbine)"
internal_filter: 10ms
unit_of_measurement: "L/min"
filters:
# Exemple : 87 impulsions = 1 Litre
- lambda: return x / 87.0;
total:
name: "Consommation Totale Eau"
unit_of_measurement: "m³"
device_class: water
state_class: total_increasing
accuracy_decimals: 3
filters:
- lambda: return x / (87.0 * 1000.0);
Magnétomètre 3 axes, Vision IA (ESP32-CAM) & Vanne Coupe-Eau Automatique
Avec le déploiement généralisé de compteurs récents mieux blindés et des normes domotiques Matter / Zigbee, deux nouvelles approches et un actionneur de sécurité complètent aujourd’hui cette architecture :
| Technologie de lecture | Composant matériel | Coût | Avantages clés | Limites |
|---|---|---|---|---|
| Magnétique (Contact) | Ampoule ILS Reed Switch | $\sim 1\text{ €}$ | Ultra-simple, zéro dérive, consommation nulle | Nécessite un aimant franc et peut rebondir si mal filtré |
| Magnétique Haute Sensibilité | Magnétomètre QMC5883L / HMC5883L (I2C) | $\sim 2\text{ €}$ | Détecte les micro-variations de champ ($\mu\text{T}$) même à travers un boîtier épais | Câblage I2C (SDA/SCL) + seuils haut/bas à calibrer |
| Optique Réflectance | TCRT5000 / CNY70 | $\sim 1{,}50\text{ €}$ | Fonctionne sur les mires optiques sans aimant | Sensible à la buée et à la lumière ambiante parasite |
| Vision Edge AI (OCR) | ESP32-CAM + AI-on-the-edge-device | $\sim 7\text{ €}$ | Lit l’index absolu exact (rouleaux chiffrés + aiguilles) par réseau de neurones TFLite | Nécessite un tube d’éclairage LED stable et alimentation 5V |
Coupure d’eau automatique en cas de fuite avérée
Détecter une fuite à 3h du matin sur son téléphone est utile, mais couper automatiquement l’arrivée d’eau générale pendant vos vacances évite le sinistre :
- L’actionneur : Une vanne motorisée quart-de-tour Zigbee ou Matter-over-Thread (type servomoteur à bras mécanique qui se fixe par-dessus la poignée de votre vanne d’arrêt existante sans plomberie, ou vanne laiton motorisée
DN20avec débrayage manuel). - L’automatisation Home Assistant (YAML) :
- Fuite franche (Capteur d’inondation au sol) : Si un capteur Zigbee (
binary_sensor.fuite_buanderieoufuite_cuisine) passe àon, fermeture immédiate devalve.arrivee_eau_generale+ alerte critique. - Fuite sournoise sur compteur (
pulse_counter) : Si le débit ne retombe jamais à0 L/minpendant 45 minutes consécutives entre02:00et05:00du matin (et qu’aucune machine à laver ou arrosage n’est en cours), envoi d’une notification interactive avec bouton[Couper l'eau générale].
- Fuite franche (Capteur d’inondation au sol) : Si un capteur Zigbee (
Aide-mémoire : Dépannage & Bonnes Pratiques ESPHome
| Symptôme observé | Cause probable | Solution immédiate |
|---|---|---|
| Comptage double ou triple par litre | Rebond mécanique des lamelles du Reed Switch ou oscillation du comparateur LM393 au seuil | Augmenter internal_filter: 100ms (voire 200ms) ou utiliser pulse_meter avec internal_filter_mode: PULSE. |
| Remise à zéro de l’index au redémarrage de l’ESP | Le compteur interne de l’ESP repart de 0 après une coupure électrique | Normal côté ESP : grâce à state_class: total_increasing, Home Assistant gère nativement les remises à zéro dans ses statistiques long-terme sans perdre le cumul du Dashboard Énergie. |
| Aucune impulsion détectée à fort débit | Filtre anti-rebond trop long (1s) qui masque les passages rapides de l’aimant | Descendre internal_filter entre 50ms et 100ms (100 ms autorise jusqu’à 10 L/seconde, bien au-delà d’un compteur domestique). |
Conclusion
Fabriquer son propre compteur d’eau connecté avec ESPHome et Home Assistant est un projet à moins de 5 € qui s’installe en 15 minutes sans toucher à la plomberie. Associé aux statistiques long-terme du Dashboard Énergie et à une alerte de débit nocturne anormal, il offre une visibilité chirurgicale sur votre consommation et une assurance précieuse contre les dégâts des eaux.
