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/
