Mymodbus quoi de neuf?

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 »

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

10/05/2023 V2.0 beta20

  • Correction des logs des écritures en mode bi-maître
  • Ajout de la commande info liée aux commandes action
  • Ajout du bouton de création de commande en fin de tableau

Remarque:
Le mode bi-maître n’est vraiment pas facile à gérer, j’ai fait mon possible pour rendre MyModbus compatible à ce mode très particulier mais ne suis pas vraiment satisfait du résultat.

@loustic03 @fbpi2 @Aldarande @hitaki (qui d’autre a une chaudière De Dietrich Diematic en Modbus ?)
Si vous pouviez tester cette version, surtout les logs debug des écritures, et me faire un retour, ce serait sympa de votre part.

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

Merci à tous pour votre patience et pour la remontée des erreurs.

A+
Michel

Bonsoir Michel , je viens de créer une commande pour modifier la consigne Jour A et ça ne fonctionne pas :sweat_smile:

[2023-05-10 22:35:35]INFO : Serial lost connection.
[2023-05-10 22:35:35]DEBUG : Client disconnected from modbus server: trying to send
[2023-05-10 22:35:35]DEBUG : Getting transaction 0
[2023-05-10 22:35:35]INFO : Serial lost connection.
[2023-05-10 22:35:35]DEBUG : Client disconnected from modbus server: None
[2023-05-10 22:35:37]DEBUG : deamon_info = {"state":"ok","launchable":"ok"}
[2023-05-10 22:35:38]DEBUG : **************** execute *****: {"slider":"18","user_login":"admin","user_id":"1"}
[2023-05-10 22:35:38]DEBUG : mymodbusd: Received message: {'CMD': 'write', 'write_cmd': {'eqId': '54', 'cmdWriteValue': '', 'cmdId': '789'}, 'apikey': 'X2Ie6H4CmS6i5wLJvn2mALIpMjuYIBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAWObd', 'dt': '2023-05-10T22:35:38+02:00'}
[2023-05-10 22:35:38]INFO : mymodbusd: Command 'write' received from jeedom: sending the command to the daemon
[2023-05-10 22:35:41]DEBUG : PyModbusClient: *test écriture* --eqSerialBiMaster-- write in while loop (command id 789) / retry = 50
[2023-05-10 22:35:41]DEBUG : PyModbusClient: *test écriture* check_queue - daemon_cmd: {"write_cmd": {"eqId": "54", "cmdWriteValue": "", "cmdId": "789"}}
[2023-05-10 22:35:41]DEBUG : PyModbusClient: *test écriture* connect called
[2023-05-10 22:35:41]DEBUG : PyModbusClient: *test écriture* connecting...
[2023-05-10 22:35:41]DEBUG : Starting serial connection
[2023-05-10 22:35:41]DEBUG : Client connected to modbus server
[2023-05-10 22:35:41]INFO : Serial connected.
[2023-05-10 22:35:41]INFO : Connected to /dev/ttyUSB0
[2023-05-10 22:35:41]DEBUG : send: 0x0 0x5 0x0 0xe 0xff 0x0 0xec 0x28
[2023-05-10 22:35:41]DEBUG : Adding transaction 0
[2023-05-10 22:35:42]DEBUG : recv: 0x16 0x3 0x0 0x65
[2023-05-10 22:35:42]DEBUG : Frame - [b'\x16\x03\x00e'] not ready
[2023-05-10 22:35:42]DEBUG : recv: 0x0 0x1 0x97 0x32 0x0
[2023-05-10 22:35:42]DEBUG : Frame check failed, ignoring!!
[2023-05-10 22:35:42]DEBUG : Resetting frame - Current Frame in buffer - 0x16 0x3 0x0 0x65 0x0 0x1 0x97 0x32 0x0
[2023-05-10 22:35:42]DEBUG : deamon_info = {"state":"ok","launchable":"ok"}
[2023-05-10 22:35:42]DEBUG : recv: 0x17 0x3 0x0
[2023-05-10 22:35:42]DEBUG : Frame - [b'\x17\x03\x00'] not ready
[2023-05-10 22:35:42]DEBUG : recv: 0x65 0x0 0x1 0x96 0xe3 0x0
[2023-05-10 22:35:42]DEBUG : Frame check failed, ignoring!!
[2023-05-10 22:35:42]DEBUG : Resetting frame - Current Frame in buffer - 0x17 0x3 0x0 0x65 0x0 0x1 0x96 0xe3 0x0
[2023-05-10 22:35:44]INFO : Serial lost connection.
[2023-05-10 22:35:44]DEBUG : Client disconnected from modbus server: trying to send
[2023-05-10 22:35:44]DEBUG : Getting transaction 0
[2023-05-10 22:35:44]INFO : Serial lost connection.
[2023-05-10 22:35:44]DEBUG : Client disconnected from modbus server: None
1 « J'aime »

Bonsoir,

JE viens de faire le test est j’ai cette erreur dans le cas de l’écriture :

[2023-05-10 22:41:56][DEBUG] : **************** execute *****: {« slider »:200,« user_login »:« ANTHI »,« user_id »:« 2 »}
[2023-05-10 22:41:56][DEBUG] : mymodbusd: Received message: {‹ CMD ›: ‹ write ›, ‹ write_cmd ›: {‹ eqId ›: ‹ 537 ›, ‹ cmdWriteValue ›: ‹  ›, ‹ cmdId ›: ‹ 7157 ›}, ‹ apikey ›: ‹ **** ›, ‹ dt ›: ‹ 2023-05-10T22:41:56+02:00 ›}
[2023-05-10 22:41:56][INFO] : mymodbusd: Command ‹ write › received from jeedom: sending the command to the daemon
[2023-05-10 22:41:59][INFO] : Serial lost connection.

Salut @Michel_F, je suppose que tu as lu ce sujet pour de dietrich bi maitre [TUTO] - Domotiser une chaudière De Dietrich type DGT130 avec le plugin MyModbus

La suite là :

Bonjour,
Simple retour pour signaler que la dernière beta est venue remplacer une ancienne version de @Bebel27 (Merci !) qui tournait bien depuis début d’année mais elle sollicitait pas mal la charge CPU.
La version (beta20) s’est très bien installée et tourne à merveille; ci-dessous ma config>>

. Les fonctionnalités apportés sont au top & la charge CPU est franchement tombé !
Un grand Bravo @Michel_F pour cette refonte du plugin. :hugs:

2 « J'aime »

Merci pour ton retour @Dadou

Je pense que le gros plus, c’est les plages de lecture

Salut,

je me permets de vous informer qu’a priori il y aurait un problème avec la dernière version du module python utilisé pour la communication Modbus : pymodbus.

→ Ne lancez pas de réinstallation des dépendances sur la version bêta du Plugin MyModbus avant nouvel ordre. Les nouvelles installations du plugin seront également concernées.

Je vous tiens informés dès que j’en sais plus.

A+
Michel

Avant hier j’ai voulu passer mon Jeedom de prod sur la dernière bêta de mymodbus. J’étais en stable avec l’ancienne version mais j’avais installé il y a un bon moment là bêta sur une VM de test. Impossible de le faire fonctionner, il n’arrivait même pas à se connecter sur le matériel de ce que j’ai vu dans les logs. Du coup j’ai fait un rollback de ma VM de prod sans trop comprendre pourquoi ça marchait sur ma VM de test et pas de prod.

J’ai donc, à première vue l’explication ! :sweat_smile:

Merci pour l’info :relaxed:

2 « 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

06/06/2023 V2.0 beta21

  • Forçage de la version pymodbus 3.2.2 pour éviter des erreurs avant de trouver une meilleure solution

Remarque:

  • A partir de la version 3.3.0, pymodbus est géré un peu autrement, MyModbus devrait être adapté pour être fonctionnel, mais en ce moment, je n’ai pas le temps. Ca viendra…
  • Cette version est fonctionnelle chez moi, mais pas chez @Xst et je ne sais pas pourquoi…

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

Merci à tous pour votre patience et pour la remontée des erreurs.

A+
Michel

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.