Un système de suivi de la consommation d’énergie avec des prises connectées, Prometheus et Grafana
(ounapuu.ee)- En connectant Tasmota sur les prises connectées athom.tech
EU style plug V3à Prometheus et Grafana déjà présents sur le serveur domestique, il est possible de visualiser la consommation électrique à long terme des appareils électroménagers et du matériel informatique - L’architecture consiste à exécuter
tasmota-power-exporterpour chaque prise, puis à faire en sorte que Prometheus scrape toutes les secondes ; dans Grafana, il faut réglermin stepsur 1 seconde pour obtenir des graphiques détaillés - Sur environ 4 mois de mesures, le chauffe-eau électrique a consommé en moyenne 4.51kWh/jour, tandis que l’ensemble du bureau de télétravail a consommé en moyenne 0.95kWh/jour ; le Zimaboard tournait autour de 7W en usage normal, soit moins qu’un modem/routeur d’opérateur
- Les graphiques de tension ont aussi révélé les heures de pointe et le fonctionnement des appareils à forte puissance ; quand le chauffe-eau, la bouilloire électrique, la cuisinière électrique ou le micro-ondes s’allument, la tension baisse légèrement sur toutes les prises
- C’est utile pour des mesures de longue durée, mais certaines prises n’envoyaient pas leurs statistiques à temps ou disparaissaient du réseau, ce qui nécessitait un redémarrage électrique ; l’automatisation basée sur le prix de l’électricité reste une prochaine piste d’expérimentation
Observer la consommation électrique sur le long terme avec des prises connectées
- L’objectif est de suivre visuellement sur la durée la consommation électrique d’équipements comme un serveur domestique, un routeur, une station de travail ou un chauffe-eau électrique
- Le simple wattmètre numérique utilisé auparavant suffisait pour consulter des mesures instantanées, mais montrait ses limites pour comprendre comment les appareils consomment sur de longues périodes
- Le produit utilisé est une variante de la
EU style plug V3d’athom.tech, avec une livraison vers l’UE en 9 jours, Noël compris - Les prises sont livrées avec Tasmota préinstallé, et peuvent être connectées au Wi-Fi puis administrées dans le navigateur en suivant la notice fournie
- La mise à jour du firmware jusqu’à la dernière version se fait en quelques clics dans l’interface web
Architecture de collecte avec Prometheus et Grafana
- Les données du compteur électrique sont collectées dans une instance Prometheus déjà présente sur le serveur domestique
- Prometheus sert à lire périodiquement des métriques depuis plusieurs sources, à les stocker sur disque, puis à les interroger et les manipuler plus tard
- Sur le serveur, une instance de tasmota-power-exporter est lancée par prise
- Prometheus scrape chaque exporter une fois par seconde
- Il serait aussi possible de faire exporter les métriques directement par la prise, mais l’option de construire soi-même le firmware Tasmota n’a pas été retenue
- Pour la visualisation, l’instance Grafana existante a été réutilisée
- Pour obtenir les points de données les plus détaillés sur les graphiques, il faut régler
min stepsur 1 seconde
- Pour obtenir les points de données les plus détaillés sur les graphiques, il faut régler
Consommation électrique observée sur environ 4 mois
-
Chauffe-eau électrique
- Le chauffe-eau électrique de 30L est l’équipement qui a consommé le plus parmi ceux mesurés
- Il s’agit d’un modèle suffisant pour une ou deux douches rapides ou une grosse vaisselle
- Les mesures sont les suivantes
- Consommation électrique typique : 4.51kWh/jour
- Minimum observé : 0.56kWh/jour, généralement quand il n’y avait personne à la maison
- Maximum observé : 11.1kWh/jour, lors d’une journée avec beaucoup de lessive et de douches
-
Serveur domestique et équipements réseau
- Les charges du serveur domestique tournent sur un Zimaboard, choisi notamment pour sa faible consommation
- La consommation du Zimaboard est la suivante
- Au repos : environ 2W
- En usage normal avec tous les services actifs : environ 7W
- Consommation maximale : environ 15W
- Le boîtier modem/routeur fourni par le FAI consomme en permanence 12 à 14W, en mode routeur comme en mode bridge, donc plus que le Zimaboard
- L’ajout de charges sensibles à la latence a conduit à revenir temporairement à un ASRock Deskmini X300 pour le serveur domestique
- La consommation au repos du Deskmini est médiocre par rapport au Zimaboard, autour de 15 à 20W
- Le Deskmini semblait ne pas exposer d’états basse consommation CPU au-delà de C3, alors que le Zimaboard expose des C-states jusqu’à C10
- Aucune méthode n’a été trouvée pour exposer des C-states plus bas, ni dans les réglages UEFI ni via le noyau Linux
- Après ajout d’un panneau de consommation du serveur dans la vue Grafana de Prometheus node exporter, l’augmentation de l’activité CPU apparaît aussi très nettement dans le graphique de consommation
Variations de tension et profils de consommation autour du bureau
-
Variations de tension
- Les prises Tasmota remontent aussi la tension instantanée
- Le graphique de tension présentait un motif ressemblant à une saisonnalité, et la tension baissait globalement pendant les périodes habituelles de forte demande électrique
- Ce type de signal pourrait servir à des expérimentations de détection d’anomalies avec Prometheus ; on peut se référer à l’article de GitLab sur la détection d’anomalies avec Prometheus
- Des baisses de tension apparaissent aussi quand des appareils très consommateurs comme le chauffe-eau, la bouilloire électrique, la cuisinière électrique ou le micro-ondes fonctionnent
- Le chauffe-eau fait légèrement baisser la tension sur toutes les prises
- Lorsqu’on cuisine avec la cuisinière électrique, ses cycles d’allumage et d’arrêt se voient aussi dans les relevés de tension de toutes les prises
-
Station de travail du bureau à domicile
- Une prise mesure ensemble l’écran, le dock USB-C, la barre lumineuse de moniteur et les appareils en charge sur le bureau du home office
- La consommation varie fortement selon les horaires de télétravail et selon que plusieurs appareils sont en charge ou non
- Pendant le travail sur ordinateur, la consommation typique de l’ensemble est de 45 à 60W, avec des pointes autour de 90 à 110W
- La consommation quotidienne mesurée est la suivante
- Consommation électrique typique : 0.95kWh/jour
- Minimum observé : 0.07kWh/jour
- Maximum observé : 1.52kWh/jour
-
Profils de charge
- Les prises connectées sont aussi utiles pour observer les profils de charge de plusieurs appareils
- Un ordinateur portable ou une batterie externe se charge rapidement au début, puis la vitesse diminue à mesure que la batterie se remplit, avant de passer à une phase ressemblant à une charge d’entretien jusqu’à la charge complète
- La batterie de vélo électrique constitue une exception : sa consommation augmente légèrement pendant la charge, puis chute plus rapidement en fin de cycle
- En préréglage
Turbo, le vélo électrique a consommé 0.5kWh pour 60km d’autonomie, soit un coût calculé à un demi-centime par km
Problèmes de stabilité et prochaines expérimentations
- La fiabilité des prises connectées était globalement correcte, mais certaines remontaient fréquemment leurs statistiques en retard
- La cause peut aussi venir du point d’accès Wi-Fi
- Deux prises ont complètement disparu du réseau sans revenir, ce qui a nécessité plusieurs redémarrages électriques complets
- Les prises peuvent allumer et éteindre les appareils via plusieurs API, dont HTTP
- À l’avenir, il serait possible d’essayer Home Assistant ou un simple script pour allumer et éteindre certains appareils en fonction du prix courant de l’électricité
- Dans le périmètre étudié, il existe une intégration nordpool pour Home Assistant
- L’ensemble permet d’obtenir des mesures fiables de consommation sur divers équipements informatiques et aide à juger de leur efficacité énergétique sans devoir se fier à des estimations
1 commentaires
Commentaires sur Hacker News
J’ai acheté un disjoncteur de puissance Zigbee et j’ai branché toute l’électricité de la maison pour qu’elle passe par lui, et j’ai aussi fabriqué un écran e-ink qui affiche la consommation électrique
https://www.stavros.io/posts/making-the-timeframe/
En y ajoutant un dongle peu coûteux, on peut voir des statistiques dans une application ; par exemple, j’utilise celui-ci : https://www.homewizard.com/nl/shop/wi-fi-p1-meter/
Ce compteur fournit aussi une API en réseau local. J’ai créé un petit driver pour le SmartThings Hub afin de pouvoir voir les statistiques et les graphiques dans l’app SmartThings, et j’utilise le hub SmartThings pour les appareils Zigbee/Z-Wave : https://github.com/danieldk/homewizard-energy
L’intégration naturelle serait probablement Home Assistant. Je ne sais pas s’il existe encore une intégration directement exploitable dans Home Assistant, en dehors du fait qu’Earu lit les valeurs via Zigbee2MQTT et configure les entités. Cela dit, le schéma consistant à connecter le compteur à un hub d’automatisation, puis à laisser le hub pousser vers l’écran une image du compteur et d’autres informations, a l’air pertinent
https://imgz.org/
Le bouton « open in wallet » pour payer en BTC doit être corrigé. Le lien est cassé
À part ça, ça fonctionne bien. Exemple : https://imgz.org/iAB4tgaJ/
Il y a quelques années, je me suis passionné pour le sujet et j’ai acheté un appareil peu connu appelé Rainforest Automation Eagle : https://www.rainforestautomation.com/rfa-z114-eagle-200-2/
Une fois enregistré auprès du fournisseur d’électricité, c’est un simple appareil Linux qui lit le compteur intelligent, et il fournit une API XML que j’utilise via un bridge vers Prometheus : https://github.com/kklipsch/reagle
Je fais aussi un bridge du flux tarifaire de ComEd vers Prometheus : https://github.com/kklipsch/comed_exporter
Grâce à ces deux éléments, je peux assez bien visualiser dans Prometheus puis Grafana la consommation de toute la maison ainsi que les informations de prix
Je suis allé encore plus loin en installant un Emporia Vue 2 dans le tableau électrique. Il est connecté à 16 transformateurs de courant ainsi qu’au principal triphasé
Il est basé sur ESP32, et il existe un excellent projet ESPHome qu’on peut flasher pour un reporting 100 % local. En y ajoutant Home Assistant et VictoriaMetrics, on peut voir tout le fonctionnement de la maison dans Grafana. La prochaine étape est le contrôle d’injection zéro pour piloter une petite installation solaire OpenDTU à partir de ces données. On vit vraiment une époque formidable
helpdans les métadonnées des métriques PrometheusVictoriaMetrics/Grafana est en train de remplacer notre système industriel d’historisation, même si ce produit n’est évidemment pas le haut de gamme. OSI PI serait probablement meilleur
Les clones qu’on peut trouver coûtent presque aussi cher que le matériel « original »
Les ATM90E32AS coûtent environ 1 $ par canal chez JLCPCB, donc en confiant même l’assemblage SMT, ça devrait être possible d’en fabriquer à assez bas coût. Dans mon cas d’usage, le circuit compte environ 60 canaux
Pour la charge de toute la maison, je recommande plutôt une intégration avec la technologie de compteur intelligent utilisée dans chaque pays
Pour les charges intermédiaires, par exemple un disjoncteur 32 A dans un tableau de distribution résidentiel, je n’ai pas encore trouvé de solution à la fois fiable et rentable
J’ai utilisé un appareil IoTaWatt qui peut être installé dans le tableau électrique. C’est une excellente solution pour la surveillance par circuit, et il s’intègre directement à InfluxDB, ce qui permet d’utiliser Grafana
La surveillance par prise est aussi géniale pour identifier des appareils précis sur certains circuits
Courte vidéo de configuration : https://www.youtube.com/watch?v=-tcbJCvuJG8
J’ai trois locations de vacances dans un vieux bâtiment, et je suis en train d’y ajouter de l’automatisation et du monitoring ; l’une d’elles inclut un kiosque Raspberry Pi basé sur l’une des vidéos
J’utilise aussi IOTAWATT et j’en suis très content. Mon seul reproche, c’est que j’aimerais pouvoir enregistrer plus de canaux sur le même appareil, par exemple autour de 30 canaux
Je récupère les métriques de consommation électrique depuis le Tapo P110 et je les pousse vers Grafana Cloud avec https://github.com/richardjennings/tapmon. Mais comme d’autres l’ont dit, utiliser le Wi-Fi pour des prises intelligentes a ses aspérités
Les prises intelligentes Meross sont un peu meilleures, mais elles perdent quand même la connexion de temps en temps. C’est légèrement mieux depuis une mise à jour
J’essaie de pousser Grafana vers un usage IoT/SCADA de contrôle. C’est un excellent outil pour visualiser les sources de données, et j’aimerais aussi en faire un outil pour contrôler les puits de données
Personnellement, ça ne me plaît pas trop de devoir recommander Home Assistant pour cet usage
Je travaille chez Grafana Labs
Les systèmes SCADA traditionnels sont tellement mauvais pour les graphiques que c’est un domaine qu’on pourrait vraiment bousculer
À moitié pour rire mais à moitié sérieusement, je me demande si l’usage de Grafana à lui seul n’annule pas les gains obtenus grâce au monitoring. S’il faut citer un logiciel qui consomme régulièrement bien plus de ressources que ce qui paraît raisonnable, ce serait Grafana
J’ai acheté un ESP32 bon marché avec un capteur de luminosité, puis j’ai fixé ce capteur sur le compteur électrique. Le compteur clignote 1000 fois par kWh, donc je lis ça
J’envoie les données vers Google Sheets, puis je laisse la feuille faire les graphiques, et ça fonctionne bien
J’ai aussi installé chez un parent âgé un autre ESP32 avec un capteur PIR, qui envoie les données de mouvement vers une autre feuille Google Sheets afin de surveiller s’il y a un minimum d’activité
Est-ce que je m’attends à ce que Google supprime ce service un jour ? Oui, mais pour l’instant ça marche. On peut écrire et lire des données dans Google Sheets depuis l’ESP32 en JSON ; ce n’est pas intuitif, mais c’est possible et gratuit
Il y avait tout juste assez de mémoire pour héberger un service HTTP permettant de remonter cette valeur vers iobridge pour du monitoring à distance
Je suis surpris qu’on ne parle pas davantage ici des moniteurs Shelly. Ils sont bien pour le monitoring de la maison entière, c’est-à-dire l’arrivée principale et la consommation par circuit, leurs intégrations sont assez ouvertes, et ils s’intègrent directement à Home Assistant
À la maison, il semble plus logique de garder des disjoncteurs standards « stupides » et d’ajouter un moniteur complémentaire plutôt que de coupler fortement les fonctionnalités dans un seul appareil
Les pinces triphasées sont très chères, et il n’y a pas d’option pour brancher 8 ou 16 capteurs comme avec Emporia Vue. Shelly mérite d’être mentionné, mais pas pour de la mesure électrique fine
Il y a aussi le fait qu’on peut aller jusqu’à l’automatisation. Une automatisation récente que j’ai mise en place baisse le volume de la sonnette quand le générateur de bruit blanc du bébé est allumé