Le plugin Modbus est cassé depuis pymodbus 3.4

[J’ai tenté une demande de support depuis la Luna mais je crois que ça a échoué à cause d’un problème réseau. Je tente en direct. Désolé si doublon.]

Bonjour.

Nous avons acheté le plugin Modbus. Je pense qu’il s’est bien installé (version 2023-07-31 14:53:57). Lors du lancement, j’ai l’erreur suivante :

[2024-01-12 12:15:10][ERROR] : Impossible de lancer le démon, vérifiez le log
[2024-01-12 12:20:04][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
Traceback (most recent call last):
  File "/var/www/html/plugins/modbus/resources/modbusd/modbusd.py", line 33, in <module>
    from pymodbus.constants import Defaults
ImportError: cannot import name 'Defaults' from 'pymodbus.constants' (/usr/local/lib/python3.9/dist-packages/pymodbus/constants.py)

En effet, pymodbus.constants.Defaults n’existe plus depuis pymodbus 3.4 (juillet 2023).

Une fois connecté en ssh, si je pip install pymodbus==3.3.2, le problème est résolu (forcément).

Je trouve curieux que la dernière version du plugin ModBus ne fonctionne pas avec pymodbus>=3.4 alors qu’elle est sortie une dizaine de jours après. Mais si j’ai bien compris le problème, il faudrait publier une nouvelle version du plugin compatible avec pymodbus>=3.4 et si ce n’est pas immédiat, en attendant, une version patch qui restreigne pymodbus<3.4.

Bonjour et bienvenue,

Vous n’êtes pas sur le site de support mais sur le site communautaire; vous n’aurrez donc pas de « support » (dans le sens support officiel de jeedom) ici mais de l’aide d’autres utilisateurs de la communauté.

OK. Mon intention était principalement de faire un rapport de bogue. Je crois que c’est vous le développeur de ce plugin, donc je vais considérer que j’ai accompli mon objectif.

Non je ne suis pas le développeur de « ce plugin », vous n’avez manifestement pas lu mon message précédent: je suis un utilisateur de jeedom et je ne fait pas partie de l’équipe jeedom.

D’ailleurs on ne sait même pas de quel plugin vous parlez, ajoutez l’étiquette de celui-ci sur le post.

J’ai lu votre message, ne soyez pas désagréable.

Je parle du plugin Modbus, c’est écrit dans le titre de mon message, dans le corps du message et en cas de doute c’est confirmé par le chemin sur le système de fichiers :

/var/www/html/plugins/modbus/

Je n’ai pas trouvé comment ajouter l’étiquette.

Effectivement, je me suis trompé, ce n’est pas vous le développeur. J’ai confondu avec d’autres plugins que nous avons acheté en même temps (ModBus2MQTT et InfluxDB). Celui-ci est un plugin dit « Officiel ».

Si je ne me suis pas trompé dans le diagnostic, je n’attends pas véritablement de support, j’ai contourné localement le problème en downgradant pymodbus. Je souhaite simplement faire un rapport de bogue pour que le plugin soit mis à jour.

Je n’ai pas trouvé de dépôt GitHub pour le plugin donc faute de pouvoir ouvrir une « issue » (voire tenter de modifier le code pour proposer une PR), j’ai envoyé un message ici en catégorie bug. Si ce n’est pas la bonne façon de procéder, merci de me l’indiquer.

Mon message au support était bien envoyé. J’ai eu la réponse suivante.

Nous venons de modifier la version de pymobus sur la stable, pour fixer la version de pymodbus a 3.2.2, version fonctionnelle originalement

La mise a jour devrait apparaître rapidement sur le market

Les prochains à installer le plugin ne devraient donc pas être impactés. Pour ceux qui ont déjà le problème, se connecter en SSH et forcer la version avec pip (voir mon premier message).

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