Je teste le module LIXEE TIC vers Zigbee (Zlinky_TIC)

Où acheter cet équipement, à quel prix ?

La sonde que je teste vient de chez Domadoo, elle existe en plusieurs versions. Je teste la V2 sans antenne externe.

J’ouvre la boite et vérifie le modèle reçu

Il existe visiblement deux versions, une avec antenne interne et une avec antenne externe.
La seconde probablement prévue lorsque des perturbations sont générées et peuvent nécessité d’éloigner l’antenne du boitier.

Le module est tout simple, 3 connecteurs rigides, pas de mode d’emploi, je me dis que c’est plutôt bon signe, ce doit être archi simple.

Au dos, on voit un schéma qui montre ou mettre le module dans le Linky.

Je vais connecter le module

Je regarde comment sont balisées les borniers du Linky et du module, c’est impossible de ne pas comprendre :

Je place ZigbeetoMQTT en mode appairage et je connecte le boitier, il suffit d’appuyer sur le bouton noir pour libérer le connecter et glisser les broches dessous. 

La led bleue clignote, l’appairage est en cours, je retourne sur Zigbee2MQTT pour voir le résultat.

Je vérifie l’état du module grâce à la LED

La LED peut avoir trois états, si ce n’est pas bon à cette étape, inutile d’aller plus loin.

  • La LED clignote rapidement plusieurs fois = ZLinky_TIC est en mode attente d’appairage. 

  • La LED clignote plusieurs fois lentement = Zlinky_TIC rencontre des erreurs lors de l’acquisition des données du Linky. 😥

  • La LED clignote une fois toutes les 3 secondes =  Le ZLinky_TIC fonctionne correctement. L’appareil décode correctement le Linky 😊

Je tente une intégration Zigbee2MQTT

L’intégration a parfaitement fonctionné du premier coup.

Le module est détecté en « ZLinky_TIC »

La version détectée ne fait pas la différence entre la V1 et la V2, ce n’est pas grave

Je vais regarder les valeurs, tout est là, magique, en quelques secondes.

Je teste le capteur dans Home Assistant

Je lui donne un nom compréhensible : Linky dans Zigbee2MQTT puis je vais le chercher dans HA

Et voilà, toutes les données sont présentes dans Home Assistant.

Signification de chaque donnée

Un petit tableau est bien plus parlant. Pour le triphasé, le résultat sera différent.

Je désactive toutes les entités qui ne me sont pas utiles

Voici donc les entités de l’appareil Linky :

Je mets à jour le module Zlinky_TIC

Je l’ai lancé via Home Assistant, mais cela peut se lancer depuis Zigbee2MQTt, dans les deux cas, on voit que la mise à jour est en cours dans Zigbee2MQTT également :

Attention, la mise à jour est très longue, il faut laisser tourner…

Je ne sais finalement pas trop pourquoi cette mise à jour s’est lancée, la version 14 était déja installée avant la mise à jour. Ce n’est pas grave, tout s’est bien passé et le flag de mise à jour est redevenu à off.

Je regarde la page paramètres dans Zigbee2MQTT

J’ai trouvé cette page, il n’y a aucun paramètre, je ne sais pas si cela a une utilité. Dans le doute, je configure.
Nota, Mise à jour, petite erreur, ne pas mettre KWh à 0 mais à 3 car ceux sont des K.

[Archive] J’utilise un template pour HC/HP

Je donne ici le template que j’avais fait un mode historique pour récupérer l’info HC ou HP en fonction des horaires.
En effet, avant l’installation de ce nouveau module Zigbee, j’utilisais un module TIC en USB.

Ce module me fournissait également une valeur HC.. ou une valeur HP.. dans la variable sensor.linky_active_register_tier_delivered (PTEC)

Pour cela, j’utilise une entité template, dans le fichier template.yaml, j’ajoute :

- sensor:    
    - name: Periode tarifaire en cours
      unique_id: sensor.periode_tarifaire_en_cours
      state: >-
        {% if is_state("sensor.linky_active_register_tier_delivered", "HP..") %}
          HP
        {% else %}
          HC
        {% endif %}

Changement de mode Linky

Il existe deux modes, le mode Historique et le Mode Standard.

J’avais un équipement TIC non compatible avec le mode Standard, je n’ai donc jamais changé.

Hors ce nouveau module fonctionne également en mode Standard d’après sa documentation. Le mode standard est bien plus complet.

Je fais donc un message à EDF pour changer le mode :

 

  • Demande en ligne effectuée via le formulaire le 03 novembre
  • Réponse le 04 novembre
  • Bascule le 05 novembre

Rien à dire, chapeau EDF !!

Bascule du mode Historique au mode Standard

Je dois avouer avoir patiné un peu sur ce basculement sur Zigbee et Home Assistant.

J’ai tenté de changer le mode, de réappairer le module… Les informations ne remontaient pas, j’y ai passé un moment.

Finalement, j’ai tout fermé, laissé passé une nuit et j’ai repris le lendemain, tout fonctionnait !

Il ne faut donc pas être pressé, il doit y avoir des cycles d’actualisation… bref, cela fonctionne, voici les écrans.

Données du mode Standard

Commande TICdesignationunitvaleur par defautCommentdata typesize max
ADSCAdresse Secondaire du CompteurNULLString12 car
NGTFNom du calendrier tarifaire fournisseurString16 car
LTARFLibellé tarif fournisseur en coursString16 car
NTARFNuméro de l’index tarifaire en coursUint82 car
VTICVersion de la TICUint162 car
DATEDate et heure courantEX: E211022162000String10 car
EASTEnergie active soutirée totaleWh0Uint489 car
EASF01Energie active soutirée Fournisseur, index 01Wh0Uint489 car
EASF02Energie active soutirée Fournisseur, index 02Wh0Uint489 car
EASF03Energie active soutirée Fournisseur, index 03Wh0Uint489 car
EASF04Energie active soutirée Fournisseur, index 04Wh0Uint489 car
EASF05Energie active soutirée Fournisseur, index 05Wh0Uint489 car
EASF06Energie active soutirée Fournisseur, index 06Wh0Uint489 car
EASF07Energie active soutirée Fournisseur, index 07Wh0Uint489 car
EASF08Energie active soutirée Fournisseur, index 08Wh0Uint489 car
EASF09Energie active soutirée Fournisseur, index 09Wh0Uint489 car
EASF10Energie active soutirée Fournisseur, index10Wh0Uint489 car
EASD01Energie active soutirée Distributeur, index 01Wh0Uint329 car
EASD02Energie active soutirée Distributeur, index 02Wh0Uint329 car
EASD03Energie active soutirée Distributeur, index 03Wh0Uint329 car
EASD04Energie active soutirée Distributeur, index 04Wh0Uint329 car
EAITEnergie active injectée totaleWh0ProductionUint489 car
ERQ1Energie réactive Q1 totalVArh0Productionint169 car
ERQ2Energie réactive Q2 totalVArh0Productionint169 car
ERQ3Energie réactive Q3 totalVArh0Productionint169 car
ERQ4Energie réactive Q4 totalVArh0Productionint169 car
IRMS1Courant efficace, phase 1A0mono / triphaséUint163 car
IRMS2Courant efficace, phase 2A0TriphaséUint163 car
IRMS3Courant efficace, phase 3A0TriphaséUint163 car
URMS1Tension efficace, phase 1V0mono / triphaséUint163 car
URMS2Tension efficace, phase 2V0TriphaséUint163 car
URMS3Tension efficace, phase 3V0TriphaséUint163 car
PREFPuissance app. de référence (PREF)kVA0Uint162 car
STGERegistre de Statuts0String8 car
PCOUPPuissance app. de coupure (PCOUP)kVA0Uint82 car
SINSTIPuissance app. Instantanée injectéeVA0Productionint165 car
SMAXINPuissance app max. injectée nVA0Productionint165 car
SMAXIN-1Puissance app max. injectée n-1VA0Productionint165 car
CCASNPoint n de la courbe de charge active soutiréeW0int165 car
CCASN-1Point n-1 de la courbe de charge active soutiréeW0int165 car
CCAINPoint n de la courbe de charge active injectéeW0Productionint165 car
CCAIN-1Point n-1 de la courbe de charge active injectéeW0Productionint165 car
UMOY1Tension moy. ph. 1V0Mono / triphaséUint163 car
UMOY2Tension moy. ph. 2V0TriphaséUint163 car
UMOY3Tension moy. ph. 3V0TriphaséUint163 car
SINSTSPuissance app. Instantanée soutiréeVA0(Mono /Triphasé depuis v10)Uint165 car
SINSTS
SINSTS1Puissance app. Instantanée soutirée ph.1VA0TriphaséUint165 car
SINSTS2Puissance app. Instantanée soutirée ph. 2VA0TriphaséUint165 car
SINSTS3Puissance app. Instantanée soutirée ph. 3VA0TriphaséUint165 car
SMAXNPuissance app. max. soutirée nVA0(Mono / Triphasé depuis v10)int165 car
SMAXN
SMAXN1Puissance app. max. soutirée n ph.1VA0Triphaséint165 car
SMAXN2Puissance app. max. soutirée n ph. 2VA0Triphaséint165 car
SMAXN3Puissance app. max. soutirée n ph. 3VA0Triphaséint165 car
SMAXN-1Puissance app. max. soutirée n-1VA0(Mono / Triphasé depuis v10)Uint165 car
SMAXN-1
SMAXN1-1Puissance app. max. soutirée n-1 ph.1VA0TriphaséUint165 car
SMAXN2-1Puissance app. max. soutirée n-1 ph.2VA0TriphaséUint165 car
SMAXN3-1Puissance app. max. soutirée n-1 ph.3VA0TriphaséUint165 car
MSG1Message court0String32 car
MSG2Message ultra court0String16 car
PRMPRM (Identifiant)0String14 car
DPM1Début Pointe Mobile 10Uint82 car
FPM1Fin Pointe Mobile 10Uint82 car
DPM2Début Pointe Mobile 20Uint82 car
FPM2Fin Pointe Mobile 20Uint82 car
DPM3Début Pointe Mobile 30Uint82 car
FPM3Fin Pointe Mobile 30Uint82 car
RELAISRELAIS0Uint163 car
NJOURFNuméro du jour en cours calendrier fournisseur0Uint82 car
NJOURF+1Numéro du prochain jour calendrier fournisseur0Uint82 car
PJOURF+1Profil du prochain jour calendrier fournisseur0String98 car
PPOINTE1Profil du prochain jour de pointe0String98 car
Protocole linky0Uint81 car

Données Home Assistant sur mode Standard

Et voilà, toutes les données sont présentes dans Home Assistant (les même sont évidemment consultables sur Zigbee2MQTT)

Tentative de compréhension des changements d’états HC/HP

Alors là, c’est une aventure, je ne comprends pas trop ce qui se passe.

Mes changements d’heure HC/HP sont par exemple sur 14:06 et 17:06 et voici l’historique constaté ce jour :

Assez incompréhensible donc.

J’attends une nuit pour voir la bascule physique (conso chauffeau) et les indicateurs renvoyés, voici le résultat :

Je constate donc :

  • STGE et la conso correspondent et sont sur la bonne heure 02:06:07 pour les deux.
  • 02:14:07 pour NTARF et pour RELAIS.

A ce stade, je ne m’explique pas la raison du décalage, je vais questionner sur les forums pour voir si quelqu’un sait, mais à ce stade, je vais donc utiliser STGE pour définir si on est en HC ou HP.

J’ajoute un Template pour avoir HC/HP

Dans mon fichier templates.yaml, j’ajoute :

- name: Periode tarifaire en cours
  unique_id: sensor.periode_tarifaire_en_cours
  state: >-
    {% if is_state("sensor.linky_status_register", "003AC401") %}
      HP
    {% else %}
      HC
    {% endif %}

Comprendre les 5 lignes Energie

Je me retrouve dans HA avec 5 lignes avec le même titre.

Elles correspondent aux lignes :

  • EAST
  • EASTF01
  • EASTF02
  • EASD01
  • EASD02

Je suis allé vérifier les index sur l’afficheur du compteur pour m’y retrouver.

J’abandonne EASD01 et EASD02, je ne comprends pas Saison Haute, Saison Basse.

EAST est donc la consommation totale, EASTF01 la conso Heures Creuses, EASTF02 la conso H Pleines.

Voilà, c’est tout de suite plus clair :

J’ajoute les informations de conso dans Energy

et

Données que je conserve finalement

Après une batterie de tests, je confirme ce que je pensais, les informations en temps réel ne valent rien, le Linky n’est pas fait pour cela. Inutile donc de penser avoir la conso instantanée grâce à lui.

Je l’utilise donc pour récupérer l’info HC/HP et pour alimenter le module Energy de HA.

Voici les données que je gardent :

MSG1 et MSG2, je les garde car je suis curieux de savoir ce qui pourrait bien arriver dans ces champs messages. On verra dans plusieurs mois ou années si quelque chose apparait.

NTARF/RELAIS/STGE, je vais attendre plusieurs jours pour voir lequel des 3 je garde, je désactiverai les deux autres ensuite.

La Conso Totale, je la garde à ce stade, mais si je n’en ai pas d’utilité, je le désactiverai.

Précision de la configuration du module dans Zigbee2MQTT

Dans la whitelist, il semble important de spécifier les informations dont on a besoin, cela semble limiter les ressources pour envoyer des données inutiles. J’ai spécifié « EAST,EAIT,EASF01,EASF02,STGE,NTARF,RELAIS,MSG1,MSG2 »

Conclusion

Finalement l’intégration assez simple et efficace de ce module me permet d’alimenter le module Energy de Home Assistant et d’avoir l’information de HC/HP sur mon Dashboard.

Ce RetEx est encore à compléter dans le temps, il va évoluer, j’ai laissé quelques points en suspens au dessus.

Les lectures des différents forums ou Retex d’autres utilisateurs me laissent à penser que la réalisation de ce type d’équipement est particulièrement complexe à réaliser. Visiblement l’alimentation fournie au module par le Linky est très très faible, il doit donc être extrêmement optimisé. Le choix du Zigbee est une bonne chose, c’est une technologie qui consomme très peu, j’imagine qu’en Wifi ou Bluetooth, cela ne fonctionnerait pas.

Le fait de pouvoir choisir une liste blanche les données qu’on souhaite exploiter doit alléger les trames et le besoin en énergie du module, c’est une excellente idée.

Bravo pour la réalisation de ce module, du très très bon boulot !

En bonus, voici l’écran Energie de mon Dashboard, si cela peut donner des idées.

 

Bibliographie ou références