Mymodbus quoi de neuf?

Bonjour,
Je suis le sujet sans intervenir car le plugin me convient pour l’instant.
Mais comme dis précédemment, c’est dommage de supprimer les doublons d’équipements.
J’utilise Mymodbus avec du matériel victron et d’autres. Et j’ai créé plusieurs équipements avec des pollings différents au vue du nombre de commande et pour la latence du système (entre 2s et 5min). Ce qui me permet d’avoir une grande réactivité pour la durée de vie de mes batteries et la gestion des énergies « gratuites ».
Sera-t-il possible de créer plusieurs équipements mais et surtout avec des registres différents ?
Merci

1 « J'aime »

@Noyax37 @Michel_F

Avec un seul équipement j’ai testé l’écriture & lecture avec un polling de 60’’.

L’écriture d’un mot dans l’automate se fait en 1 seconde, et la lecture à la fin du polling.

Bonjour,
Et si tu essaies à 2s?
Ca donne quoi au niveau de jeedom ?

@vins

pour l’instant le polling mini est à 10’’
un commande d’écriture passée avant la fin du polling de 10’’, mise à jour fin polling.

En réalité, MyModbus fonctionne comme ceci (chaque équipement indépendamment) :

  • au démarrage du cycle, les lectures sont lancées les unes après les autres, dans l’ordre dans lequel elle sont déclarées
  • une commande d’écriture se fait le plus rapidement possible, si elle est lancée/demandée, c’est-à-dire :
    • durant le cycle des lectures, dès que la lecture en cours est terminée
    • durant le temps d’attente avant le prochain cycle des lectures, immédiatement

Puis ça recommence.

edit :
La limitation à 10s. ne restera peut-être pas. Comme indiqué dans le changelog, j’aimerais implémenter 3 manières de faire :

  • en polling (comme actuellement)
  • en cyclique (comme le polling mais sans attente entre les cycles)
  • sur déclenchement

Si les connexions parallèles (TCP et UDP) fonctionnent de manière stable, je peux les permettre. Mais pour les connexions série, je laisse la limitation.

1 « J'aime »

Bonjour,
J’interviens aussi pour vous remonter ma propre expérience. Pour la lecture de mes équipements Solaredge (3 onduleurs, 3 batteries et 1 compteur) j’accès en Modbus TCP depuis l’onduleur maitre. J’avais fait au départ la même demande que vous à Michel, plusieurs équipements pour séparer les lectures à des rythmes différents, séparer ce qui concerne un onduleur ou un autre, etc. Il a fini par me convaincre qu’un équipement pour une adresse IP fonctionne très bien aussi. Pour le rythme des lectures, pour avez moyen de choisir a quel rythme chaque commande est lue (par exemple si le pooling est de 10s et que l’on souhaite lire les températures toutes les 10 minutes, on choisit le paramètre de lecture de la commande 1x sur 60. Avec la dernière version, et la lecture par plage, les choses on encore évolué en mieux. Je lis maintenant 90 valeurs et le cycle de lecture prend 2s et encore 4s pour écrire les valeurs dans Jeedom. C’est donc très très rapide. Le seul problème que je vois, c’est la facilité de lecture de l’équipement quand on a 90 commandes. Mais comme m’a justement dit Michel, on n’y va pas tous les jours, une fois que l’équipement est fonctionnel.

Je n’ai pas compris votre exemple.
Comment vous faites pour lire 2 valeurs avec des pollings différents…

Si par exemple vous réglé votre pooling sur 10s:
1

Si sur une commande vous mettez 1 dans « Lecture 1x sur : », cette commande sera lue à chaque cycle, donc dans cet exemple toutes les 10s.


Si sur une autre commande vous indiquez 5 dans « Lecture 1x sur : », alors cette commande sera lue tous les 5 cycles, soit 5x10s = 50s

1 « J'aime »

Michel à fait une belle doc très claire, n’hésitez pas à bien la lire: https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

Mais à la relecture de tes messages précédents, j’ai l’impression que tu es encore en stable, la version de @Bebel27, donc sur cette dernière effectivement tu n’avais pas cette possibilité, pas plus que les lectures par plages.

1 « J'aime »

Ok. Bien.
Oui, je suis sur une ancienne version stable.
Donc oui, c’est cool mais peut-être pas top pour l’organisation. A savoir quelle valeur est actualisée tout les autant de temps et la gestion de la latence système.
Car dans tout les cas, il y aura une limitation système, a savoir le taux d’écriture même si c’est en ram.
Mais cela reste de très belle évolution pour une prise en charge plus complète.
A voir lors de mon évolution.
Merci pour ces explications.

Je ne comprends pas cette phrase… tu veux bien reformuler, juste pour moi STP ?

Bonjour à tous,

La mise à jour de la beta est mise en ligne par @Bebel27 (le 27/03/2023 à 8h57)
ATTENTION : Faites bien attention à la date du plugin sur le market !!

Rappel : c’est une version beta. Elle a beau être de plus en plus fonctionnelle, les nouvelles fonctionnalités peuvent éventuellement poser problème. En cas de soucis, veuillez faire un post dédié en indiquant #plugin-mymodbus et en me tagant pour être sûr que je ne passe pas à coté.

La documentation est à jour sauf la partie commande action.
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

27/03/2023 V2.0 beta9

  • Passer le niveau de log à la volée en cas de changement sans redémarrer le démon
  • Passer les modifications de configuration à la volée lors de la sauvegarde sans redémarrer le démon
  • Meilleure gestion de la communication entre le démon et les process PyModbusClient
  • Meilleure gestion des arrêts des process
  • La valeur des commandes action peut être configurée comme dans le plugin Virtuel
  • Seuls les équipement utilisant le protocole de connexion « serial » ne peuvent utiliser la même interface.
    Les équipements en TCP ou UDP peuvent communiquer avec la même adresse IP, ça ne veut pas dire qu’ils le doivent.

→ Mise à jour à faire si vous êtes en beta6 ou en beta7

IMPORTANT : il faut mettre le paramètre « Temps entre la connexion et la première requête » à 0 si vous n’en avez pas besoin

… sans quoi le démon pourrait faire une erreur

J’ajouterai les nouvelles fonctionnalités qui permettent une utilisation plus « user friendly » dès que je ne devrai plus consacrer mon temps à la correction de l’existant.

La todo liste diminue :slight_smile:

Je reste bien sûr dispo en cas de question ou remarque.

A+
Michel

1 « J'aime »

Pour info, la dernière bêta permet les doublons en TCP et UDP.

Bonjour,

Mon Jeedom utilisait la version Beta de MyModbus depuis plusieurs années pour gerer 2 modules Crouzet EM4.
Avec les dernieres modif du plugin ca ne fonctionne plus. J’ai esssayé des mises a jours avec la version stable et beta. Impossible de relancer le Demon (et les dependances non plus).

Je suis pas expert dans ce domaine et je ne sais plus vraiment ou en est ma config.
Si vous des idées pour remettre tout ca sur les rails SVP. Dites moi si vous avez besoin de logs ou autres ?

Merci,
P.

Bonjour, @gratin

Pour ma part je suis passé de l’ancienne bêta à la nouvelle stable (2023-03-12) sans problème sur mon Jeedom de prod (RPI).
Si tu as des sauvegardes essaye de repartir de là.

bonne journée.

Salut @gratin,

fais un nouveau post avec des captures de ta config STP (si tu veux passer à la nouvelle bêta)
Tu peux me tager pour que je reçoive une notification.

Bonjour à tous,

La mise à jour de la beta est mise en ligne par @Bebel27
ATTENTION : Faites bien attention à la date du plugin sur le market !!

Rappel : c’est une version beta. Elle a beau être de plus en plus fonctionnelle, les nouvelles fonctionnalités peuvent éventuellement poser problème. En cas de soucis, veuillez faire un post dédié en indiquant #plugin-mymodbus et en me taguant pour être sûr que je ne passe pas à coté.

La documentation est à jour.
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

28/03/2023 (0:08) V2.0 beta10

  • Correction de l’erreur lors de l’écriture d’un binaire (merci à @ngm47)
  • La pause suite à une commande action est cumulable avec l’écriture de la valeur d’une expression

→ Mise à jour à faire si vous êtes en beta6, 7, 8 ou 9

IMPORTANT : il faut mettre le paramètre « Temps entre la connexion et la première requête » à 0 si vous n’en avez pas besoin

… sans quoi le démon pourrait faire une erreur

J’ajouterai les nouvelles fonctionnalités qui permettent une utilisation plus « user friendly » dès que je ne devrai plus consacrer mon temps à la correction de l’existant.

La todo liste n’a pas diminué, grosse journée aujourd’hui, je n’ai plus de jus…

Je reste bien sûr dispo en cas de question ou remarque.

A+
Michel

Bonjour,

Moi aussi je viens de passer sur la nouvelle béta et je n’arrive pas non plus a trouver un fonctionnement normal. Je pense que j’ai une erreur dès la connexion. Sur l’ancienne version j’étais en mode tcpip.
donc je configure en mode tcp mais par exemple il y avait une case Unit ID qui n’existe plus. Est ce qu’il faut configurer ceci ailleurs ?

Salut @pilou226,

Oui, ce unit ID a été mal interprété par pymodbus (dans la norme Modbus) et correspondait à l’adresse esclave. Le paramètre s’est longtemps appelé unit mais s’appelle maintenant slave, ce qui est plus juste.
Comme ce paramètre peut être précisé dans les requêtes de lecture ou d’écriture, il se retrouve donc dans les commandes sous « adresse esclave ».