Les Informations Linky en temps Réel

Forum pour tous les autres objets : sondes météo, capteurs, actionneurs ...
Vous avez un besoin mais vous ne savez pas quel matériel choisir ? C'est ici.
Antori91

Re: Les Informations Linky en temps Réel

Message par Antori91 »

ping a écrit : 03 déc. 2020, 11:44 Bonjour,

Non, pas de souci, les devices peuvent être renommés. Domoticz est sensé vous le demander quand vous le déclarez utilisé.
Dans le code, je me sers du nom par défaut comme identifiant par souci de simplicité mais à la fin, c'est bien son index que j'utilise pour le mettre à jour. Essayez, si ça pose problème, c'est un bug, mais j'ai pas de problème là dessus chez moi.

Par contre, je vais avoir le même problème de longueur je pense. Il va falloir que je change le nom par défaut de l'intensité instantanée 3 phases. Des suggestions ?
1. Je viens de changer le nom dans Domoticz (ceci sans changer le code du plugin) et effectivement la mise à jour du device continue normalement.

2. Sinon le code semble assez robuste pour les erreurs de communication. Vient d'apparaitre dans mon log:
2020-12-03 10:48:31.186 Error: (LINKY): Async Read Exception: 113, No route to host
2020-12-03 11:58:34.969 Error: (LINKY): Async Read Exception: 104, Connection reset by peer
2020-12-03 12:04:58.706 Error: (LINKY): Async Read Exception: 113, No route to host
2020-12-03 12:06:20.626 Error: (LINKY): Async Read Exception: 113, No route to host
Mais la mise à jour via le plugin semble avoir reprise.

3. Pour le nom, peut-être pouvez-vous supprimer le mot "Instantanée" (c'est un peu implicite) ou le réduire. Ce serait alors
NameToUnit = {
"Intensité Instantanée": (1, 243, 23),
"Intensité des 3 phases":(2, 89, 1),
OU
NameToUnit = {
"Intensité Instantanée": (1, 243, 23),
"Intensité Instant. 3 phases":(2, 89, 1),
Antori91

Re: Les Informations Linky en temps Réel

Message par Antori91 »

OU
NameToUnit = {
"Intensité monophasé": (1, 243, 23),
"Intensité triphasé":(2, 89, 1),

Perso, j'aime bien celui-ci
Dernière modification par Antori91 le 03 déc. 2020, 12:19, modifié 1 fois.
philou55
Messages : 24
Inscription : 22 juil. 2019, 21:42

Re: Les Informations Linky en temps Réel

Message par philou55 »

Bonjour à tous
, voilà ce que j'ai mis et je suis resté ainsi majoritairement compatible avec le développement autour de mon ancien plugin
lkys.png
lkys.png (12.87 Kio) Consulté 3268 fois
ping
Messages : 97
Inscription : 25 nov. 2020, 14:46

Re: Les Informations Linky en temps Réel

Message par ping »

Bonjour,
Je viens de faire la demande pour passer en TIC standard. J'aurais alors des exemples de trames qui me permettront d'implémenter correctement ce mode dans le plugin. Une fois fait, il sera en pratique possible de gérer la production d'énergie.
Bonne soirée
Antori91

Re: Les Informations Linky en temps Réel

Message par Antori91 »

Bonsoir,
Dans les nouvelles fonctionnalités, ce qui serait à priori sympa à implémenter, ce sont les trames courtes pour les compteurs triphasés. Cela permettrait de faire du délestage pour ceux qui disposent d'un tel compteur/abonnement. Ci-dessous extrait de la doc Enedis:
CaptureTramescourtes.GIF
CaptureTramescourtes.GIF (47.94 Kio) Consulté 3210 fois
ping
Messages : 97
Inscription : 25 nov. 2020, 14:46

Re: Les Informations Linky en temps Réel

Message par ping »

La dernière version possède un paramètre Additional Fields qui permet de créer des périphériques supplémentaires correspondants à un champs du json (visible dans les logs lorsque Debug=All ou Communication). Il faut y mettre la liste des champs a récupérer séparé par des ; et suffixé par @ suivi de l'unité à utiliser. On peut par exemple mettre ADIR1@A;ADIR2@A;ADIR3@A pour ajouter 3 dispositifs correspondant à ces valeurs. Il est possible de faire des sommes (ie. ADIR1+ADIR2+ADIR3@A) et de récupérer des champs textuels en indiquant comme unité TEXT.

[Edit]J'en profite pour dire que la charge électrique en triphasé sortie par le plugin est sans doute peu pertinente (comme je l'indique dans la doc, c'est (IINST1+IINST2+IINST3)/(3*ISOUSC). J'imagine que ça disjoncte dès lorsqu'une des phases dépasse la puissance souscrite... Après, en monophasé, ADIR1 est renseigné mais vaut toujours la même valeur (ISOUSC + 1?), si c'est pareil en triphasé, ça n'a pas beaucoup d'intérêt. Dans tous les cas, je serais intéressé par des trames json en triphasé. Si vous pouviez m'en fournir, je suis preneur, ça me permettrait de les utiliser pour debugger (n'oubliez pas de les anonymiser)[/Edit]
Antori91

Re: Les Informations Linky en temps Réel

Message par Antori91 »

ping a écrit : 03 déc. 2020, 22:01 La dernière version possède un paramètre Additional Fields qui permet de créer des périphériques supplémentaires correspondants à un champs du json (visible dans les logs lorsque Debug=All ou Communication). Il faut y mettre la liste des champs a récupérer séparé par des ; et suffixé par @ suivi de l'unité à utiliser. On peut par exemple mettre ADIR1@A;ADIR2@A;ADIR3@A pour ajouter 3 dispositifs correspondant à ces valeurs. Il est possible de faire des sommes (ie. ADIR1+ADIR2+ADIR3@A) et de récupérer des champs textuels en indiquant comme unité TEXT.

[Edit]J'en profite pour dire que la charge électrique en triphasé sortie par le plugin est sans doute peu pertinente (comme je l'indique dans la doc, c'est (IINST1+IINST2+IINST3)/(3*ISOUSC). J'imagine que ça disjoncte dès lorsqu'une des phases dépasse la puissance souscrite... Après, en monophasé, ADIR1 est renseigné mais vaut toujours la même valeur (ISOUSC + 1?), si c'est pareil en triphasé, ça n'a pas beaucoup d'intérêt. Dans tous les cas, je serais intéressé par des trames json en triphasé. Si vous pouviez m'en fournir, je suis preneur, ça me permettrait de les utiliser pour debugger (n'oubliez pas de les anonymiser)[/Edit]
Bonjour Ping

Un exemple de trame triphasée reçue avec IDL et ADCO anonymisés:
{ "_TYPE_TRAME":"HISTORIQUE", "_ID_D2L":"0---------78", "_DATE_FIRMWARE":"Jul 7 2017", "ADCO":"02--------50", "OPTARIF":"HC..", "ISOUSC":"30", "IMAX":"", "BASE":"", "HCHC":"000923657", "HCHP":"001724525", "BBRHCJB":"", "BBRHCJR":"", "BBRHCJW":"", "BBRHPJB":"", "BBRHPJR":"", "BBRHPJW":"", "EJPHN":"", "EJPHPM":"", "_HORLOGE":"155459676", "PTEC":"", "ADIR1":"", "ADIR2":"", "ADIR3":"", "IINST1":"1", "IINST2":"6", "IINST3":"0" }

J'ai vu votre dernière version sur Github. Vous n'avez pas changé le numéro de version? (c'est mon coté maniaque ;-)
Je ne sais si votre champ additionnel peut être utilisé dans le cas des trames courtes car vous faites un contrôle sur le type de trame et dans les trames courtes, je ne sais pas si le champ data["_TYPE_TRAME"] correspondra à une valeur acceptée et donc traitée. Et d'ailleurs c'est toute la trame qui est différente. Mais je ne pousse pas plus que cela à implémenter cette fonction. Juste à envisager ou à ne PAS envisager si ces trames courtes ne seraient émises qu'après arrêt du dépassement et pas dès le début du dépassement, ceci jusqu'à coupure éventuel par le Linky.

Oui vous avez raison pour le power load et le contrôle de non dépassement en triphasé, c'est par phase et non au global.

Sinon, je mets ci-dessous deux copies d'écran, power load et intensité triphasé. On peut voir un saut du power load à 75% vers 22h50 hier alors que les intensités sur la même période horaire sont au plus bas. Vous avez une idée de pourquoi cette contradiction éventuelle?
CapturePL.GIF
CapturePL.GIF (161.3 Kio) Consulté 3167 fois
CaptureI3P.GIF
CaptureI3P.GIF (165.41 Kio) Consulté 3167 fois
Antori91

Re: Les Informations Linky en temps Réel

Message par Antori91 »

Rebonjour,
Je pense avoir trouvé un bug. Lorsque vous êtes en triphasé et que I2 et I3 sont à zéro, le device Current n'est pas mis à jour.
Cela vient de ce test:
if iinst2 > 0 or iinst3 > 0:
UpdateDevice("3 phases L1/L2/L3 Instantaneous current", 0, str(iinst1)+";"+str(iinst2)+";"+str(iinst3))
UpdateDevice("Power load", 0, str(round((iinst1+iinst2+iinst3)/3/isousc*100)))
else:

Ce test fait que si (iinst2 = 0 and iinst3 = 0) il n'y a pas d'UpdateDevice("3 phases L1/L2/L3 Instantaneous current
et que donc lorsque iinst2 et iinst3 reviennent à zéro, les dernières intensités affichées (avant le retour à zéro) de iinst2 et iinst3 restent affichées et l'éventuelle nouvelle valeur de iinst1 n'est pas affichée non plus.

Il faut trouver un autre moyen de distinguer le cas du monophasé du cas du triphasé que le test sur les valeurs iinst2 et iinst3 car vous pouvez être en triphasé avec iinst1 variant mais iinst2 et iinst3 à un moment nulles.
xbu05400
Messages : 77
Inscription : 18 déc. 2019, 19:17

Re: Les Informations Linky en temps Réel

Message par xbu05400 »

Bonjour ,
J'ai fait la ré initialisation de mon D2L ( Je confirme le site Eesmart a des problèmes en ce moment ...)

Par contre si j'ai bien compris , après avoir configuré le d2l et remplis les infos du plugin ( et mis en debug) , je n'ai plus qua attendre ?

Voici un log :
2020-12-04 13:06:26.843 Status: (Mon D2L) Stop directive received.
2020-12-04 13:06:26.843 Status: (Mon D2L) Exiting work loop.
2020-12-04 13:06:26.944 Status: (Mon D2L) Stopping threads.
2020-12-04 13:06:26.944 Status: (Mon D2L) Stopped.
2020-12-04 13:06:26.944 Status: (Mon D2L) Started.
2020-12-04 13:06:27.139 Status: (Mon D2L) Entering work loop.
2020-12-04 13:06:27.140 Status: (Mon D2L) Initialized version 1.1.0, author 'ultrapingu'
2020-12-04 13:06:42.077 Error: Error parsing http request.

l'error parsing n'as pas l'air venir de ce plugin.

Cordialement .
Xavier
ping
Messages : 97
Inscription : 25 nov. 2020, 14:46

Re: Les Informations Linky en temps Réel

Message par ping »

Bonjour @Antori91,
J'allais justement répondre la même chose. J'allais vous demander de vérifier si un dispositif Intensité n'avait pas été créer par hasard avec des valeurs importantes vers cette heure ci. Le problème, c'est que le module est sensé envoyer un champ IINST pour le monophasé et IINST1, IINST2,IINST3 pour le triphasé mais il envoi toujours IINST1,IINST2,IINST3 avec IINST2 et IINST3 à 0 pour le monophasé. Je vais juste retenir si j'ai déjà reçu IINST2 ou IINST3 !=0 et traité comme triphasé si c'est le cas quelque soit la valeur de IINST2 et IINST3. [Edit]C'est fait, il faudra tester [/Edit]

Pour les trames courtes, je ne sais pas si elles sont géré par le module et si c'est le cas, comment elles sont gérées. Les champs étant dans le message, j'imagine qu'il les envoie s'il les a reçu (après, es-ce qu'il le fait tout de suite ou es-ce qu'il attends la fin de la minute, il faut demandé à eesmart). Pour le champs _TYPE_TRAME, comme les autres champs préfixés par _, c'est le module D2L qui l'ajoute. Je pense qu'il ne peux valoir que HISTORIQUE ou STANDARD. Pareil, il faudrait vérifié avec eesmart. [Edit]J'ai des valeurs ADIRX renseignées dans mes trames (0 pour ADIR2 et 3) mais les valeurs ne bougent pas. Je soupçonne d'avoir reçu une trame courte un jour et à mon avis, le module garde la valeur jusqu'à ce quelle soit mise à jour pas une autre trame. Il doit faire ça pour tout les champs, il sauvegarde les valeurs qu'il reçoit et renvoi toutes les minutes les valeurs qu'il a actuellement.[/Edit]

Enfin, pour le numéro de version du plugin, je développe sur la branche main, il faut considéré cette branche comme une version de développement. Le numéro indiqué dans cette branche correspondra à un future tag. Je dois mettre à jour la doc pour le signifier.

[Edit]Merci pour la trame :)[/Edit]
Dernière modification par ping le 04 déc. 2020, 13:49, modifié 4 fois.
Répondre