ESPHome : capteur personnalisé pour cycles de pompe à pression
Pourquoi surveiller les cycles de la pompe ?
Un réservoir sous pression bien réglé ne devrait déclencher la pompe que quelques fois par heure, tout dépend de la consommation d’eau du foyer. Mais dès que ce rythme s’emballe, c’est souvent le premier signal d’alarme :
- Vessie du réservoir dégonflée ou percée : cycles courts, très rapprochés, presque frénétiques.
- Fuite dans la tuyauterie : la pompe se déclenche alors que personne n’utilise une goutte d’eau.
- Pressostat usé : les seuils de déclenchement partent dans tous les sens.
- Pompe fatiguée : le temps de remontée en pression s’allonge, parfois sans qu’on s’en rende compte sur le moment.
Repérer ces signaux à temps, c’est souvent la différence entre une petite réparation planifiée et une panne totale un samedi soir, ou pire, pendant que vous êtes en vacances à 400 km de là.
Le matériel nécessaire
Rien de bien sorcier. Un montage simple fait l’affaire :
- Un ESP32 (préférez-le à un ESP8266, son ADC est nettement plus précis).
- Un transducteur de pression 0-5V ou 4-20mA, installé sur la ligne du réservoir (les modèles d’irrigation ou hydrauliques conviennent très bien, 0-150 ou 0-200 psi selon votre installation).
- Une résistance de précision autour de 250 ohms, pour convertir un signal 4-20mA en tension lisible par l’ADC.
- Une alimentation 12V ou 24V stable pour le transducteur. Séparez-la de celle de l’ESP32 si vous avez le moindre doute sur la stabilité du circuit.
Configuration YAML ESPHome de base
Voici un exemple pour lire la pression et exposer la valeur dans Home Assistant :
sensor:
-
platform: adc pin: GPIO34 name: “Pression réservoir brute” id: pression_brute attenuation: 11db update_interval: 2s filters:
-
multiply: 1.0
-
platform: template name: “Pression réservoir (psi)” id: pression_psi unit_of_measurement: “psi” accuracy_decimals: 1 lambda: |- float voltage = id(pression_brute).state; // Conversion selon la plage du transducteur, ex : 0.5V=0psi, 4.5V=200psi return (voltage - 0.5) * (200.0 / 4.0); update_interval: 2s
Attention, cette formule n’est qu’un point de départ. Vérifiez toujours la fiche technique de votre transducteur, les plages de tension varient d’un modèle à l’autre et une erreur de calibration fausse toutes vos lectures.
Détecter les cycles avec un composant personnalisé
Pour compter les cycles, on ajoute un capteur binaire qui détecte la pompe en marche ou à l’arrêt via la pente de pression, puis on comptabilise les transitions :
binary_sensor:
- platform: template name: “Pompe en marche” id: pompe_marche lambda: |- static float derniere_pression = 0; float delta = id(pression_psi).state - derniere_pression; derniere_pression = id(pression_psi).state; return delta > 0.3; filters:
- delayed_on: 500ms
- delayed_off: 2s
sensor:
- platform: pulse_counter name: “Cycles pompe par heure”
alternative : utiliser un script lambda avec compteur global
En pratique, mieux vaut passer par une variable globale incrémentée à chaque transition OFF→ON du binary_sensor, puis remise à zéro toutes les heures via une automatisation ESPHome (interval:). C’est plus robuste qu’un simple pulse_counter et ça colle mieux à la réalité du terrain.
Exploiter les données dans Home Assistant
Une fois vos entités exposées, quelques automatisations suffisent à transformer ces chiffres en véritable outil de surveillance :
- Un graphique d’historique de la pression, pour voir d’un coup d’œil le profil de remplissage et de vidange du réservoir.
- Une automatisation d’alerte si le nombre de cycles par heure dépasse un seuil, disons 15 cycles/heure hors période de forte consommation (lessive, arrosage, douches enchaînées).
- Une notification si la pompe tourne en continu plus de X minutes, signe quasi certain d’une panne sèche ou d’une fuite majeure quelque part dans le réseau.
Conseils d’installation pratiques
- Installez le transducteur sur un raccord en T déjà existant côté réservoir, jamais directement sur la pompe. Les vibrations et la chaleur finiraient par l’endommager.
- Protégez l’ESP32 dans un boîtier étanche (IP65) si votre local technique est humide, ce qui est souvent le cas près d’un puits.
- Privilégiez une alimentation via POE ou un bloc dédié, histoire d’éviter les coupures liées au disjoncteur de la pompe. Rien de plus frustrant qu’un capteur qui tombe en panne juste au moment où la pompe a un souci.
Conclusion
Un capteur ESPHome dédié aux cycles de pompe et de réservoir sous pression change complètement la donne : ce qui était invisible devient mesurable, pression en temps réel, fréquence des cycles, alertes avant que les choses ne tournent mal. Pour le prix d’un transducteur et d’un ESP32, soit une facture assez modeste, vous obtenez une vraie maintenance prédictive de votre système de puits. De quoi éviter les pannes surprises et faire durer votre pompe plus longtemps, tout simplement.