Home Assistant Logo

TeleInfoKit Linky HA

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 !

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 :

HA TeleInfoKit

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/