Suite mise à jour beta du 18/09/2024 avec onduleurs Solaredge - Valeurs remontées incohérentes

Bonjour à tous,

J’ai réalisé la mise à jour aujourd’hui, en suivant les instructions concernant la désactivation préalable des équipements, mais je rencontre un problème au niveau de la remontée des valeurs des batteries Solaredge.
Avant la mise à jour j’ai ces valeurs:

Après la mise à jour je retrouve ça:

J’ai le même problème avec les 3 onduleurs, qui ont des esclaves différents (1, 2 ou 3).

Cela semble concerner toutes les données en float32, uint32 (mais pas uint64).
Les valeurs en SunSpec ne semblent pas touchées.

Une idée?

Bonjour,
Les valeurs ne semblents pas se mettre a jour.
La lecture multi-registre se fait bien ?
Si vous lisez les registres directement, avez vous toujours le problème ?

Non, les valeurs se lisent bien (il y a une actualisation régulière, d’ailleurs dans la même plage de registre « 57708 [28] » j’ai quelques valeurs en uint64 qui sont lues au même rythme et justes). Les valeurs en uint32 et float32 semblent comme mal formaté, comme si les mots ou octets n’étaient pas lus dans le bon sens. Pour l’instant j’ai restauré le clone de mon serveur que j’avais fait avant la mise à jour pour retrouver mon fonctionnement.

Bonjour,

La gestion de l’inversion des octets et des mots est différente puisque plus gérée par pymodbus. Maintenant il faut tester la bonne configuration d’inversion.
A vrai dire maintenant, le terme « inverser octets » (ou « mots ») prend tout son sens puisque le plugin permet ces inversions sans présumer être little ou big endian. Si l’architecture du processeur de l’esclave Modbus est différente de celle du processeur de ton Jeedom, alors il faut faire les inversions nécessaires. Ce n’est pas un bug, juste une adaptation.

@thomaspascal
Je te suggère donc de faire un essai (je sais que tu utilises des VM) avec 2 Jeedom en même temps afin de trouver la configuration d’inversion dont tu as besoin.

Pour info, si d’autres étaient concernés par des problèmes avec des équipements Solaredge, Michel à solutionné avec la bêta du 20/9 tous les problèmes avec Solaredge sur les uint32 et float32 (sans nécessité de modification des inversions des mots et octets des commandes).
À ce jour il ne reste qu’un problème en cours avec les uint64 (à ma connaissance, uniquement utilisés avec les batteries Solaredge pour comptabiliser le lifetime de l’import et export d’énergie dans les batteries).

EDIT: Les uint64 sont maintenant aussi fonctionnel avec la BETA 47. Merci @Michel_F pour la réactivité dans les corrections.
Je clôture la discutions.

Votre analyse était pertinente, car le problème des uint32 et float32 ne se présentait que sur la lecture multi-registre :+1:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.