Passer en dernière beta ou attendre?

Bonjour @Michel_F

Je suis encore sur une beta « ancienne » → a priori « V2.0 beta 21 » :

Tout fonctionne parfaitement avec mon CerboGX et je n’ai pas de besoin particulier.

J’hésite à installer la dernière beta :

  • Il faudrait pour limiter mon « retard » de version, et éviter d’éventuelles difficultés à migrer lorsque la future stable arrivera.
  • D’un autre côté je ne veux rien casser car tout est OK à date !

En respectant la manip indiquée, pas de risque de casser ce qui fonctionne ?

Merci pour tes préconisations.

Bonjour,

Si tu as des commandes avec l’adresse esclave à 0, passe les à 1. Si ça fonctionne pareil, alors tu peux faire la mise à jour en suivant la procédure indiquée.
J’hésite à faire une bidouille pour faire fonctionner ce satané slave_id 0 avec MyModbus, mais ça ne me plait pas, alors je ne fais pas, mais j’hésite…

Si tu as la possibilité de tester dans une VM (VirtualBox ou autre) avant pour être 100% sûr, ce serait le top.

J’attire ton attention sur le fait que c’est une version bêta. N’en attends pas la même chose que ce qu’on pourrait attendre d’une version stable.
Tu es prudent de ne pas mettre à jour si tu as un fonctionnement stable. Tu as raison de te poser la question du gap.

A+
Michel

Noté, merci pour ton retour rapide !

Je ne mesure pas l’étendu de la bidouille… donc je ne me prononce pas, je te laisse décider de la suite :innocent:

En l’état, je comprends que l’upgrade vers la prochaine version stable risque de ne pas être transparente pour certains utilisateurs.

Je suis sous Proxmox donc tests faciles. Si je trouve un moment pour faire la manip, je partagerai le résultat ici.

@+

En regardant les commandes, je me rends compte que j’utilise les deux types :

Je viens de passer de passer une commande de 0 → 1 pour voir, SANS CHANGER de version Mymodbus. KO immédiat :

Du coup, j’ai un doute : est-ce que la nouvelle beta me permettra d’adresser les deux valeurs de slave_id ?

Le plugin le permet mais pymodbus a un problème avec ça et ne renvoie rien.
Donc je te conseille d’attendre

1 « J'aime »

La version 3.7.3 du 9.10.2024 corrige le problème, relancez l’installation des dépendances, ça va mettre pymodbus à jour

Merci → Je teste ça dès que je trouve un moment !

Re,
Manips effectuées :

  • Mise à jour de dépendances
    mymodbus_packages.log (7,1 Ko)
  • Relance démon (au cas où)
  • Reconfiguration slave_id 0 → 1 sur une commande (sans toucher à la version de MyModbus)
  • Sauvegarde équipement

Dès la mise à 1 de slave_id, la valeur se fige de nouveau :


Dès la mise à 0 de slave_id, tout refonctionne immédiatement.

v3.7.3 correspond à quel package ?
Je n’ai pas réussi à vérifier si la version attendue s’est installée.

Ai-je loupé une manip, qu’en penses-tu ?

Le log collé ici entre balises c’est mieux !

+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_mymodbus
+ echo 1
+ echo 2
+ sudo killall apt apt-get unattended-upgr
apt: no process found
apt-get: no process found
unattended-upgr: no process found
+ sudo rm /var/lib/apt/lists/lock
+ sudo rm /var/cache/apt/archives/lock
+ sudo rm /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
+ sudo sudo dpkg --configure -a --force-confdef
+ sudo apt update

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 https://deb.nodesource.com/node_20.x nodistro InRelease [12.1 kB]
Get:2 https://deb.nodesource.com/node_20.x nodistro/main amd64 Packages [9452 B]
Hit:3 http://deb.debian.org/debian bullseye InRelease
Get:4 http://deb.debian.org/debian-security bullseye-security InRelease [27.2 kB]
Get:5 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Get:6 http://deb.debian.org/debian-security bullseye-security/main Sources [195 kB]
Get:7 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages [303 kB]
Get:8 http://deb.debian.org/debian-security bullseye-security/main Translation-en [195 kB]
Fetched 786 kB in 0s (2135 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
124 packages can be upgraded. Run 'apt list --upgradable' to see them.
+ echo 3
+ sudo apt install -o Dpkg::Options::=--force-confdef -y git

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
git is already the newest version (1:2.30.2-1+deb11u3).
0 upgraded, 0 newly installed, 0 to remove and 124 not upgraded.
+ echo 4
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libbz2-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libbz2-dev is already the newest version (1.0.8-4).
0 upgraded, 0 newly installed, 0 to remove and 124 not upgraded.
+ echo 5
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libreadline-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libreadline-dev is already the newest version (8.1-1).
0 upgraded, 0 newly installed, 0 to remove and 124 not upgraded.
+ echo 6
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libsqlite3-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libsqlite3-0
Suggested packages:
  sqlite3-doc
The following packages will be upgraded:
  libsqlite3-0 libsqlite3-dev
2 upgraded, 0 newly installed, 0 to remove and 122 not upgraded.
Need to get 1759 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://deb.debian.org/debian-security bullseye-security/main amd64 libsqlite3-dev amd64 3.34.1-3+deb11u1 [963 kB]
Get:2 http://deb.debian.org/debian-security bullseye-security/main amd64 libsqlite3-0 amd64 3.34.1-3+deb11u1 [797 kB]
apt-listchanges: Reading changelogs...
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin: 
Fetched 1759 kB in 1s (2339 kB/s)
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 75522 files and directories currently installed.)
Preparing to unpack .../libsqlite3-dev_3.34.1-3+deb11u1_amd64.deb ...
Unpacking libsqlite3-dev:amd64 (3.34.1-3+deb11u1) over (3.34.1-3) ...
Preparing to unpack .../libsqlite3-0_3.34.1-3+deb11u1_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.34.1-3+deb11u1) over (3.34.1-3) ...
Setting up libsqlite3-0:amd64 (3.34.1-3+deb11u1) ...
Setting up libsqlite3-dev:amd64 (3.34.1-3+deb11u1) ...
Processing triggers for libc-bin (2.31-13+deb11u10) ...
+ echo 7
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libncurses5-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libncurses5-dev is already the newest version (6.2+20201114-2+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 122 not upgraded.
+ echo 8
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libncursesw5-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libncursesw5-dev is already the newest version (6.2+20201114-2+deb11u2).
0 upgraded, 0 newly installed, 0 to remove and 122 not upgraded.
+ echo 9
+ sudo apt install -o Dpkg::Options::=--force-confdef -y libffi-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libffi-dev is already the newest version (3.3-6).
0 upgraded, 0 newly installed, 0 to remove and 122 not upgraded.
+ echo 10
+ sudo apt install -o Dpkg::Options::=--force-confdef -y liblzma-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
liblzma-dev is already the newest version (5.2.5-2.1~deb11u1).
0 upgraded, 0 newly installed, 0 to remove and 122 not upgraded.
+ echo 11
+ 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
********************************************************
*           Nettoyage de l'ancienne version            *
********************************************************
Wed Oct 16 12:09:19 CEST 2024
********************************************************
*           Installation terminée                      *
********************************************************
Wed Oct 16 12:09:19 CEST 2024
+ echo 12
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end mymodbus
+ echo 13
+ rm /tmp/jeedom_install_in_progress_mymodbus
+ echo '*******************End of package installation******************'
*******************End of package installation******************

Donc cela doit être fixé avec toute version créée depuis le 9 octobre…

D’après les log, pymodbus n’a pas été mis à jour. Je ne sais pas quelle version de pymodbus est installée chez toi.

Ce n’est plus nécessaire avec la dernière version de pymodbus, le slave_id 0 fonctionne

pymodbus

Tu n’as pas loupé une manip, peut-être mal compris un truc ?
J’en pense que tu peux passer à la dernière bêta, normalement. A ta place, je ferais une VM (VirtualBox ou autre, 16Go de disque, 1 ou 2 core, 2 Go de RAM suffisent largement) juste pour tester MyModbus. Cette VM te servira sans doute aussi pour d’autres plugins à tester. Juste par sécurité puisque c’est pour ta machine de prod.

C’est ce que je n’arrive pas à vérifier, je n’ai pas trouvé la bonne commande.
Sais-tu me dire comment identifier la version installée ?

Il y a un truc qui m’échappe, je ne retrouve pas le package :

pip show python3-pymodbus
WARNING: Package(s) not found: python3-pymodbus

pip show pymodbus
WARNING: Package(s) not found: pymodbus

Oui, pour ce type de manip, je fais un snapshot de la VM sous Proxmox.
→ Donc retour arrière facile si problème.

Je vais donc tester ta nouvelle beta, je te dirai ce qu’il en est.

C’est normal, MyModbus utilise pyenv sauf sous debian 12

Dans le centre de mises à jour tu as la date d’installation. En recoupant avec le changelog, tu trouves quelle version est installée chez toi

Mince, évidemment → J’aurais pu chercher longtemps !!

Noté, merci !

Hello @Michel_F

Help → Je viens de tenter une mise à jour et je rencontre quelques soucis…

Manips effectuées :

  • Désactivation équipement
  • Mise à jour du plugin
  • Les dépendances se sont installées automatiquement
  • Sauvegarde équipement sans l’activer
  • Activation équipement
  • Lancement démon

Problème 1
Dans le formulaire de l’équipement, je ne vois plus de changement de couleur des valeurs des donnée. → Cela donne l’impression qu’il n’y a pas de refresh ?

Problème 2
Les commandes en slave_0 sont KO. Exemple du log filtré sur « ERROR » :

Exemple du paramétrage d’une commande qui ne passe pas :

En slave_1 cela semble OK (malgré le point 1 « couleur »)
Commandes en slave_1 OK. Exemple :

Configuration équipement

Log update

19/10/2024 12:16:01 == Dependencies installation for mymodbus

[ 5% ] : Clean apt…
[ 9% ] : Clean apt : [ OK ]
[ 10% ] : Update apt…
[ 19% ] : Update apt : [ OK ]
[ 20% ] : Init python3 & prerequisites…
[ 29% ] : Init python3 & prerequisites : [ OK ]
[ 30% ] : Init PyEnv…
** PyEnv required: 3.9.2 < 3.11 **
[ 39% ] : Init PyEnv : [ OK ]
[ 40% ] : install or update PyEnv…
[ 49% ] : install or update PyEnv : [ OK ]
[ 50% ] : Install Python 3.11 with PyEnv…
** python3 path: /opt/pyenv/versions/3.11.10/bin/python3 **
[ 59% ] : Install Python 3.11 with PyEnv : [ OK ]
[ 60% ] : Setting up virtual environment…
** Version of python in VENV: Python 3.11.10
[ 69% ] : Setting up virtual environment : [ OK ]
[ 70% ] : Install the required python packages…
[ 79% ] : Install the required python packages : [ OK ]
[ 80% ] : Restoring folders and files rights…
[ 89% ] : Restoring folders and files rights : [ OK ]
[ 90% ] : Summary of installed packages…
aiohappyeyeballs==2.4.3
aiohttp==3.10.10
aiosignal==1.3.1
attrs==24.2.0
frozenlist==1.4.1
idna==3.10
jeedomdaemon==1.0.2
multidict==6.1.0
propcache==0.2.0
pymodbus==3.7.3
pyserial==3.5
yarl==1.15.5
[ 99% ] : Summary of installed packages : [ OK ]
[100% ] : Finished !

==OK== Installation Successful

Du coup je suis un peu perdu…
Dis-moi si tu as besoin d’autres infos.

Salut,

Le démon n’envoie de valeur à Jeedom qu’en cas de changement de valeur. Les logs debug de mymodbus_daemon m’en diraient plus. A poster en texte préformaté pas de capture STP, c’est inutilisable pour moi.

je ne te laisse pas tomber

log debug du démon pour tout un cycle de lecture (toutes les commandes d’un équipement) à partir de la sauvegarde de l’équipement. Pour le test, passe en « sur événement », sauvegarde, ne vide pas les logs mais repère à quelle ligne ça s’est arrêté, lance une lecture (commande action « rafraichir »), poste les log en texte préformaté en commençant quelques lignes avant le repère, là où Jeedom envoie la nouvelle config jusqu’à la fin du cycle

:+1:

Sur base de tes recos, j’essaie de refaire des manips demain.
A suivre !

1 « J'aime »

Voici le topo suite upgrade :

  • désactivation équipement
  • 11h37 maj plugin
  • 11h38:21 sauvegarde équipement (toujours sans activer)
  • Ajout IP et port et sauvegarde (toujours sans activer)
  • 11:46:53 réactivation équipement
  • 11:47:43 relance démon

→ La problématique reste le KO de toutes les commandes en slave_0

Le log est important, je partage le fichier texte en PJ :
(évènements clé repérés avec un commentaire qui commence par « FLAG »)

mymodbusupgrade.log (73,0 Ko)

Je propose de se concentrer sur ces commandes représentatives :

  • 3724 slave_0 → puissance temps réel tracker0
  • 3724 slave_1 → puissance temps réel tracker5
  • 817 slave_0 → puissance system to charge

Avant l’upgrade, les 3 s’actualisaient chaque seconde.
Après l’upgrade, slave_0 pose problème.

Ci-dessous un log filtré sur la commande 3724 pour illustrer la différence :
focus_cde_victron_3724.log (24,7 Ko)

A ta disposition pour d’autres infos.

→ Ca veut dire mymodbus_daemon

je n’ai malheureusement toujours pas ta configuration et ne peux que supposer ce que ceci signifie, mais je pense me tromper.

Il me faudrait un lien vers la doc de ton appareil pour que je me familiarise avec celui-ci.

Il me faudrait :

  • l’export du template de ton équipement
  • les log mymodbus_daemon (pas juste mymodbus) pour tout un cycle de lecture (toutes les commandes d’un équipement) à partir de la sauvegarde de l’équipement. Pour le test, passe en « sur événement », sauvegarde, ne vide pas les logs mais repère à quelle ligne ça s’est arrêté, lance une lecture (commande action « rafraichir »), poste les log en texte préformaté en commençant quelques lignes avant le repère, là où Jeedom envoie la nouvelle config jusqu’à la fin du cycle

Noté → Je te fournis le complément asap…