[Tuto] Suivre sa consommation électrique en direct avec un Raspberry Pi et Home Assistant
Maintenant, plus d’excuse pour ne pas vous lancer !
Avec un Raspberry Pi, une clé Zigbee et un module TIC nous avons tout ce qu’il faut sous la main pour suivre en direct notre consommation électrique via un tableau de bord. On saute le pas avec Home Assistant et on vous détaille les étapes.
Le 20 septembre à 17h30
10 min
Hardware
Hardware
Il y a quelques semaines, nous nous expliquions l’intérêt et le fonctionnement du TIC (Télé-Information Client) du compteur connecté Linky. Il permet aux clients « d’être informés en temps réel des grandeurs électriques mesurées et les données qu’elle contient (périodes tarifaires, contacts virtuels, puissance instantanée…) permettent le pilotage dynamique des usages », avec une mise à jour toutes les deux secondes. Après la théorie, passons à la pratique.
Il existe de multiples possibilités pour récupérer et utiliser les données. Nous avons utilisé une clé USB Zigbee et un module LiXee. Ce matin, nous avons mis en ligne un Nextpresso sur ces deux produits. On vous invite à le lire pour comprendre cette seconde partie.
- La tac TIC du Linky (Télé-Information Client)
- #Nextpresso : module TIC Linky et clé Zigbee pour suivre en direct sa consommation électrique
Nous avons utilisé un Raspberry Pi, un micro-ordinateur largement assez puissant pour une telle utilisation (même trop puissant). Il a l’avantage d’être polyvalent, facile à trouver et accessible. Dans ce tuto, on va aller au plus simple, mais vous pouvez adapter les différentes étapes en fonction de vos besoins. Peu importe la version du Raspberry Pi. Il faudra par contre y brancher une clé USB Zigbee2MQTT, c’est la méthode utilisée dans notre cas.
Installez Home Assistant sur Raspberry Pi, la manière simple
Première étape : installer un système d’exploitation sur notre Raspberry Pi 4. On utilise le logiciel officiel Raspberry Pi Imager. Une fois l’application lancée, dans la liste des OS nous allons dans « Other specific-purpose OS, Home assistants and home automation », puis on sélectionne Home Assistant (la version pour Raspberry Pi 4 dans notre cas).
L’application se charge ensuite de préparer une carte microSD qu’il faudra ensuite installer dans le Raspberry Pi avant de le démarrer.
Home Assistant est un système taillé sur mesure pour la domotique. Nous l’avions déjà pris en main l’année dernière, on vous invite à lire notre dossier si vous souhaitez une présentation de « HA ». Pour rappel, une fois la carte microSD et le Raspberry allumé, il faudra vous rendre à l’adresse http://homeassistant.local:8123 pour accéder à Home Assistant.
Vient ensuite la phase de « préparation » de Home Assistant. Elle peut prendre jusqu’à 20 minutes. Il vous sera demandé des informations, notamment un nom d’utilisateur (identifiant) et un mot de passe. On se retrouve alors sur la page d’accueil de Home Assistant, que nous allons configurer.
Création d’un nouvel utilisateur
Première chose : créer un nouvel utilisateur. Nous allons l’appeler « mqtt », mais ce n’est pas une obligation, vous pouvez choisir un autre nom. On vous explique un peu plus loin pourquoi ce nom.
Rendez-vous donc dans Paramètres (en bas à gauche de l’interface) et Personnes. Cliquez sur « Ajouter une personne » en bas à droite. Saisissez un nom (mqtt), cochez « Autoriser la connexion », ajoutez un mot de passe (pas besoin de donner des droits administrateurs). Vous pouvez limiter l’accès en mode « local uniquement ».
On installe et configure le module Mosquitto broker
Deuxième étape, ajouter le module officiel Mosquitto broker. Pour cela, on se rend dans les paramètres, dans Modules complémentaires et on clique sur Boutique des modules complémentaires (en bas à droite cette fois).
Identifiez le module Mosquitto broker ou utilisez le champ de recherche. Cliquez sur Installer, pour l’ajouter à votre Home Assistant. Ce module est basé sur Eclipse Mosquitto, un serveur MQTT open-source. MQTT… Mais c’est quoi au fait ce truc ? C’est un protocole que nous avons expliqué dans le Nextpresso de ce matin. Il permet de centraliser et redistribuer des informations.
Dans notre cas, la clé USB Zigbee récupère les données TIC du Linky via le module LiXee, puis Mosquitto broker les rend accessibles via le protocole MQTT.
Le temps de lire ces quelques lignes, Mosquitto devrait avoir terminé son installation. Rendez-vous alors dans l’onglet Configuration. Il faut ajouter deux lignes dans la partie « Logins » : l’identifiant et le mot de passe du compte que nous avons créés précédemment. L’onglet Documentation donne des détails si besoin.
Voici les deux lignes dans notre cas :
- username: mqtt
password: NextFTW
Cliquez sur enregistrer et revenez dans le premier onglet Info. Démarrez le module. Vous pouvez vérifier dans l’onglet Journal que tout se passe bien. En gros, il ne faut avoir que du vert et du noir, pas de message en rouge.
Au tour du module Zigbee2MQTT
Troisième étape, un autre module à installer : Zigbee2MQTT. Mais ne le cherchez pas dans la boutique officielle des modules complémentaires : il faut ajouter manuellement un dépôt.
Retournez dans la Boutique des modules complémentaires (Paramètres, Modules complémentaires) et cliquez sur le menu avec les trois points verticaux, puis sur dépôt. Dans le champ Ajouter saisissez l’adresse suivante :
https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
Une fois que c’est fait, de nouveaux modules… n’apparaissent pas. C’est une simple histoire de cache. Un coup de F5 pour rafraîchir la page et vous devriez en voir trois : Zigbee2MQTT, Zigbee2MQTT Edge et Zigbee2MQTT Proxy.
C’est le premier qui nous intéresse. Cliquez dessus et installez-le. Ça va maintenant swinguer un peu plus, mais rien d’insurmontable. Dans l’onglet Configuration, procédons à quelques ajustements.
Laissez telle que la partie « socat », il n'y a rien à modifier. Il faut par contre compléter « mqtt » et « serial ». Pour mqtt, ajoutez trois lignes et enregistrez (à adapter en fonction de l’utilisateur créé au début) :
server: mqtt://core-mosquitto
user: mqtt
password: NextFTW
Comment trouver l’emplacement de sa clé USB Zigbee
Pour serial, il va falloir chercher une information supplémentaire. Retournez dans les paramètres, puis Système, Matériel et Tout le matériel. Sur notre interface (mais c’est variable suivant votre configuration), nous avons gpiochip0, gpiochip1, mice et ttyACM0. Ce dernier correspond à notre clé USB Zigbee2MQTT, comme on peut le voir avec le descriptif qui affiche Texas Instrument TI CC2531, soit la référence de la puce de la clé.
Cliquez sur cette ligne et trouvez celle dont l’information commence par « DEVNAME: ». Elle vous donne l’adresse de la clé sur le Raspberrry Pi, « /dev/ttyACM0 » dans notre cas.
Retournez dans la configuration de Zigbee2MQTT, et dans « serial » ajoutez la ligne suivante :
port: /dev/ttyACM0
Sauvegardez et démarrez le module depuis l’onglet Info. L’onglet Journal permet là encore de vérifier que tout va bien. Dans le cas contraire, des informations devraient apparaitre en rouge… et là commence une vaste chasse au bug. Bonne chance dans ce cas, car les causes peuvent être multiples.
Et hop, les données TIC apparaissent dans Home Assistant
Vous pouvez cocher l’option Afficher dans la barre latérale, qui ajoute un raccourci dans le menu de gauche vers le module Zigbee2MQTT. Si tout va bien, vous devriez y voir la clé TIC LiXee. Sinon, vous pouvez Activer l’appairage, faire de même sur le module. Les deux devraient alors communiquer sans problème.
Avant de passer au Tableau de bord, on va d’abord vérifier que tout se passe bien dans Home Assistant et que les données TIC sont bien diffusées via MQTT et récupérées par le module Zigbee2MQTT.
Rendez-vous dans Paramètres, puis Appareils et Services. Trouvez MQTT et cliquez sur la partie juste en dessous. Il est écrit « 2 APPAREILS » sur notre installation de Home Assistant. Cliquez sur LiXee. Normalement, vous arrivez sur une page avec de nombreuses informations… pas très explicites, mais on va arranger cela.
S‘y retrouver dans les abréviations Enedis
Premier point, certaines informations ne sont pas mises à jour régulièrement, mais uniquement lors de certains changements dans la journée. Pas d’inquiétude si certaines lignes n’affichent rien, cela devrait rentrer dans l’ordre au cours des prochaines heures.
Quoi qu’il en soit, vous avez devant vous une ribambelle de capteurs simplement étiquetés « Énergie », d’autres avec des noms barbares comme HHPHC, IMAX (rien à voir avec le cinéma), PAPP, PTEC… Pas facile de s’y retrouver.
Pas de panique, il existe une forme de « Pierre de Rosette » du Linky, fournie par Enedis dans le document (PDF) Enedis-NOI-CPT_54. Il regroupe toutes les étiquettes/abréviations citées juste avant, avec leur correspondance en français, leur unité et d’autres informations.
Réorganisons un peu tout ça pour être facilement lisible. Sur la page MQTT où nous nous étions arrêtés, cliquez sur MQTT sur le premier bloc en haut à gauche, puis sur « 36 entités » (le nombre varie suivant votre contrat d’énergie). On arrive alors à la liste des capteurs avec leur ID.
Par exemple, nous avons un capteur d’énergie baptisé 0x00158d0005d24943_bbrhcjb. Seule la fin nous intéresse : hcjb. Une fois la traduction activée (à l’aide du document ci-dessus), on comprend qu’il s’agit des Heures Creuses Jours Bleus. Nous avons un abonnement Tempo avec des jours bleus, blancs et rouges, en heures pleines et creuses à chaque fois (soit six variables). Enedis ayant choisi bleu et blanc qui commencent par la même lettre, les jours blanc sont avec un w comme white.
Le capteur qui termine par « papp » est aussi très intéressant, car il correspond à la puissance apparente. C’est la consommation instantanée du logement, en VA (Volts Ampères). Tous les capteurs peuvent être renommés pour les retrouver plus facilement par la suite, on ne peut que vous conseiller de le faire.
On se fait un petit Tableau de bord pour suivre la consommation
Créons maintenant le Tableau de bord. Direction Paramètres, Tableaux de bord et cliquez en bas à droite sur « Ajouter un tableau de bord ».
On prend un tableau de bord vide qu’on appelle Consommation électrique. On clique sur Ouvrir en face de notre nouveau Dashboard et on se retrouve devant une page vide. Cliquez sur le petit crayon en haut à droite, puis sur « Ajouter une carte » (en base à droite), descendez jusqu’à Jauge et cliquez dessus.
Dans Entité, on sélectionne le capteur qui se termine par « papp ». On personnalise un peu avec un minimum à 0 et un maximum à 9 000 (nous avons un abonnement 9k VA). On coche les options aiguille et sévérité. Dans la case Vert on met 0, dans la Jaune 1500 et 4000 pour la Rouge. Cela permet simplement d’avoir des indications colorées en fonction de notre consommation.
Résultat des courses, à moins de 1,5 kVA, on est dans le vert, on passe en orange entre 1,5 et 4 kVA puis en rouge. Des valeurs arbitraires à adapter en fonction de vos habitudes et envies. On enregistre, on clique sur Terminer et notre tableau de bord est fait.
Home Assistant affiche désormais notre consommation en temps réel. On peut bien sûr compléter le tableau de bord avec les données d’autres capteurs et profiter de toutes les possibilités d’intégrations de Home Assistant pour mélanger les données du Linky avec d’autres pour des scénarios, des actions, etc.
Voilà ce que ça donne avec les index de consommation en plus, sur un navigateur web et sur l’application mobile (ce service est pour rappel gratuit en local uniquement).
[Tuto] Suivre sa consommation électrique en direct avec un Raspberry Pi et Home Assistant
-
Installez Home Assistant sur Raspberry Pi, la manière simple
-
Création d’un nouvel utilisateur
-
On installe et configure le module Mosquitto broker
-
Au tour du module Zigbee2MQTT
-
Comment trouver l’emplacement de sa clé USB Zigbee
-
Et hop, les données TIC apparaissent dans Home Assistant
-
S‘y retrouver dans les abréviations Enedis
-
On se fait un petit Tableau de bord pour suivre la consommation
Commentaires (26)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 20/09/2024 à 18h06
Je pense que ça apporterait plus de clarté d'appeler ça le coordinateur zigbee usb (compatible zigbee2mqtt, zha, ...) pour bien montrer qu'il y a une partie matériel, puis une partie logicielle, puis une partie plateforme.
Autre point, je vous conseille grandement les produits SMLight notamment leur coordinateur zigbee ethernet POE, ça enlève le besoin d'un host usb et on gagne à avoir un produit très bien finit dont le firmware peut être mis à jour très facilement. (qui flash ses clés usb ici ?)
Le 20/09/2024 à 19h53
Pour zha and co, c’est prévu d’y aller aussi, mais il faut bien commencer par quelque chose, j’ai choisi MQTT
Le 20/09/2024 à 20h09
Le 20/09/2024 à 21h36
La compatibilité Jeedom est bonne aussi. Seul bémol : je n'ai pas réussi à communiquer avec sous HA...
Le 20/09/2024 à 22h51
J'utilise surtout le dashboard Énergie par défaut, qu'on peut configurer pour avoir un peu plus de data :
- en installant le service " Electricity Maps" (alias CO2Signal), on peut avoir la part d'énergie bas carbone (bon, en France ça passe rarement sous les 95%, avec le nucléaire...)
- Il y a aussi un service "hass-tarif-edf", qui permet d'avoir le coût de sa consommation électrique
- Et si on a des prises connectées ou autres appareils qui permettent de rapporter leur consommation électrique, on peut avoir le détail device par device qu sein du graphique de consommation heure par heure global.
Le 21/09/2024 à 01h02
On peut voir visuellement ce qui consomme beaucoup et quand...
Le 21/09/2024 à 11h15
Par contre, pour le gaz et l'eau, c'est un peu plus "chiant". Passer par Gazpar : ca a marché un temps, mais ya des ratés (pendant longtemps, un pauvre captcha a bien cassé les pieds à tout le monde)... je préfèrerai un capteur comme le zlinky. Pour l'eau, étant en immeuble, il y a déjà un module connecté sur mon compteur, donc je ne peux pas récupérer la roue avec un capteur magnétique... pas simple, et passer par une webcam me parait un "sortir un bazooka pour tuer une mouche". Overkill. Reste que c'est chez ISTA, mais ... en france, c'est webconso et pas Ecotrend...
Le 20/09/2024 à 23h35
Merci pour ses infos sans vous je ne sais pas si je m'y serai mis .
Modifié le 21/09/2024 à 08h27
Je me demande s'il est sage d'investir dans ces modules pour passer sous home assistant où le seul intérêt serait de geeker et de s'affranchir de SmartLife.
La gestion serait peut-être plus précise et indépendante de SmartLife mais le gain serait nul, d'autant qu'un Pi allumé en permanence consommera plus (certes 15€ à l'année).
J'ouvre succintement le débat et je suis intéressé par vos avis et retour d'expérience.
Question : les appareils connectés, comme prise ou caméra, sont ils connectés à la box internet ou directement au Pi ? Merci
Le 21/09/2024 à 08h56
Le 21/09/2024 à 09h54
J'ai ça : ANTELA Prise Connectée Alexa Française 16A 3680W Mesure de Consommation Électrique Type-E, Prise Intelligente avec Google Home,Smart Life APP Contrôle, Horaires et Minuterie, 4PCs https://amzn.eu/d/78m4GwU
Modifié le 21/09/2024 à 10h04
Est-ce vraiment le cas ou existe-t-il des solutions de contournement ?
(j'ai pas forcement envie de monter un hyperviseur juste pour HA)
J'ai aussi un Pi 2B qui traine, mais j'imagine qu'il n'est pas assez costaud si ?
(suivi de conso m’intéresserait, également la gestion de camera IP)
Le 21/09/2024 à 10h06
Le 22/09/2024 à 01h13
Je ne sait pas pourquoi tu refuse l'hyperviseur, mais je trouve qu'il apporte plus de simplicité qu'avec du docker à gérer soit-même et des problèmes de compatibilité.
Le 22/09/2024 à 08h43
Le 22/09/2024 à 15h42
Je sais pas trop ce que sa donnerait en terme de perf ou alloc de ressource d'ajouter une couche de virtualisation (promox) en amont de mon Docker (le déploiement docker sous un promox ne devrait pas être compliqué... Un espace de stockage à exposer (data + fichier de conf de mes container), et un docker compose à lancer.
En plus mon serveur est sur un vieux bousin, j'ai tout sur un NVME sur slot PCIE, mais avec le /boot de l'OS sur un ssd 2.5 (ma CM ne gère pas le boot sur le disque NVME en PCI).
Bref quelques heures à passer... Ce serait plus simple pour moi si HA+Extension pouvait tourner en Docker...
Le 22/09/2024 à 21h24
Le 23/09/2024 à 10h05
J'ai 5/6 containener "permanant" plus toujours quelques uns de test.
En permanant, entre autre, un Zoneminder qui gère mes caméras, les ressources sont donc préciseuses :S
Faut que je vois aussi, je dois avoir un ou deux service niveau OS qu'il faudrait donc que je convertisse en container ou VM sous promox.
Le tout sur un I7-3770T
Le 23/09/2024 à 11h10
Par ailleurs, certaines auto-discover ne remontaient pas.
En VM sous un hyperviseur comme proxmox, je branche le zigbee en USB, je clique pour affecter le port ou l'appareil à la VM homeassistant, je redémarre la VM et basta.
Un RPI2 pour home assistant, ça fonctionne - mais pour de la vidéo IP, je suis circonspect: les débits et la charge liés à 'utilisation de l'USB sur un RPI2 peuvent être un problème.
Modifié le 23/09/2024 à 11h52
Je m'oriente vers promox sur mon serveur ( 4C-8T @3.7Ghz et 16GB RAM). La video bouffe beaucoup, j'aurais peut être de l'arbitrage à faire.
Pour Docker, je n'ai jamais eu à mapper des péripherique USB, et les découvertes LAN fonctionnent rarement également pour moi (mais je m'en suis toujours passé).
Merci pour vos réponses, je lorgnais sur HA depuis un moment (qui même avec les flux Vidéos pourrait me servir) mais pas testé car trop limité avec Docker.
Vous m'avez convaincu, je vais me monter une virtu promox qui fera tourner mes container d'un coté, et VM HA de l'autre.
Le 21/09/2024 à 11h27
Surtout que les compteurs sont à côté de la route donc il y a en plus le problème de distance pour les ondes. Faut coller un répéteur au mur côté route.
Le 21/09/2024 à 11h59
GitHub
Je l'ai utilisé avant le lixee et ça fait le job, moins "temps réel" mais ça te permet de récupérer dans homeassistant tous les relevés horaires du compteur Linky via les api Enedis.
Tu n'as rien de "physique" à installer dans ton compteur, juste a donner 2/3 autorisations de remontée de ta conso
Le 21/09/2024 à 12h24
Quoi !? Chez next on écrit son mot de passe en clair et on le diffuse sur un article en ligne ?
Rhalala et dire que ça nous parle de sécurité...
Autrement, chouette article :p
Le 21/09/2024 à 13h18
Le 21/09/2024 à 16h08
Modifié le 23/09/2024 à 11h54
https://www.dealabs.com/bons-plans/compteur-electrique-intelligent-refoss-em06-2866077