Si votre contrat suit le marché, cela vous est probablement déjà arrivé. Le tableau de bord Énergie affiche un coût pour hier. Vous regardez à nouveau un jour plus tard et il est différent. Ou bien une heure contient un pic d'énergie que personne n'a consommée, facturé au prix de cette heure-là.
Vous n'imaginez pas le problème, et vous n'êtes pas le seul :
« Mais pour une raison quelconque, le tableau de bord calcule toujours plus que ce qu'il devrait. » — odechr, fil du forum Home Assistant 496113
« affiche un coût/revenu bien plus élevé que ce qui est réaliste. » — andreaskin, fil 647174
Ce n'est pas un bogue que vous pourriez trouver dans votre propre configuration, et c'est pourquoi il survit à tant de soirées passées à le chercher. C'est un décalage entre deux résolutions.
Le mécanisme, en un paragraphe
Home Assistant calcule le coût de l'énergie à partir de ses statistiques à long terme, qui sont horaires. Pour un tarif fixe, c'est exactement juste : une heure à un tarif reste une heure à un tarif. Pour un contrat dont le prix change au cours de la journée, c'est l'heure qui pose problème, et lorsque quelque chose interrompt l'enregistrement, l'heure devient tout le problème.
La meilleure description en a été donnée par quelqu'un à qui c'est arrivé :
« C'est simplement l'ajout de toute l'énergie manquante à l'heure où le système a été remis en marche. » — anon11644107, fil 965144
Donc : Home Assistant redémarre, ou un capteur tombe en panne puis revient, et le compteur fait un bond. L'énergie de l'interruption est réelle, votre compteur l'a comptée, mais elle arrive d'un coup, tombe dans l'heure du redémarrage et est facturée au prix de cette heure-là. Si l'interruption a couvert les heures creuses de la nuit et que vous êtes revenu au petit-déjeuner, vous venez d'acheter la nuit au prix du matin.
La même forme apparaît sous d'autres aspects. Un capteur d'intégration peut être multiplié par mille après un redémarrage. C'est un problème ouvert dans le cœur de Home Assistant, #136428, signalé ainsi :
« Après un redémarrage de Home Assistant, la valeur d'un capteur d'intégration est multipliée par 1000 » — roumano, core #136428
Et un appareil qui perd son alimentation peut remettre son propre compteur à zéro, que le côté récepteur lit comme une consommation :
« Cela oblige nos Shelly 3EMs à redémarrer, puis HA enregistre un pic majeur de 1000's de kWh consommés. » — msa, fil 479362
Rien de tout cela ne vient d'une mauvaise conception de Home Assistant. Les statistiques horaires sont un choix raisonnable, et les contournements que partagent les utilisateurs (modèles de disponibilité, correction des lignes dans Developer Tools → Statistics, choix de la méthode left sur une Riemann integration) fonctionnent tous. Ils demandent simplement beaucoup de soirées pour un chiffre qui ne devrait pas avoir à être défendu.
Ce qui change quand le prix est appliqué là où l'énergie est mesurée
L'alternative n'est pas un meilleur tableau de bord. Il s'agit de déplacer la décision une étape plus tôt, vers l'appareil qui effectue la mesure.
Un hub RBgrid détermine un prix pour chaque période de 15 minutes : à partir de la source de prix du lendemain (day-ahead price) que vous choisissez pour votre zone, d'une source de secours si la première n'a rien pour cette période, et sinon à partir de votre propre plan tarifaire. Votre contrat s'applique par-dessus : un facteur, une marge (markup), puis les taxes au kWh, les frais de réseau (grid fee) et la contribution aux énergies renouvelables (renewable levy) de votre plan, puis la TVA (VAT), à moins que la source ne publie déjà le prix de détail, auquel cas rien n'est ajouté et rien n'est compté deux fois.
Ensuite vient la partie qui compte pour cet article : il stocke le prix utilisé à côté de l'énergie à laquelle il a été appliqué, avec la source de chaque période, et conserve cela pendant 40 jours.
Trois conséquences en découlent, et elles forment tout l'argument :
- Un écart reste un écart, sur le hub. Le hub continue de mesurer et de calculer pendant que Home Assistant redémarre, car aucune de ces tâches ne vit dans Home Assistant. Son propre historique ne contient aucune heure fausse, et rien n'a besoin d'être reconstitué ensuite. Ce que Home Assistant affiche ensuite dépend de la façon dont les données du hub lui parviennent, et c'est l'objet de la section suivante.
- Un prix est attaché à sa propre énergie. Le coût de 02:15–02:30 a été calculé à partir du prix de 02:15–02:30, au moment voulu, et ce couplage est consigné. Il ne dépend pas de l'heure à laquelle le chiffre est lu plus tard.
- Vous pouvez le vérifier. Pas « faites confiance au chiffre », mais lisez la ligne.
Les statistiques de Home Assistant restent horaires. Cet article ne dit pas le contraire, et rien ici ne change ce que le tableau de bord Énergie enregistre. L'argent des périodes de 15 minutes vit sur le hub et dans son propre journal ; ce qui parvient à Home Assistant est la vue horaire qu'il a toujours conservée.
Ce qui parvient réellement à Home Assistant, et par quelle voie
L'historique du hub et le tableau de bord Énergie sont deux choses différentes, et le second dépend de la façon dont vous les avez connectés. Cela compte plus qu'il n'y paraît, car cela décide si l'heure du redémarrage affiche encore un saut à l'écran.
- Si le tableau de bord Énergie prend son coût à partir de l'entité de coût propre au hub, l'heure affichée est une somme des périodes que le hub a valorisées une à une, et non une moyenne horaire unique appliquée à un bloc d'énergie.
- Si vous avez gardé votre propre capteur de prix par-dessus l'énergie du hub, Home Assistant la valorise comme il l'a toujours fait, à la résolution qu'il a toujours eue. Le journal du hub et le tableau de bord ne concorderont alors pas, et c'est le journal qui contient les périodes.
- Un redémarrage interrompt toujours ce que Home Assistant enregistre, quoi que le hub ait fait entre-temps. Votre énergie et votre argent sont intacts sur le hub. La question de savoir si l'écart est réparé à l'intérieur de Home Assistant dépend de la voie choisie et d'un réglage, qui est la partie à connaître.
L'import des statistiques horaires, et le réglage dont personne ne parle
L'intégration RBgrid appartient à l'un des deux modes d'exploitation du hub : le hub flashé en appareil ESPHome. Si votre hub fonctionne avec le firmware autonome et rejoint Home Assistant par MQTT, il n'y a aucun import à activer. Passer de l'un à l'autre est un reflash, pas un réglage, donc c'est un choix fait au départ plutôt qu'un interrupteur qu'on bascule plus tard.
Sur cette voie, chaque heure l'intégration demande au hub son propre journal horaire et l'écrit dans les statistiques à long terme de Home Assistant, sous la forme d'un second jeu de lignes, à côté de celles que Home Assistant conserve déjà pour vos capteurs en direct. Chaque heure porte l'énergie et le coût que le hub a calculés pour cette heure. Cela tourne tout seul, une fois par heure, en reprenant là où cela s'était arrêté, de sorte qu'une pause de plusieurs jours est comblée heure par heure plutôt que déversée d'un coup. Le bouton Import into HA statistics de l'onglet History du panneau lance ce même passage immédiatement ; ce n'est pas un mécanisme distinct. Dans les sélecteurs de Home Assistant, les lignes apparaissent sous des noms comme RBgrid Hub Main energy in et … cost.
⚠️ Par défaut, votre tableau de bord Énergie ne regarde pas ces lignes. L'assistant de configuration de l'intégration relie le tableau de bord aux compteurs en direct, et sur ceux-ci un redémarrage affiche toujours la marche habituelle à l'heure du retour de Home Assistant. Les lignes importées, qui n'ont pas d'écart, sont disponibles dans les réglages de source du tableau de bord Énergie, mais il faut les choisir.
La forme honnête tient donc en trois niveaux : le journal du hub n'a jamais d'heure fausse ; les statistiques importées donnent à Home Assistant une copie de ce journal sans trous ; et le tableau de bord affiche celui des deux vers lequel vous le pointez.
Comment vérifier votre propre facture, ligne par ligne
C'est la partie à faire une fois, pour qu'à la prochaine fois qu'un chiffre semble faux, vous sachiez où regarder.
- Ouvrez la page Prices du hub et allez dans Applied prices.
- Choisissez le jour voulu. Le tableau contient une ligne par période de 15 minutes close : Period · Buy · Sell · Source.
- Téléchargez le CSV. Les colonnes sont l'heure de début, dans l'heure propre au hub, le prix d'achat tout compris (all-in buy price), le prix de vente (sell price) et la source.
- Comparez une tranche qui vous intéresse avec le relevé de votre fournisseur.
La colonne Source est celle que la plupart des gens sautent, et dont ils ont ensuite besoin. Elle indique d'où vient le prix de chaque période : votre source principale, votre source de secours, un prix poussé depuis Home Assistant, la moyenne horaire si votre contrat se règle à l'heure, ou votre plan tarifaire lorsqu'aucune source ne couvre la période. Une ligne qui affiche plan n'est pas une erreur. Cela signifie qu'aucun prix de marché n'était en vigueur pour cette période, donc le tarif de la zone l'a valorisée, ce qui est un autre chiffre, correctement obtenu.
Une journée peut compter moins de 96 lignes. Ce n'est pas un prix perdu : le journal enregistre les périodes pendant lesquelles le hub fonctionnait, donc un redémarrage, une mise à jour ou une coupure de courant laisse un trou, et ce trou signifie que le hub n'était pas là.
Ce que cela ne fait pas
Il faut le dire clairement, car une page sur les prix est l'endroit le plus facile pour laisser entendre plus que ce qui est vrai.
- Il ne correspondra pas exactement au relevé de votre fournisseur. Nous mesurons à vos pinces ; eux mesurent à leur compteur. Le journal vous indique quelles périodes ont coûté quoi et pourquoi, pas ce que dira votre facture.
- Il ne commande rien. Le hub peut vous dire, et dire à une automatisation, qu'une tranche est bon marché, sous forme de notification. Ce qui fait tourner le lave-vaisselle, c'est Home Assistant, un répartiteur, ou vous.
- Il ne modifie pas la résolution de Home Assistant. Voir la note plus haut ; cela mérite d'être répété, car c'est précisément ce que les gens espèrent.
- Ce n'est pas un jugement sur votre contrat. Savoir si un contrat à prix dynamique (dynamic price) vous convient relève de vous et de votre fournisseur.
Pour aller plus loin
- Where your price comes from : les sources, la chaîne de repli, et ce que votre contrat fait à un prix de marché.
- How cost is calculated : la chaîne qui va d'un kilowattheure mesuré à l'argent, avec l'étape à deux branches pour les sources à prix spot (spot price) et à prix tout compris.
- Every circuit into Home Assistant : les deux façons de faire tourner le hub avec Home Assistant.
Les citations sont reproduites de fils publics du forum Home Assistant et de tickets GitHub, avec leurs auteurs et leurs numéros de fil, pour que vous puissiez lire chaque fil en entier, y compris les parties qui contredisent cet article.
