Victron Color Control GX ModBus

Bon pas brillant :joy: Trois désinstallations et rien de mieux, même un erreur java


Dommage je mets en pause, j’y reviendrai un peu plus tard. Peut-être que quelqu’un aura une info intéressante entre temps !
Merci

Salut à tous,
De retour après des contraintes travaux :frowning:

Je viens d’installer MyModbus, le daemon est OK. J’ai créé une seule ligne d’info pour test (affichage numéro de série).

Mais le retour est « none ». Sans soute un souci de saisie dans les champs, j’avous que ce n’est pas super clair. Pourriez-vous m’aider ?

Source Excel :

Plugin :

PS : quelle différence entre ce plugin « MyModbus » et l’officiel de Jeedom ?

Ne renseigne rien dans Paramètre(s). ça donne quoi du coup sans ça ?

Le plugin MyModbus a été développé avant que Jeedom ne remette le nez dedans (dans le protocol Modbus) et le plugin officiel Modbus est en cours de développement et accessible en Béta uniquement pour le moment.

Edit : as-tu regardé cette page : GX Modbus-TCP Manual [Victron Energy]
Et notamment la partie qui dit : By default, Modbus-TCP is disabled. To enable it, go into the settings menu, scroll down to ‹ Services ›, and then enable the Modbus-TCP service.

Mince j’étais passé à côté ! Forcément en activant cela aide :+1:

Il y a une remontée d’info par contre la valeur n’est pas au bon format (*) :

[2022-08-19 20:00:05]DEBUG : Evenement : type=>holding_registers sortie=>3 inputs=>[800] values=>[*] add=>192.168.200.151 unit=>100 eqid=>2056`

J’ai essayé avec d’autres valeurs qui elles ne remontent rien : 2609, 3804, 3902.

(*) Ici un nombre de 5 chiffres qui ne correspond pas du tout au numéro de série qui est un mélange de chiffres et lettres.

OK l’idéal est de télécharger Modbus Doctor (voir mon lien plus haut) et de jouer avec lui pour obtenir les données, c’est plus malléable qu’avec le plugin (qui fait ce qu’il peut et avance au fur et à mesure).

Par exemple avec un Holding Register 800 pour avoir le numéro de série. Montre moi ce que ça donne (capture d’écran).

Done. Voilà :

Essai un autre type comme input register, c’est pas bien normal de n’avoir que des 0 dans tous les bits…

Où bien essai de chopper une valeur qui est en 16bits numérique dans le fichier Excel.

Un truc plus simple comme une tension, une puissance…

  • J’ai tenté les 4 types de registres => KO
  • J’ai essayé 3304, 4003 (température en 16bits) => KO
    => J’ai l’impression que la communication ne se fait pas correctement.

nb : le Cerbo est alimenté, mais pas encore raccordé (ni AC ni batteries), mais je ne pense pas que ce soit le problème.

Tu as une réponse mais elle est invalide. Essaies de ne demander qu’un seul registre et non 12 et cliques sur le bouton « mode espion » de modbus doctor pour voir les échanges.

Il faut aussi bien paramétrer l’esclave et on trouve son id comme ça

Attention à l’association unit id et registre, tout n’est pas permis

Comme écrit dans la capture du fichier excel que tu as envoyée si tu demandes des datas de com.victronenergy.system alors tu dois utiliser l’unit id 100 et non pas 1

Regarde le 2eme onglet du fichier excel

En modifiant, la requête est acceptée !

En revanche, ce qui remonte ne correspond pas au SN (mélange de chiffres et de lettres). J’ai essayé les autres occurrences de « Serial », elles sont toutes en échec :

1039
2609
3804
3902

Pour le registre 800, sans doute un problème de format ?

Je continue à chercher, et essayer d’afficher un autre registre comme température par exemple.

Regarde en mode espion ce qui remonte. Et change aussi de décimal en hexa pour voir. Tu peux aussi nous donner le serial de ton onduleur pour voir stp

1 « J'aime »

Je pense que le registre 800 n’est pas idéal pour commencer. Le résultat doit être en string alors c’est peut-être un code ascii qui est utilisé. Par exemple 13368 se traduit en 34 38 en hexa et en ascii cela correspont à 4 et 8, ton numéro de série contient il 48? Selon ce princpie le registre 801 te renvoie E7, le 802 renvoie DA, … Et pour avoir les 12 caractères il faut demander 6 registres

Teste avec le registre 840, tension batterie, ça sera plus facile

Je viens de tester tous les caractères remontés via un convertisseur en ligne (Hexa > ASCII). Cela ne correspond pas au SN (désolé je veux éviter de le partager).

Je n’ai pas encore raccordé de batterie au Cerbo GX mais j’ai quand même testé le registre 840 :

Remontée OK mais je ne sais exploiter le résultat.

Si tu n’as pas de batteries il est normal que tu trouves 0 volts. Prends un registre où tu es sûr de trouver une valeur

Ok pour ton numéro de série mais donne juste les 6 premiers par exemple

bonjour, je viens enfin de câbler le modbus de mon SMI 35 de Solaredge et pour tester la fonction string j’ai regardé ce qu’il y avait dedans et ça confirme ce que je pensais, on prend la valeur hexa du code ascii. Dans la doc il y a ces champs par exemple:

Le registre 40004 de taille 16 est invariable et doit retourner "SolarEdge " (il y a un espace à la fin)

Voici la réponse via ModbusDoctor:

Une table ASCII prise au hasard:

53h est bien égal à S majuscule, 6F à o minuscule, 6C à l minuscule et ainsi de suite…

Bonsoir,

Désolé, j’ai été pris par les travaux (câblage électrique…).
Merci pour tes infos, je fais en sorte de regarder demain.

A+

1 « J'aime »

Bonjour,
Je me permets de m’incruster.
J’utilise mymodbus depuis 3ans ou plus avec venusOS avec mppt, multiplus, pylontech et bientôt solax.
Pour suivre et donner des informations si ça peut aider.
J’envoie et reçois beaucoup de commandes.
Je n’ai pas compris la question du sujet.

Bonjour,

Pour mon cas :

  • Je suis en train d’installer Cerbo GX + Multiplus II + Pylontech.
  • Le plugin Modbus et le démon sont OK.
  • Par contre, je n’arrive pas à lire les registres du Cerbo GX (ne serait-ce que le numéro de série par exemple).

Si tu pouvais partager quelques commandes de lecture, cela pourrait aider je pense.

Alors pour savoir quoi lire.
Il faut aller dans le OS du cerbox, paramètres
Services
Modbus TCP
activé modbus tcp
Et les différents registres sont en dessous dans service disponible. Et là, il y a tous les ID disponible.
Une fois cela trouvé, il faut utilisé le fichier excel victron modbus tcp.
CEPENDANT, IL FAUT TROUVER LE FICHIER CORRESPONDANT À SA VERSION OS!!!
Car suivant les versions, les informations diffère. J’ai eu le cas en fesant un update.

Partager les registres, c’est compliqué.
Car suivant le matériel, il est déclaré différemment dans venusOS (usb vedirect ve.can etc…)
Mais ID général qui ne change pas :
ID : 100 port 502 registre holding 800 = numero serial

Cela aide?