Suivre la consommation d'un ballon d'eau chaude avec PowerCalc dans Home Assistant
Estimer la consommation d’un ballon d’eau chaude dans Home Assistant avec PowerCalc en combinant un déclencheur binaire et un modèle de puissance dépendant de la tension.
Introduction
Cet article explique comment utiliser l’intégration PowerCalc pour ajouter la consommation d’un ballon d’eau chaude au tableau de bord Énergie de Home Assistant sans installer de capteur de puissance dédié.
L’idée clé est qu’un ballon d’eau chaude suit un profil de consommation assez simple : c’est une charge résistive de forte puissance, souvent active sur des créneaux fixes, par exemple pendant les heures creuses la nuit. Lorsqu’aucun autre appareil comparable ne fonctionne au même moment, on peut exploiter les sauts de puissance, ou tout autre signal corrélé, pour détecter quand le ballon chauffe et estimer correctement sa consommation. PowerCalc est particulièrement adapté à ce type de capteur virtuel.
Motivation
J’ai volontairement choisi un appareil “simple”, le Sauter Cangar 200 L, annoncé à 2200 W, parce qu’un ballon d’eau chaude devrait rester un équipement basique. Le marketing semble pourtant avoir pris le dessus sur la durabilité, l’efficacité et le bon sens technique. Beaucoup de modèles plus récents exposent des interfaces propriétaires pour un faux sentiment de contrôle, exigent du Wi-Fi et une connexion cloud, et consomment en permanence une puissance de veille non négligeable. J’ai aussi constaté que certains ne peuvent pas être pilotés via le fil pilote, ce qui oblige à synchroniser manuellement leur programmation avec celle du fournisseur d’électricité. Les ballons plus classiques sont plus simples : ils sont pensés pour être pilotés via le fil pilote et, comme ils ne sont pas conçus pour rester alimentés en permanence, ils intègrent souvent une batterie plus robuste pour des fonctions comme l’anticorrosion active pendant les périodes hors tension.
Si vous utilisez Home Assistant sérieusement, vous avez sans doute déjà rencontré la “matière noire” de l’énergie domestique : des équipements lourds, comme les ballons d’eau chaude câblés en direct, sans mesure intégrée. On peut installer un relais dédié ou un sous-compteur dans le tableau électrique, mais dans certains cas un capteur virtuel piloté par logiciel est suffisamment précis et bien plus simple à maintenir.
Qu’est-ce que PowerCalc ?
PowerCalc est une intégration Home Assistant spécialisée dans l’estimation de la consommation des appareils qui ne la remontent pas eux-mêmes. Sa fonctionnalité la plus utile ici est le capteur de puissance virtuelle manuelle. Elle permet de prendre un simple état On/Off et de le transformer en entités de puissance (W) et d’énergie (kWh).
- Le tableau de bord Énergie : n’a besoin que du capteur d’énergie (kWh) créé par PowerCalc.
- Les utility meters : sont utiles si vous voulez des entités dédiées pour l’interface principale, ou des compteurs distincts selon les tarifs.
Calculer la résistance du ballon
On pourrait affecter une puissance fixe, par exemple 2200 W, ou prendre une moyenne récente, mais en pratique cette valeur varie dans le temps. Cela peut facilement introduire une erreur de 5 % ou plus.
La raison est la baisse de tension du réseau pendant les périodes de forte demande. J’ai observé une tension qui pouvait passer de 225 V à 215 V exactement au moment où les heures creuses commencent et où le ballon démarre. Si l’on modélise le ballon avec une puissance fixe, on surestime alors l’énergie réellement consommée.
![]()
On peut au contraire exploiter le fait qu’un ballon se comporte comme une charge presque purement résistive suivant la loi d’Ohm : $P = V^2 / R$. J’ai mesuré le delta de puissance avant et après le déclenchement.
| P | V | |
|---|---|---|
| Avant déclenchement | 212 W | 220 V |
| Après déclenchement | 2212 W | 220 V |
La formule donne alors $R = V^2 / P = 220^2 / 2000 = 24.2 \Omega$. Dans cette mesure, le résultat est proche de la valeur annoncée, mais ce n’est pas toujours le cas. J’ai répété l’opération sur plusieurs jours et retenu une résistance moyenne de 24 $\Omega$.
Une fois cette résistance estimée, on peut calculer la puissance instantanée directement à partir de la tension mesurée en utilisant la même formule.
Configurer PowerCalc
Installation
- Installation via HACS : allez dans HACS -> Integrations -> Explore & Download Repositories. Cherchez “Powercalc” puis installez-le.
- Redémarrage : redémarrez Home Assistant pour initialiser l’intégration.
Créer un binary sensor pour détecter l’activité du ballon
Pour suivre virtuellement un appareil, PowerCalc a besoin d’un capteur de référence indiquant quand l’équipement est actif. Ici j’utilise le compteur global de la maison, un Lixee ZLinky, pour détecter le saut de puissance.
Un binary sensor est créé dans templates.yaml :
1 2 3 4 5 6 7 8 9 10 | |
Pour éviter les faux positifs dus à d’autres gros appareils comme un four, j’ajoute comme contrainte le créneau heures creuses, de 22 h à 6 h dans mon cas. Le delay_on de 15 secondes filtre les pics très courts, et le delay_off évite les clignotements lorsque le compteur remonte brièvement 0 W ou manque une mise à jour.
Ajouter un capteur depuis l’interface PowerCalc
Configuration de l’intégration : allez dans Settings > Devices & Services > Add Integration. Recherchez “Powercalc” puis sélectionnez-le.
Suivez ensuite les étapes suivantes :
Écran 1 : choix du type de capteur
- Sélectionnez Virtual power (manual).
Écran 2 : création d’un capteur de puissance virtuelle
- Source entity :
binary_sensor.water_tank_heating. - Name : “Hot water tank Power”.
- Calculation strategy : choisissez fixed.
- Standby power : mettez 0.
- Create energy sensor : laissez activé.
Écran 3 : configuration fixe
Utilisez le champ Power template pour le calcul dynamique.
Au lieu de saisir une puissance fixe, utilisez l’expression Jinja Home Assistant habituelle qui élève sensor.lixee_zlinky_tic_tension au carré, divise par 23.07, puis arrondit le résultat à deux décimales.
Écran 4 : options avancées
- Energy integration method : choisissez left (Left Riemann Sum). Pour un appareil qui passe presque instantanément de 0 W à 2000 W, cette méthode est en général plus précise que la méthode trapézoïdale par défaut.
- Energy sensor unit prefix : vérifiez que k (kilo) est sélectionné.
Pour aller plus loin + 2026-05-19
Précision : quantifier l’erreur liée aux fluctuations de tension
La formule $P = V^2/R$ implique qu’une variation de tension par rapport au nominal 230 V est amplifiée dans le calcul de puissance, car la relation est quadratique. Avec $R = 24\,\Omega$ :
| Tension | Puissance réelle | Erreur vs. 230 V fixe |
|---|---|---|
| 215 V | 1927 W | −277 W (−14 %) |
| 220 V | 2017 W | −187 W (−9 %) |
| 225 V | 2110 W | −94 W (−4 %) |
| 230 V | 2204 W | 0 |
| 235 V | 2301 W | +97 W (+4 %) |
En heures creuses, le réseau est davantage chargé et la tension se situe typiquement vers le bas de cette plage. Sur un cycle de chauffe de 3h30 à 215 V, un modèle fixé à 230 V comptabiliserait 7,7 kWh au lieu des 6,7 kWh réels — soit un écart d’un kilowattheure par nuit, ou environ 30 kWh par mois.
Remarque sur les valeurs négatives. Si l’on cherchait à estimer la consommation du ballon en soustrayant une ligne de base à la puissance totale du foyer plutôt qu’en utilisant un déclencheur binaire, une chute de tension simultanée au démarrage du ballon pourrait produire un delta de puissance légèrement inférieur à l’attendu et, selon le timing, une lecture brièvement négative. L’approche par déclencheur binaire évite entièrement ce problème : la puissance vaut soit $V^2/R$, soit zéro, sans aucune soustraction.
Alternative : YAML natif sans PowerCalc
Si vous préférez éviter une dépendance HACS, le même résultat peut être obtenu avec trois composants standard de Home Assistant.
1. Capteur template — puissance instantanée, dans templates.yaml :
1 2 3 4 5 6 7 8 9 10 11 | |
2. Intégration de Riemann — accumulation d’énergie, dans configuration.yaml :
1 2 3 4 5 6 7 | |
3. Compteur utilitaire — remises à zéro cycliques et persistance entre les redémarrages, dans configuration.yaml :
1 2 3 4 5 6 7 | |
Le capteur integration se remet à zéro à chaque redémarrage de Home Assistant. Le wrapper utility_meter ajoute des remises à zéro cycliques et des statistiques long terme, offrant le même comportement que le capteur d’énergie intégré de PowerCalc. Ajoutez sensor.water_tank_energy (ou une entité de compteur utilitaire) au tableau de bord Énergie de la manière habituelle.
Le compromis : trois blocs YAML contre une interface guidée en quelques clics. PowerCalc reste la solution la plus simple si HACS fait déjà partie de votre configuration.
Conclusion
Une fois les nouveaux capteurs créés, ils devraient apparaître dans le tableau de bord Énergie comme appareils individuels. Cela permet de sortir une part importante de la consommation de la catégorie générique “non suivie”, tout en gardant une estimation raisonnablement précise, même lorsque la tension secteur varie.