Mymodbus quoi de neuf?

Le démon est le seul process qui soit lancé par jeedom. Les autres process sont des forks contenant une instance de PyModbusClient avec la config d’un équipement. Pour un process python, le fait de se forker est indiqué comme ça dans la liste des process, mais en réalité, c’est même pas un objet de ce script-là, mais de mymodbus.py (sans D).
Pas facile à expliquer comme ça, à l’oral et en montrant les bouts de code, ce serait plus facile…

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 n’est pas encore à jour, mais ça vient…
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

07/04/2023 V2.0 beta14

  • Les reconnexions automatiques de pymodbus sont désactivées. Les (re)connexions sont gérées par le démon (merci à @thomaspascal)
  • En cas de sauvegarde de la configuration, le démon se déconnecte avant de prendre la nouvelle configuration en compte (merci à @thomaspascal)
  • Maintien de l’ordre des commandes lors de la sauvegarde qui rajoute les commandes spéciales (merci à @thomaspascal)
  • Correction de l’erreur lors de la duplication d’un équipement (merci à @Noyax37)
  • Suppression des paramètres de configuration utilisés dans l’ancienne version (et donc le retour en version stable est rendu impossible sans restaurer un backup ou resaisir les configurations)

→ Mise à jour à faire si vous êtes en beta12 ou 13

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

Merci à tous pour votre patience et pour la remontée des erreurs :heart: :heart:
→ on va avoir un super plugin grâce à vous

A+
Michel

Depuis la beta12, il y a cette fonctionnalité : les valeurs ne sont pas remontées vers Jeedom s’il n’y a pas de changement.

→ Est-ce que vous pensez que c’est une bonne chose ? Ca doit rester ? Ca doit être paramétrable ? Par équipement ou par commande ?

Hello,

Ça fait pas un peu doublon avec la fonctionnalité « répéter les valeurs identiques oui/non » de Jeedom ?

bien vu !
Je vais utiliser ça pour la config, donc si la répétition n’est pas activée (comportement par défaut) le démon ne remonte pas les valeurs.

Merci @Bison !

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 n’est pas encore à jour depuis la beta12 (configuration du mode de rafraichissement), mais ça vient…
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

09/04/2023 V2.0 beta15

  • Amélioration de la saisie des commandes an désélectionnant les options invisibles (merci à @Noyax37)
  • Remontée de la valeur lue vers Jeedom par le démon si la commande est configurée avec « Répéter les valeurs identiques » à « Oui » (merci à @Bison pour l’astuce)
  • Meilleure gestion des exceptions
  • Ajout du nom de l’équipement dans les logs du démon (là où c’est possible)

edit : il y aura une version dans la nuit du 09/04/2023 au 10/04/2023 : c’est juste une toute petite correction sur le log lors de l’exécution d’une commande action.

→ Cette version n’ajoute pas de nouvelles fonctionnalités, mais la configuration des commandes du plugin est plus « user friendly »

Si vous constatez un cas qui n’est pas géré correctement dans la configuration des commandes, merci de me le signaler

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

Merci à tous pour votre patience et pour la remontée des erreurs :heart: :heart:
→ on va avoir un super plugin grâce à vous

A+
Michel

4 « J'aime »

Encore merci à @Michel_F qui est toujours dispo pour nous dépatouiller :blush:.

2 « J'aime »

+1

Efficacité redoutable, tant coté dev que côté support.
Sans compter la qualité des écrits.
Ca fait franchement plaisir :+1:

1 « J'aime »

Bonjour à tous,

La mise à jour de la beta est mise en ligne automatiquement ou 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 n’est pas encore à jour depuis la beta12 (configuration du mode de rafraichissement), mais ça vient…
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

13/04/2023 V2.0 beta17

  • Pour les commandes binaires depuis une plage de registres, les plages numériques en source sont possibles mais un filtre doit être spécifié (merci à @Noyax37)

Si vous constatez un cas qui n’est pas géré correctement dans la configuration des commandes, merci de me le signaler

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

Merci à tous pour votre patience et pour la remontée des erreurs
→ on va avoir un super plugin grâce à vous

Et un très grand merci pour vos messages, ça fait vraiment plaisir :heart: :heart:

A+
Michel

2 « J'aime »

Bonjour à tous,
Je me suis remis à tester ce plugin, en espérant que les changements au long des betas me permettront (enfin) d’écrire sur ma chaudière Okofen.
Actuellement, j’arrive très bien à lire sur les différents registres avec la dernière version beta.
Mon problème reste celui d’un écriture, comme sur la version « originale » du plugin.

En effet, pour une raison que j’ai toujours du mal a comprendre, l’écriture en utilisant ModBus Doctor fonctionne bien (Mot 16 bits, valeur sur l’octet 1), mais pas en utilisant le plugin. J’imagine qu’il y a peut être une question d’ordre des octets.

Si quelqu’un a une idée, ou si je peux fournir d’autres infos…

Bonne journée, et encore merci pour la reprise du taf sur ce chouette plugin !

Salut @Thoto,

je te suggère de faire un post dédié (tu peux me taguer) et d’y déposer la documentation de ta chaudière avec le registre que tu aimerais écrire.
Une capture de la configuration de l’écriture sous Modbus Doctor serait bienvenue également.
Un maximum d’info sur tes essais.

Tu as essayé les différentes combinaisons d’inversion ?

:heart:

A+
Michel

Bonjour à tous,

La mise à jour de la beta est mise en ligne automatiquement ou 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 n’est pas encore à jour depuis la beta12 (configuration du mode de rafraichissement), mais ça vient…
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

05/05/2023 V2.0 beta18

  • Prise en charge des commandes action avec une liste
  • Première tentative du mode bi-maître spécifique aux chaudières De Dietrich Diematic
  • Affichage de la configuration de l’endianess pour les commandes actions (merci à @thomaspascal)
  • Indentation du code de tout le plugin avec 2 espaces au lieu de 4

@loustic03 @fbpi2 @Aldarande @hitaki
Je crois savoir que vous pourriez être intéressés par la compatibilité de n’importe quel plugin capable de faire du Modbus et qui gère le mode bi-maître. Si vous pouviez tester cette version et me faire un retour ou me permettre de tester avec vous, contactez-moi en MP.

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

Merci à tous pour votre patience et pour la remontée des erreurs
→ on va avoir un super plugin grâce à vous

A+
Michel

2 « J'aime »

Salut à Tous !!

Je commence à utiliser JeeDom depuis mtn 2 semaines et je tenais deja à vous remercier pour etre si actifs et aidant. Ca fait plaisir de voir une communauté si forte, et il faut avouer que c’est meme carrément indispensable !!

Je suis sur un rpi 3b et j’utilise MyModbus pour me connecter à un WAGO PFC200

Tout vas bien mais lorsque je met le polling à 1, quelques minutes plus tards le jeedom crash.
J’arrive à le ping mais impossible de me connecter en SSH ni d’acceder au Dashboard
(l’utilisation de &rescue=1 me donne juste accès à un dashboard vide)

Je suis a chaque fois obligé d’aller brancher le jeedom à un ecran clavier, de relancer l’installation et de restaurer une ancienne sauvegarde.

Depuis je met le polling à 10 mais c’est long :frowning:

J’aimerai vous transmettre les logs, mais je restaure le jeedom donc je ne les ai pas.

C’est ma premiere fois sur le forum donc merci a ceux qui m’aideront, notament sur ce qui manque dans ma réponse qui peut vous aider !!

Merci beaucoup

JeeU

Salut @JeeUser,

je te suggère de :

  • créer un post dédié et ce afin que ce post soit lisible et uniquement dédié aux évolutions du plugin
  • d’y mettre le tag #plugin-mymodbus
  • de mettre les logs (une fois la machine restaurée)
  • de préciser si tu utilises la version stable ou bêta du plugin
  • de poster des captures de la configuration
  • de donner des détails sur l’infrastructure réseau (filaire, 100M, 1GB, wifi, …)

A+
Michel

Okay @Michel_F je vais le faire mardi prochain après quelques tests pour verifier que c’etait bien ca le problème.

J’aimerai te suggérer une feature pour le plug in, est ce que ca serait envisageable d’exporter une configuration en json et d’en importer as well.

Le plugin ModBus officiel le propose et, vu le temps qui est nécessaire pour la configuration d’un équipement modbus, je pense que ca serait pertinent.

Qu’en penses-tu ?

@+
-JeeU

C’est dans la todo liste au début du changelog depuis que j’ai réécrit le plugin :wink:
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/changelog_b

1 « J'aime »

Ah super !! Merci de l’info :slight_smile:

Bonjour à tous,

La mise à jour de la beta est mise en ligne automatiquement ou 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 n’est pas encore à jour depuis la beta12 (configuration du mode de rafraichissement), mais ça vient…
https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

06/05/2023 V2.0 beta19

  • Deuxième tentative du mode bi-maître spécifique aux chaudières De Dietrich Diematic (merci à @loustic03 de m’avoir laissé autant de temps pour tester chez lui)

@loustic03 @fbpi2 @Aldarande @hitaki
Si vous pouviez tester cette version et me faire un retour, ce serait sympa de votre part.
→ Je n’ai pas testé les écritures.

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

Merci à tous pour votre patience et pour la remontée des erreurs
→ on va avoir un super plugin grâce à vous

A+
Michel

Bonjour,

Donc je viens de tester la lecture est cela semble marcher en Bi-Maitre.
Par contre, l’écriture ne foncitoone pas.
Voici ce que j’ai lors de l’écriture :

[2023-05-07 22:58:20][DEBUG] : PyModbusClient: De Dietrich write_request {‹ last_value ›: None, ‹ name ›: ‹ Modif Consigne Jour ›, ‹ type ›: ‹ action ›, ‹ slave ›: 10, ‹ fct_modbus ›: ‹ 6 ›, ‹ data_type ›: ‹ int16 ›, ‹ addr ›: 14, ‹ byteorder ›: ‹ > ›, ‹ wordorder ›: ‹ > ›, ‹ repeat ›: False}
[2023-05-07 22:58:20][DEBUG] : [180]
Process De Dietrich:
Traceback (most recent call last):
File « /var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/multiprocessing/process.py », line 315, in _bootstrap
self.run()
File « /var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/multiprocessing/process.py », line 108, in run
self._target(*self._args, **self._kwargs)
File « /var/www/html/plugins/mymodbus/ressources/mymodbusd/mymodbus.py », line 339, in run
self.loop.run_until_complete(self.run_cyclic())
File « /var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/asyncio/base_events.py », line 647, in run_until_complete
return future.result()
File « /var/www/html/plugins/mymodbus/ressources/mymodbusd/mymodbus.py », line 400, in run_cyclic
await self.read_all()
File « /var/www/html/plugins/mymodbus/ressources/mymodbusd/mymodbus.py », line 678, in read_all
await self.execute_write_requests(False, self.connected)
File « /var/www/html/plugins/mymodbus/ressources/mymodbusd/mymodbus.py », line 819, in execute_write_requests
logging.debug('PyModbusClient: ’ + self.eqConfig[‹ name ›] + ’ --eqSerialBiMaster-- read in while loop (command id ’ + cmd_id + ') / retry = ’ + str(retry))
NameError: name ‹ cmd_id › is not defined

Autre point : pour les commandes « action », afin d’afficher la valeur actuelle, il doit être possible de le lier à une action « Info ».
Voici ce que j’avais dans les autres plugin :

Merci,

Aldarande

Salut Aldarande,

merci pour ce retour. Tu peux faire un nouveau post STP ?
Tu peux essayer de remplacer cmd_id par write_cmd['cmdId'] dans la fonction execute_write_requests() pour voir si c’est juste une erreur de copier-coller (je te demande ça parce que je vois que tu as le statut développeur et que donc tu es sans doute capable de faire cette modif sinon, je ferai de toute façon la modif de mon coté, mais comme je ne peux pas vraiment tester puisque je n’ai pas cette chaudière-là…)

Ce serait bien que tu expliques aussi dans ce nouveau post ce qu’apporte le fait de lier une lecture à une écriture, juste pour que je comprenne. Quelles sont les fonctions, le but, …

De quels autres plugins parles-tu ?

1 « J'aime »