Skip to content

Domoticz Plugin For D2L Module For Linky

License

GPL-3.0, CC0-1.0 licenses found

Licenses found

GPL-3.0
LICENSE
CC0-1.0
LICENSE_images
Notifications You must be signed in to change notification settings

ultrasuperpingu/DomoticzD2LPlugin

Repository files navigation

Domoticz D2L Plugin

Domoticz Plugin For Eesmart D2L Module For Linky

This plugin allows to retrieve information from the french Linky electricity meter in Domoticz.

Ce plugin permet la remontée des informations TIC de Linky vers Domoticz via le module D2L de Eesmart, connecté localement au serveur Domoticz. Le plugin fonctionne en mode TIC historique et standard pour des contrats Base et HP/HC. La gestion de la production d'énergie est possible en mode Standard (non testé).

Installation

Requis : Testé uniquement sur Domoticz version 2020.2, Python 3 doit être installé.

Pour récupérer la version de développement :

  • En ligne de commande aller dans le répertoire plugin de Domoticz (domoticz/plugins)
  • Lancer la commande: git clone https://github.com/ultrasuperpingu/DomoticzD2LPlugin.git
  • Redémarrer le service Domoticz en lancant la commande sudo service domoticz restart

Vous pouvez aussi simplement copier le fichier plugin.py dans le répertoire domoticz/plugins/{NomDeRepertoireDeNotreChoix} et redémarrer domoticz.

Pour récupérer une release, télécharger la version et décompresser l'archive dans le répertoire domoticz/plugins/{NomDeRepertoireDeNotreChoix} et redémarrer domoticz.

Si le plugin ne se charge pas et qu'une erreur dans les logs indiquant ModuleNotFoundError: No module named 'Crypto' apparait, il faut installer le package python correspondant (je pense sudo pip uninstall pycrypto et/ou sudo pip uninstall pycryptodomi.

Mise à Jour

Pour mettre à jour le plugin :

  • En ligne de commande, aller dans le répertoire plugin de Domoticz (domoticz/plugins)
  • Lancer la commande: git pull
  • Redémarrer le service Domoticz en lancant la commande sudo service domoticz restart

Vous pouvez également mettre à jour le fichier plugin.py dans le répertoire domoticz/plugins/{NomDeRepertoireDeVotreChoix} et redémarrer domoticz.

Configuration

Field Information
Port Port IP à configurer dans le module (Valeur par défaut : 8008) . Quand vous configurez le module, c'est ce port que vous devez renseigner et non le port de l'interface de Domoticz (qui est par défaut 8080). L'adresse IP à configurer dans le module est celle du serveur Domoticz.
App Key La clef applicative correspondant à votre module nécessaire au déchiffrement des trames du module (32 caractères, nombre hexadécimal)
IV (Lire i.v. et non 4) Le vecteur d'initialisation (Initialization Vector) AES correspondant à votre module nécessaire au déchiffrement des trames du module (32 caractères, nombre hexadécimal)
Standard Mode Config Correspondance champs JSON->signification pour le mode standard. En mode standard, il semble que la valeur des champs varie d'un fournisseur à un autre. Il est donc plus simple de proposer de configurer la signification des champs. Il faut indiquer 4 champs séparés par des ; avec dans l'ordre, les compteurs suivants :
Conso Heures Pleines;Conso Heures Creuses;Prod Heures Pleines;Prod Heures Creuses
La casse des champs est importante.

Valeurs typiques :
  • Sans production :
    • EDF contrat BASE : "EASF01;;;"
    • EDF contrat HP/HC : "EASF02;EASF01;;"
    • EDF contrat HC Week end : "EASF02;EASF01+EASF03;;"
  • Avec production :
    • EDF contrat BASE : "EASF01;;EAIT;"
    • EDF contrat HP/HC : "EASF02;EASF01;EAIT;"
    • EDF contrat HC Week end : "EASF02;EASF01+EASF03;EAIT;"
Additional Fields Des champs du message json à ajouter en custom sensor. Les champs doivent être séparés par un ; et suffixé de @ suivi de l'unité du champ (si l'unité est TEXT (la casse est importante), le champ sera de type "Texte", si l'unité est kWh (la casse est importante), le champs sera traité comme un compteur Domoticz). Les sommes de champs sont gérées (il suffit de séparer les noms des champs par un +).
Exemple: "ADIR1@A;HCHP+HCHC@kWh;ADIR1@TEXT"
Debug All/Communication/None. Communication permet de ne loguer que les données json envoyées par le module

Dans la partie Matériel de Domoticz:

  • Chercher 'Eesmart D2L ERL Module'.
  • Renseigner les paramètres
  • Ajouter le matériel

Du coté du module, suivez la procédure de la documentation du module pour le faire pointer vers le serveur domoticz et vers le port que vous avez configuré dans le plugin.

Utilisation

Dès que le plugin recevera les premières infos, il créera les équipements nécessaires (les termes en majuscules désignent les champs TIC (voir la spécification Enedis)) :

  • Intensité instantanée: Monophasé: une intensité (IINST), Triphasé: 3 intensités combinées en un dispositif (IINST1, IINST2, IINST3), Standard Monophasé : une intensité (IRMS1), Triphasé: 3 intensités combinées en un dispositif (IRMS1, IRMS2, IRMS3)
  • Charge électrique : Pourcentage de charge du compteur (IINST/ISOUSC en monophasé ou max(IINST1,IINST2,IINST3)/ISOUSC en triphasé, standard: SINSTS/PCOUP)
  • En fonction du contrat :
    • Contrat Base : un compteur kWh (historique : BASE, standard: selon config)
    • Contrat HP/HC : un compteur de type P1 Smart Sensor regroupant les compteurs HP et HC (HCHP et HCHC, standard: selon config (gestion production possible))
  • Un dispositif par champ présent dans le paramètre Additional Fields (les champs sont séparés par un ";", le type est indiqué en suffixant le nom du champs par @Type):
    • Type = TEXT (exemple MSG1@TEXT): Un dispositif de type Text
    • Type = kWh (exemple BBRHPJR@kWh): Un dispositif de type kWh (compteur d'énergie Domoticz). La puissance instantanée est calculée par le plugin
    • Autre type : (exemple PAPP@VA) Un dispositif de type Custom Sensor avec le type comme unité

La récupération des valeurs de production d'énergie n'est possible que dans le mode Standard. Pour passer Linky du mode Historique vers le mode Standard (et inversement), il faut effectuer une demande à votre fournisseur qui la transmettra à Enedis.

Spécification Enedis : https://www.enedis.fr/sites/default/files/Enedis-NOI-CPT_54E.pdf

Remonter un problème

Si le plugin ne fonctionne pas, activez le mode Debug dans les paramètres (Debug = All ou Communication). Si vous passez le module en Debug=All, l'ensemble des informations ne seront disponibles qu'après un redémarrage de Domoticz. Vous devriez alors avoir plus d'informations. Si un messsage d'erreur apparait :

  • soit c'est un message envoyé par le plugin, et il devrait vous donner la raison du problème
  • soit il s'agit d'une erreur Python, dans ce cas, ouvrez un bug en renseignant ce message
Si vous ouvrez un bug, il serait préférable d'envoyer, s'il est visible dans les logs, la trame JSON envoyée par le module. Pensez à l'anonymiser en remplaçant notamment les chiffres du champ ADCO, et tous les champs que vous trouverez sensibles.

Si votre type de contrat n'est pas pris en charge par le plugin (TEMPO ou EJP), je ne garanti pas de faire le développement mais vous pouvez m'envoyer un exemple de trame JSON via l'ouverture d'un bug (idem, pensez à l'anonymiser).

Si aucun message n'apparait et que vous ne voyez pas les trames JSON envoyées par le module dans les logs, c'est que le module n'est pas convenablement configuré ou qu'un problème réseau l'empêche de communiquer avec le serveur Domoticz.

About

Domoticz Plugin For D2L Module For Linky

Topics

Resources

License

GPL-3.0, CC0-1.0 licenses found

Licenses found

GPL-3.0
LICENSE
CC0-1.0
LICENSE_images

Stars

Watchers

Forks

Packages

No packages published

Languages