Disposant d'un compteur Linky (pas taper...), j'ai souhaité pouvoir surveiller la consommation électrique de la maison afin d'avoir une idée des différents pics d'utilisation selon l'heure de la journée et les moments de l'année (chauffage, filtration piscine, ...).
Pour cela, je me suis appuyé sur un module TéléInfoKit conçu et fabriqué par NicolasP4 pour un coût de moins de 18 €, frais de port compris. Merci à lui pour son travail et son partage !
- Page officielle du projet : https://342apps.net/module-teleinfokit/
- Sur le forum français de Home Assistant : https://forum.hacf.fr/t/mon-module-de-teleinformation-tic-wifi-vers-mqtt-pour-compteur-linky-et-autres/4679
I- Présentation et installation du module
Le module se base sur un ESP-01 (ESP8266) et est prêt à fonctionner avec le firmware TeleInfoKit (mais il est possible de demander un firmware à base de ESPHome).
AVERTISSEMENT : pour l'instant, le fonctionnement du module n'est garanti que si le Linky est en mode historique (ce qui est la situation la plus courante).
Il suffit de brancher une alimentation en 5V via la prise micro USB et de connecter les 2 pôles I1 et I2 du compteur Linky aux 2 bornes du boîtier. Dans la photo ci-contre, on voit le point d'accès Wifi (ASUS), l'alimentation USB, le boîtier et le compteur Linky.
Ensuite on se connecte sur le réseau wifi fourni par le module (SSD : TeleInfoKit) avec comme mot de passe "givememydata". Là on pourra paramétrer le module pour indiquer le réseau Wifi sur lequel il devra se connecter, les données MQTT, ...
Page de réglages : https://github.com/342apps/teleinfokit/blob/develop/doc/user-guide.md
Remarque : il semblerait que j'ai un souci avec le bouton du module TéléInfoKit car en appuyant dessus les écrans ne défilent pas (à creuser : faux contact du bouton poussoir ?) En fait, il faut appuyer légèrement en relâchant bien (ne pas être trop brutasse quoi...).
II- Réglage dans Home Assistant
Même si le module possède un écran, cela a peu d'intérêt selon moi. Par contre, son intégration dans Home Assistant justifie pleinement son utilité.
Je me suis servi du code qu'on trouve sur cette page : https://342apps.net/configurer-home-assistant-pour-le-teleinfokit/
Il est nécessaire de récupérer des cartes personnalisées (custom cards) via HACS pour que l'affichage fonctionne :
- mini-graph-card
- apexcharts-card
Voici le code que j'utilise pour une tarification unique (différenciation HP et HC inutiles).
Dans le fichier "configuration.yaml" :
# TeleinfoKit source : https://342apps.net/configurer-home-assistant-pour-le-teleinfokit/ sensor: - platform: mqtt state_topic: "teleinfokit/papp" unit_of_measurement: "VA" name: Puissance consommée icon: mdi:power-plug - platform: mqtt state_topic: "teleinfokit/iinst" unit_of_measurement: "A" name: Intensité icon: mdi:power-plug # SI OPTION SIMPLE TARIF - platform: mqtt state_topic: "teleinfokit/base" unit_of_measurement: "kWh" name: Index compteur électricité icon: mdi:home-analytics value_template: "{{float(value) / 1000.0}}" # SI OPTION SIMPLE TARIF utility_meter: energie_quotidienne: source: sensor.index_compteur_electricite cycle: daily energie_mensuelle: source: sensor.index_compteur_electricite cycle: monthly
Code des cartes personnalisées :
type: vertical-stack cards: - type: custom:mini-graph-card hour24: true hours_to_show: 12 points_per_hour: 120 show: fill: fade extrema: true labels: true entities: - entity: sensor.puissance_consommee name: Puissance (12h) show_state: true color_thresholds: - value: 1000 color: '#009FC1' - value: 3000 color: '#D0AB00' - value: 8000 color: '#C10042' - type: custom:mini-graph-card entities: - entity: sensor.puissance_consommee color: '#69a6e0' name: Puissance electrique moyenne (24h) aggregate_func: avg points_per_hour: 1 lower_bound: 0 show: graph: bar state: false extrema: true - type: custom:apexcharts-card graph_span: 7d span: end: day stacked: true header: show: true title: Consommation journalière (7j) show_states: true colorize_states: true series: - entity: sensor.energie_quotidienne color: '#1781d8' name: Tarif unique group_by: duration: 1d func: max - type: custom:apexcharts-card graph_span: 12month span: end: month stacked: true header: show: true title: Consommation mensuelle (12m) show_states: true colorize_states: true series: - entity: sensor.energie_mensuelle color: '#1781d8' name: Tarif unique group_by: duration: 1month func: max
Voilà ce que cela donne :
III- Conclusions (à venir ...)
Remarque : dernièrement, suite à un article dans "Que Choisir", nous avons décidé d'abandonner la double tarification "Heures pleines" et "Heures creuses" (qu'on avait de 21h à 5h du matin) pour la tarification unique avec un abonnement de 6kVa (gain estimé de 200 € par an). Au final, en terme d'utilisation, c'est beaucoup plus confortable car on ne se pose plus de question pour lancer les machines. De plus, l'été la filtration de la piscine fonctionnant en heures pleines on bénéficie d'un tarif moindre en tarification unique.
IV- Flashage du firmware sous Ubuntu 20.04 en décembre 2022
Source : https://342apps.net/flashage-du-teleinfokit/
Le flashage ne peut se faire que par Wifi en OTA (Over The Air) en passant par Visual Studio Core (VS Core) et l'extension PlatformIO IDE.
Il est nécessaire d'installer Visual Studio Code pour Ubuntu avec le paquet .deb sur cette page : https://code.visualstudio.com/. Ensuite, on suit les instructions contenues dans la page citée en source.
Cela a fonctionné parfaitement (même s'il faut se familiariser avec tous ces outils) avec un nouveau firmware v1.0.0.d86c48.
V- Mise à jour dans Home Assistant
La nouvelle version du firmware impose de l'adapter dans Home Assistant. Voir les info sur cette page : https://342apps.net/configurer-home-assistant-pour-le-teleinfokit/