La télé-information sous Home Assistant

Au fur et à mesure de l'amélioration de la domotique à la maison, un point très important a été de pouvoir récupérer la consommation électrique de la maison dans un premier temps depuis un ancien compteur électronique (blanc) puis avec le compteur Linky grâce à la télé-information ou TIC pour Télé Information Client. La télé-information permet de récupérer, en temps réel des informations comme l’électricité consommée ou les paramètres contractuels relatifs à l’offre souscrite (puissance souscrite, offre tarifaire…).

Pour connaitre le mode de fonctionnement de votre compteur Linky, il suffit d'utiliser les touches de défilement « - » et « + » jusqu'au Mode TIC. Dans mon cas, mon compteur Linky est en mode historique et j'ai, pour le moment, un contrat heures pleines / heures creuses.

Pour transmettre la télé-information à Home Assistant, j'utilise un module DIY open-source T-InfoDIN qui a l'avantage, entre autres, d'être compatible avec ESPHome et Tasmota. Pour les moins bricoleurs, son créateur, Sylvain, vend des modules déjà assemblés avec un boitier pour rail DIN dans sa boutique Tech4You. Le module est livré sous Tasmota. N'hésitez pas à le contacter !

Le module T-InfoDIN existe actuellement en 2 versions : 1.0 et 1.4. La version 1.0, qui n'est plus commercialisée, est uniquement compatible avec ESPHome et les compteurs électroniques ou les compteurs Linky en mode historique. La version 1.4 est, quant à elle, compatible avec ESPHome mais aussi, Tasmota. Elle apporte, également, le support des compteurs Linky en mode standard ainsi que des connecteurs pour un compteur d'énergie pzem.

Sauf mention contraire, cet article se base sur la version 1.4.

Modules T-InfoDIN : v1.0 à gauche et v1.4 à droite
Modules T-InfoDIN : v1.0 à gauche et v1.4 à droite

Toutes les informations concernant la télé-information est disponible sur le site d'Enedis : Documentation - Sorties de télé-information client.

Le module T-InfoDIN 1.0 a été payé par mes soins lors de sa sortie, cependant la nouvelle version 1.4 m'a été envoyé gratuitement par Sylvain que je remercie afin de me permettre d'écrire cet article.

Prérequis

Schéma de câblage

Schéma de montage du T-InfoDIN - Description du montage disponible en dessous
Schéma de montage du T-InfoDIN (cliquez sur l'image pour l'agrandir)

Le câblage est assez simple :

  1. Sur le support rail DIN, on positionne les 3 appareils : le disjoncteur en position OFF, l'alimentation 12V et le module T-InfoDIN
  2. À l'aide de fils électriques, on relie l'alimentation 12V au module T-InfoDIN (V- sur GND et V+ sur VCC), puis la sortie du compteur Linky (bornes I1 et I2) au module T-InfoDIN (bornes L1 et L2) et enfin, le disjoncteur en position OFF à l'alimentation 12V (bornes N et L)
  3. Si besoin, relier le disjoncteur au tableau électrique (attention à bien couper le circuit en amont avant toutes manipulations)
  4. Vérifier que le câblage soit correct
  5. Mettre le disjoncteur en position ON
Tableau électrique : Disjoncteur, alimentation 12V et T-InfoDIN
Tableau électrique : Disjoncteur, alimentation 12V et T-InfoDIN

Si tout est bien câblé, un nouveau hotspot est disponible, au bout de quelques secondes, ayant un nom ressemblant à tasmota-XXXXXX-XXXX.

Premier démarrage

À l'aide d'un appareil comme un téléphone, une tablette ou un ordinateur, connectez-vous au hotspot disponible puis à l'aide d'un navigateur, ouvrez la page http://192.168.4.1.

Configuration du wifi depuis l'interface de Tasmota
Configuration du wifi depuis l'interface de Tasmota
  1. Remplissez le nom de votre réseau wifi (WiFi Network) soit en sélectionnant votre réseau wifi au-dessus soit avec votre clavier.
  2. Remplissez le mot de passe de votre réseau wifi (Mot de passe)
  3. Touchez ou cliquez sur Enregistrer

Si tout c'est bien passé, le module T-InfoDIN va se connecter à votre wifi et vous indiquez son adresse IP (sinon vous pouvez la retrouver en vous connectant à l'interface de votre routeur ou en utilisant une application comme Fing ou Angry IP Scanner).

Tasmota

Configuration

Pour configurer le module, si la configuration par défaut n'a pas été prise en compte, rien de plus simple :

  1. Connectez-vous à l'interface de votre module
  2. Touchez ou cliquez sur Configuration , puis sur Autre configuration
  3. Copiez le texte suivant dans le champ texte Modèle :
    {"NAME":"T-Info","GPIO":[0,0,0,5152,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":18}
  4. Touchez ou cliquez sur Activer , puis sur Enregistrer

Après un redémarrage rapide, votre module est configuré 🎉

Module T-InfoDIN affichant les informations de la téléinformation après la configuration
Module T-InfoDIN affichant les informations de la téléinformation après la configuration

⚠️ Pour les personnes ayant un compteur Linky en mode standard, il convient de passer la configuration EnergyConfig à Standard. D'autres paramètres de configuration sont disponibles dans la documentation de Tasmota : Configuration de la télé-information.

De manière générale, il faudra configurer la communication MQTT pour qu'il puisse échanger avec votre solution domotique. Pour intégrer le module à Home Assistant, vous pouvez suivre les indications de l'intégration de Tasmota.

Vous pouvez également accéder à votre module à l'aide d'une simple requête HTTP : http://<ip_module>/cm?cmnd=status 8 (Merci à Philippe B.)

Configuration avec un compteur d'énergie pzem

Sylvain a prévu sur son module T-InfoDIN des connecteurs pour le relier à un compteur d'énergie pzem !

La connexion entre les deux est assez facile à réaliser :

  1. Relier le port +5V du T-InfoDIN sur le port 5V du Pzem
  2. Relier le port RX du T-InfoDIN sur le port TX du Pzem
  3. Relier le port TX du T-InfoDIN sur le port RX du Pzem
  4. Relier le port GND du T-InfoDIN sur le port GND du Pzem

Il vous suffit ensuite de configurer Tasmota :

  1. Connectez-vous à l'interface de votre module
  2. Touchez ou cliquez sur Configuration , puis sur Autre configuration
  3. Copiez le texte suivant dans le champ texte Modèle :
    {"NAME":"T-Info","GPIO":[0,0,0,5152,0,0,0,0,0,1536,0,1472,0,0],"FLAG":0,"BASE":18}
  4. Touchez ou cliquez sur Activer , puis sur Enregistrer
Configuration du module T-InfoDIN avec un compteur Pzem
Configuration du module T-InfoDIN avec un compteur Pzem

Après un redémarrage rapide, votre module est configuré 🎉

Module T-InfoDIN affichant les informations du module Pzem après configuration
Module T-InfoDIN affichant les informations du module Pzem après configuration

Mise à jour

Sylvain met à disposition en téléchargement le firmware à utiliser : Firmware T-InfoDIN

  1. Connectez-vous à l'interface de votre module
  2. Touchez ou cliquez sur Mise à jour du Firmware
  3. Dans la partie Mise à jour par téléchargement fichier , touchez ou cliquez le bouton Parcourir puis sélectionnez le firmware préalablement téléchargé
  4. Touchez ou cliquez sur Lancer la mise à jour
Mise à jour du firmware du module T-InfoDIN
Mise à jour du firmware du module T-InfoDIN

Après un redémarrage, votre module est à jour 🎉

Remise à zéro du module T-InfoDIN

⚠️ Cette manipulation va effacer complètement votre module T-InfoDIN ainsi que sa configuration.

Prérequis :

  • Le firmware mit à disposition en téléchargement par Sylvain : Firmware T-InfoDIN
  • Avoir installé le driver pour le D1 Mini : Driver D1 mini
  • Avoir branché votre module sur votre ordinateur à l'aide d'un câble (le D1 Mini a un port USB type C)

La procédure à suivre pour flasher le module est disponible sur le site de Tasmota : Procédure de flashage.

ESPHome

Comme indiqué dans l'introduction, il est possible de basculer le T-InfoDIN sous ESPHome (grâce au composant Teleinfo).

Configuration

La configuration de base est assez simple (⚠️ n'oubliez pas de faire les modifications en commentaire si vous avez un compteur Linky en mode standard) : on déclare le port série et on active le composant Teleinfo. Le contenu du fichier .common.yaml est disponible sur mon Github ou dans l'article : Simplifier la configuration des appareils sous ESPHome.

substitutions:
  esphome_name: teleinfo
  logger_level: info # debug pour obtenir dans les logs toutes les infos de la télé-information
  api_encryption_key: !secret teleinfo_api_encryption_key
  api_password: !secret teleinfo_api_password

<<: !include .common.yaml

esp8266:
  board: d1_mini

logger:
  baud_rate: 0
  esp8266_store_log_strings_in_flash: false

teleinfo:
  update_interval: 10s
  historical_mode: true # ⚠️ false en mode standard

uart:
  id: uart_bus
  rx_pin: GPIO3
  baud_rate: 1200 # ⚠️ 9600 en mode standard
  parity: EVEN
  data_bits: 7

Si vous avez un compteur avec un contrat de base, il vous faudra ajouter ce sensor :

sensor:
  - platform: teleinfo
    tag_name: "BASE"
    name: "Téléinfo - Index"
    icon: mdi:gauge
    id: base
    unit_of_measurement: Wh
    device_class: "energy"
    state_class: "total_increasing"

Si vous avez un compteur avec un contrat heures creuses / heures pleines, il vous faudra ajouter ces deux sensors :

sensor:
  - platform: teleinfo
    tag_name: "HCHP"
    name: "Téléinfo - Index - Heures pleines"
    icon: mdi:gauge
    id: peak_hours
    unit_of_measurement: Wh
    device_class: "energy"
    state_class: "total_increasing"

  - platform: teleinfo
    tag_name: "HCHC"
    name: "Téléinfo - Index - Heures creuses"
    icon: mdi:gauge
    id: offpeak_hours
    unit_of_measurement: Wh
    device_class: "energy"
    state_class: "total_increasing"

Pour tous les autres type de contrat, je vous invite à lire la documentation sur le site d'Enedis ou à mettre le logger_level à debug pour trouver le ou les index. Vous pouvez également ajouter d'autres sensors pour, par exemple, récupérer la puissance apparente, l'intensité…

Voici les sensors que j'utilise dans mon fichier teleinfo.yaml :

sensor:
  # Index
  - platform: teleinfo
    tag_name: "HCHP"
    name: "Téléinfo - Index - Heures pleines"
    icon: mdi:gauge
    id: peak_hours
    unit_of_measurement: Wh
    device_class: "energy"
    state_class: "total_increasing"

  - platform: teleinfo
    tag_name: "HCHC"
    name: "Téléinfo - Index - Heures creuses"
    icon: mdi:gauge
    id: offpeak_hours
    unit_of_measurement: Wh
    device_class: "energy"
    state_class: "total_increasing"

  # Divers
  - platform: teleinfo
    tag_name: "PAPP"
    name: "Téléinfo - Puissance apparente"
    icon: mdi:flash
    id: apparent_power
    state_class: "measurement"
    unit_of_measurement: VA

  - platform: teleinfo
    tag_name: "IINST"
    name: "Téléinfo - Intensité"
    icon: mdi:current-ac
    id: current
    device_class: "current"
    state_class: "measurement"
    unit_of_measurement: A

Migrer de Tasmota à ESPHome

Il va falloir dans un premier temps récupérer le firmware, depuis ESPHome WEB :

  1. Touchez ou cliquez sur les 3 points verticaux correspondant à votre appareil puis sur Install
  2. Touchez ou cliquez sur Manual download , puis sur Modern format
  3. Suite à la compilation du firmware, téléchargez le fichier qui vous sera proposé

À partir de maintenant, les manipulations sont à effectuer sur votre T-InfoDIN :

  1. Connectez-vous à l'interface de votre module
  2. Touchez ou cliquez sur Mise à jour du Firmware
  3. Dans la partie Mise à jour par téléchargement fichier , touchez ou cliquez le bouton Parcourir puis sélectionnez le firmware téléchargé précédemment
  4. Touchez ou cliquez sur Lancer la mise à jour
Migration du T-InfoDIN vers ESPHome
Migration du T-InfoDIN vers ESPHome

Au redémarrage de votre module T-InfoDIN, il sera sous ESPHome (et vous pourrez le mettre à jour directement en OTA). N'oubliez pas de l'ajouter à Home Assistant grâce à l'intégration ESPHome.

Conclusion

Cet article est assez long, mais il vous permettra d'utiliser le module T-InfoDIN sous Tasmota ou ESPHome suivant votre préférence. J'utilise ce module depuis l'année dernière sans problème et les données provenant du T-InfoDIN sont intégrées sur mon dashboard Energy d'Home Assistant.

Intégration des données provenant du T-InfoDIN au dashboard Energy d'Home Assistant
Intégration des données provenant du T-InfoDIN au dashboard Energy d'Home Assistant

N'hésitez pas à me poser vos questions grâce au formulaire de contact ou sur HACF.