Mymodbus quoi de neuf?

En effet, je pense que MyModbus est pas mal utilisé. Cependant à partir du moment où l’interpréteur est python, que ce soit python 3.7 ou 3.9, la réactivité est la même. Le module pymodbus a besoin d’au moins python3.8, là est LE point critique.

Je ne peux pas imposer une mise à jour du système complet juste pour un plugin. Ca fonctionne à 50% pour le moment, il ne reste plus que 50 autres %.
→ On avance !

Je me permets d’ajouter un message à ce groupe, car j’ai depuis peu installé MyModbus sur ma machine, la version en cours de finalisation de Michel, qui l’a adaptée pour fonctionner correctement avec les onduleurs solaire Solaredge (et d’une façon générale ceux utilisant SunSpec).
Mon système est maintenant pleinement fonctionnel, je n’utilise plus l’API de Solaredge, je récupère toutes les informations de mes 3 onduleurs, de mes 3 batteries et de mon compteur Solaredge. Cerise sur le gâteau, je peux piloter mes onduleurs et adapter la politique d’utilisation du stockage (suivant les termes de Solaredge) et changer à mon gré en fonction de mes propres paramètres d’autoconsommation, à l’arrêt des batteries, voir du chargement des batteries depuis l’AC (juste avant le passage à une période en HP rouge de Tempo dans mon cas).
Si d’autres utilisateurs venaient à être intéressés de se débarrasser de l’API, sachez que cela fonctionne bien mieux en Modbus sur TCP et l’on devient en plus indépendant des serveurs de Solaredge.

2 « J'aime »

Salut tout le monde,

j’ai pu résoudre les problèmes que j’avais, ça s’installe bien, ça fonctionne (sous debian 10 et 11) et ça ne génère plus de warning ou d’erreurs. C’est stable, rapide et franchement bien fait ! (je me permets…)

La documentation est faite.

Tout ça pour une version beta, je me suis pas foutu de vous !
Bien sûr ce n’est pas encore parfait, on a dit beta quand même…

Il n’y a pas encore la gestion de l’import / export des configurations, mais comme c’est indépendant du fonctionnement, je me laisse ça pour plus tard.

Bref, je ne suis pas le mainteneur du #plugin-mymodbus donc je ne peux pas pousser la version dev en beta. @Bebel27 à toi de jouer :wink:

A+
Michel

Salut @Michel_F , l’installation de cette béta imposera t’elle une reprise quelconque sur les équipements existants?

++

Salut @Noyax37
Oui, mais, dans la mesure du possible, le plugin reprend la configuration existante. Le seul problème que j’ai eu, c’est si plusieurs équipements MyModbus sont définis, comme on ne peut que éditer un équipement après l’autre, ça se passe pas super bien… Avec un seul, pas de soucis.
Il est bien évidemment conseillé de vérifier la configuration (captures de l’ancienne config avant de migrer pour être sûr)

Ce point est précisé dans la doc (mais pas le problème quand on a plusieurs équipements, maintenant que j’y pense)

1 « J'aime »

Merci pour ta réponse, je vais supprimer les équipements inutiles et ne garder que celui qui me sert réellement

Bonsoir @tous

Je viens de pousser la derniére bêta qui tournait chez moi en version stable .
Donc pour tous ceux qui tournaient en bêta vous pouvez passer sur la version stable .

L’objectif est de pousser la nouvelle refonte du plugin sur la version bêta .

je vous rappelle aussi , de ne pas vous jeter sur l’icône mise à jour dès qu’il apparait , si tout fonctionne bien et que vous n’envisagez pas de mise à jour récente de votre Jeedom ou de faire des tests , alors ne touchez à rien :innocent:
Prochaine étape , passage de la version dev en beta , vendredi 10/03 :partying_face:

Edit , je viens de passer mon Jeedom de prod sur la version stable de Mymodbus (2023-03-08 20:54:59) et je confirme que c’est bien opérationnel .

1 « J'aime »

Bonjour à tous,

Message important pour la migration vers la nouvelle version.

J’ai écrit une documentation assez complète Bebel27 vous dira où elle se trouve.

Je ne sais pas du tout si le plugin est compatible docker et j’ai très honnêtement de gros doutes…

Durant l’installation des dépendances, il est conseillé de désactiver la gestion automatique du démon par Jeedom pour éviter que le démon ne démarre. Normalement c’est géré par le core de Jeedom, mais ça ne fait pas de mal…

A la fin de l’installation des dépendances, vous pouvez vérifier/adapter la configuration. Suivez la documentation.
Je précise que les calculs pour pouvoir lire des valeurs négatives sont inutiles avec la nouvelle version, il faut utiliser le type int (integer = entier) et pas uint (usigned integer = entier non-signé).

Si vous n’avez qu’un équipement MyModbus, pas de gros problème en vue.

Si vous avez plusieurs équipements MyModbus, le plus simple est de les désactiver tous avant de lancer la mise à jour et de les configurer et les activer l’un après l’autre une fois la mise à jour terminée.

Je vais être aussi réactif que possible ce week-end (mais bon, on a des invités alors soyez indulgents…) et ces prochains temps en cas de problème, mais si vous avez suivi ces instructions, ça devrait bien se passer.

A+
Michel

Bonsoir à tous ,

La mise à jour de la bêta est disponible merci @Michel_F .

Bien suivre les recommandations de Michel citées ci dessus .

autres conseils , veuillez arrêter le démon avant la mise à jour ( normalement c’est fait automatiquement par Jeedom) , pour se faire vous pouvez désactiver tous vos équipements dans le plugin ou désactiver la gestion automatique du demon et l’icône stop apparaitra.
Ne pas oublier de remettre en service la gestion après la mise à jour .

Il est fortement conseillé de faire une capture d’ écran de votre configuration.

Pour ceux à qui j’ai fais des modifications directement sur leurs systéme , merci de me contacter en MP.

je vais me répéter , mais vous jetez pas sur l’icône mise à jour dès qu’il apparait , si tout fonctionne bien et que vous n’envisagez pas de mise à jour récente de votre Jeedom ou de faire des tests , alors ne touchez à rien :innocent:

La documentation est disponible ici :

https://bebel27a.github.io/jeedom-mymobdus.github.io/fr_FR/index_b

Bonne migration

N’hésitez pas à nous donner un petit retour, surtout si tout s’est bien passé :slight_smile:

Bonsoir @Bebel27 et @Michel_F,

Tout d’abord un grand merci pour le boulot consacré à ce plugin incontournable ! Et j’inclus la qualité de la documentation (à souligner car c’est de plus en plus rare).

J’utilise le plugin initial avec des équipements Victron dont un CerboGX. L’ensemble fonctionne parfaitement, à une exception près : j’ai régulièrement une surconsommation cpu proche de 100% malgré une bécane musclée.

Je viens de finir ma migration Zwave-js, je vais donc pouvoir m’atteler à MyModbus très vite. Je verrai si ce souci disparaît où pas.

Comptez-sur moi pour poster un retour ici.
Encore merci pour tout !

@+

2 « J'aime »

Bonjour,

Merci également pour le boulot sur ce plugin… qui m’est vite devenu indispensable !

bon pour ma part, je crois que j’ai été beaucoup trop vite. Avant de voir la doc (oui je sais, pas taper, c’est trop tard, le mal est fait), j’ai mis à jour la beta.

Elle ne démarre plus en se plaignant d’avoir besoin de python 3.8 mini. Je passe un script tout fait qui me monte python en 3.9.7 (il a fallu une petite demie-heure avec Ultimate Python on Raspberry PI, Ubuntu installation script)

Impossible de relancer les dépendances du plugin.

OpenZwave planté (j’ai commencé à me pencher sur cette migration aussi, qui coince pour quelques Fibaro au passage), j’ai refait pointer python sur python 2.7 pour résoudre ce problème.

toujours impossible de relancer les dépendances et encore moins le démon.

Je suis repassé en version stable ==> même topo

Mymodbus_packages :

+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_mymodbus
+ echo 1
+ echo 2
+ sudo chmod +x /var/www/html/core/class/../../plugins/mymodbus/ressources/post-install.sh
+ sudo /var/www/html/core/class/../../plugins/mymodbus/ressources/post-install.sh
sudo: unable to execute /var/www/html/core/class/../../plugins/mymodbus/ressources/post-install.sh: No such file or directory
+ echo 3
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end mymodbus
+ rm /tmp/jeedom_install_in_progress_mymodbus
+ echo '*******************End of package installation******************'
*******************End of package installation******************

mymodbus :

[2023-03-11 21:05:05]INFO : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py --host=192.168.12.201 --port=502 --unid=1 --polling=5 --keepopen=0 --protocol=tcpip --eqid=282 --coils=8192,8195,1
Traceback (most recent call last):
File "/var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py", line 20, in 
from pymodbus.constants import Endian
ModuleNotFoundError: No module named 'pymodbus'

Jeedom à jour, RPi 4
Linux xxx.xxxx.xx 5.10.52-v7l+ #1440 SMP Tue Jul 27 09:55:21 BST 2021 armv7l GNU/Linux

Merci pour vos avis !

Je crois que j’ai compris le probléme !
Il reste les fichiers d’installation de la version bêta .
Pour repasser en stable:
supprime le fichier mymodbus\plugin_info\packages.json et relance les dépendances s’il te plait.

Salut,

il faudrait créer un post dédié, je pense.

La nouvelle mouture installe sa propre version de python dans le répertoire plugins/mymodbus/ressources/_pyenv et l’utilise. Je ne comprends pas pourquoi ça n’a pas marché chez toi…

Désactive les équipements MyModbus, supprime le répertoire plugins/mymodbus/ressources/_pyenv et relance l’installation de dépendances avec la nouvelle version.
Pour éviter les phénomens bizarres, il faudrait supprimer l’ancienne version… je vérifie ça.

Ok merci pour votre réactivité je fais ça de suite :wink:

1ère chose à faire : créer un post dédié et choisir si tu passes sur la nouvelle mouture ou pas

post dédié : voilà qui est fait :wink:

Salut à tous,

Comme convenu un retour de la migration qui s’est bien déroulée :+1:

Pour ceux qui vont se lancer, je précise les étapes :
(basées sur la doc et les rappels des auteurs du plugin)

  • Sauvegarde Jeedom
  • Photos des paramétrages de l’équipement (onglets commandes et équipement)
  • Arrêt du démon / passage en manuel
  • Désactivation de mon équipement modbus
  • Installation du plugin
  • Installation des dépendances.
  • Vérification/ajustement des paramètre de mon équipement (les registres)
  • Réactivation de mon équipement (cela va lancer le démon).
  • Vérifications, puis réactivation de la gestion auto du démon.

Charge système (1mn, 5mn, 15mn)
Les soucis de surcharge avec l’ancien plugin ont disparu. Je vais surveiller 24h, mais vraiment par principe, je suis confiant :hugs:

Bugs

  1. Une petite coquille dans un bandeau.
    « ATTENTION LE DEMON MYMODBUS NE TOURNE PAS , Avant de le lancer il faut toujours avoir un équipement MyModbus de céer ! »
    → « créé »

  2. Un souci sur le registre 2705 qui fonctionnait avant.
    com.victronenergy.settings DVCC system max charge current
    2705 int16 1 -32768 to 32767 /Settings/SystemSetup/MaxChargeCurrent yes A DC

Le 2705 est trouvé et appelé au démarrage du démon. Par contre, aucune ligne add avec 2705, on dirait que le démon l’ignore.

...
[2023-03-12 15:29:25][INFO] : holding_registers trouvées :2705
...
...
[2023-03-12 15:29:25][INFO] : Lancement du démon mymodbus : nice -n 19 /usr/bin/python3 /var/www/html/plugins/mymodbus/ressources/mymodbus_demond.py --host=192.168.200.151 --port=502 --unid=100 --polling=10 --keepopen=0 --protocol=tcpip --eqid=2056 --hrs=2705,843,820,840,841,2903,817,842,2901,772,850,851,786,784,787,785,789,3712,3708,3720,3716,3724,3713,3709,3721,3717,3725,3714,3710,3722,3718,3726,3715,3711,3723,3719,3727
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3724 -> old value:492 new value:443
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3725 -> old value:508 new value:451
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 772 -> old value:398 new value:365
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3726 -> old value:485 new value:447
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3727 -> old value:593 new value:550
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 789 -> old value:20762 new value:18857
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 817 -> old value:782 new value:807
[2023-03-12 15:29:26][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 820 -> old value:76 new value:23
[2023-03-12 15:29:27][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 840 -> old value:507 new value:506
[2023-03-12 15:29:27][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 841 -> old value:251 new value:223
[2023-03-12 15:29:27][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 842 -> old value:1271 new value:1129
[2023-03-12 15:29:27][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 850 -> old value:2019 new value:1850
[2023-03-12 15:29:27][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 851 -> old value:398 new value:365
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3724 -> old value:443 new value:414
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3725 -> old value:451 new value:419
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 772 -> old value:365 new value:343
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3726 -> old value:447 new value:416
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3727 -> old value:550 new value:518
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 789 -> old value:18857 new value:17661
[2023-03-12 15:29:37][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 817 -> old value:807 new value:794
[2023-03-12 15:29:38][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 820 -> old value:23 new value:87
[2023-03-12 15:29:38][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 841 -> old value:223 new value:196
[2023-03-12 15:29:38][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 842 -> old value:1129 new value:991
[2023-03-12 15:29:38][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 850 -> old value:1850 new value:1738
[2023-03-12 15:29:38][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 851 -> old value:365 new value:343
[2023-03-12 15:29:48][INFO] : mise à jour :  Add =>192.168.200.151 Unit => 100 holding_registers=> 3724 -> old value:414 new value:396

Encore merci pour tout le travail effectué :hugs:

Salut @dvb,

d’après le format des logs, tu es toujours en version stable.

Si ton but était de passer sur le dernière version, il faut :

  • désactiver les équipements,
  • passer le plugin en beta et installer la version beta actuelle ou mettre à jour la version beta et lancer une installation des dépendances,
  • reparamétrer et activer les équipements

A partir de là, le bug numéro 1 aura disparu et pour le bug numéro 2, il faut utiliser le format int16 pour l’adresse 2705

Avec la version stable, les logs ne sont générés qu’en cas de changement de valeur, donc a priori, pas de changement à l’adresse 2705, c’est pourquoi le plugin ne remonte rien vers Jeedom.

A+
Michel