Info onduleur ne remonte plus. Debian 11?

Bonjour,

Dans la semaine passée, j’ai upgradé mon Jeedom en 4.4.2 sous Debian 10 qui est sur une VM Syno et pas de problème tout fonctionné bien. Ce week-end j’ai eu un peu de temps et j’ai refait la VM avec Debian 11. J’ai un petit souci avec le plugin NUT, car il ne me remonte plus les infos de l’onduleur qui est branché sur le même Syno que Jeedom.

*

Sur la nouvelle VM, j’ai injecté la sauvegarde de l’ancienne, en vérifiant que j’ai la même IP bien entendu.

Les log du plugin sur la Debian 10

[2024-04-07 22:48:12] DEBUG  : commande : /usr/bin/python3 /var/www/html/plugins/nut/resources/nut.py -f getInfos -a 192.168.1.36 -u monuser -p secret -n UPS
[2024-04-07 22:48:12] DEBUG  : infos : Array (     [battery.charge] => 100     [battery.charge.low] => 10     [battery.charge.warning] => 20     [battery.mfr.date] => CPS     [battery.runtime] => 3147     [battery.runtime.low] => 300     [battery.type] => PbAcid     [battery.voltage] => 26.5     [battery.voltage.nominal] => 24     [device.mfr] => CPS     [device.model] => Value1500E     [device.type] => ups     [driver.name] => usbhid-ups     [driver.parameter.pollfreq] => 30     [driver.parameter.pollinterval] => 5     [driver.parameter.port] => auto     [driver.parameter.synchronous] => no     [driver.version] => DSM7-2-1-NewModel-repack-64570-230831     [driver.version.data] => CyberPower HID 0.4     [driver.version.internal] => 0.41     [input.transfer.high] => 0     [input.transfer.low] => 0     [input.voltage] => 241.0     [input.voltage.nominal] => 230     [output.voltage] => 239.0     [ups.beeper.status] => disabled     [ups.delay.shutdown] => 20     [ups.delay.start] => 30     [ups.load] => 12     [ups.mfr] => CPS     [ups.model] => Value1500E     [ups.productid] => 0501     [ups.realpower.nominal] => 900     [ups.status] => OL     [ups.test.result] => No test initiated     [ups.timer.shutdown] => -60     [ups.timer.start] => -60     [ups.vendorid] => 0764 )


Les log avec Debian 11

[2024-04-07 22:54:09] DEBUG  : commande : /usr/bin/python3 /var/www/html/plugins/nut/resources/nut.py -f getInfos -a 192.168.1.36 -u monuser -p secret -n UPS
[2024-04-07 22:55:14] DEBUG  : commande : /usr/bin/python3 /var/www/html/plugins/nut/resources/nut.py -f getInfos -a 192.168.1.36 -u monuser -p secret -n UPS```

Les log de Nut_packages de la nouvelle VM (Debian 11)


+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_nut
+ echo 1
+ echo 2
++ find /usr/local/lib/python3.9/dist-packages/ -mindepth 1 -maxdepth 1 -type d -exec du -ks '{}' +
++ awk '$1 <= 4'
++ cut -f 2-
+ RESULTTODELETE=
++ sed 's, ,\ ,g'
++ echo ''
+ RESULTTODELETE2=
+ echo ''
+ xargs rm -rf
+ echo 3
+ sudo pip3 cache purge
Files removed: 22
+ echo 4
+ sudo pip3 install --upgrade pip
Requirement already satisfied: pip in /usr/local/lib/python3.9/dist-packages (24.0)
DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
+ echo 5
+ sudo pip3 install --force-reinstall --upgrade pynut3
Collecting pynut3
Downloading pynut3-2.2.1-py3-none-any.whl.metadata (3.4 kB)
Collecting pexpect (from pynut3)
Downloading pexpect-4.9.0-py2.py3-none-any.whl.metadata (2.5 kB)
Collecting ptyprocess>=0.5 (from pexpect->pynut3)
Downloading ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB)
Downloading pynut3-2.2.1-py3-none-any.whl (22 kB)
Downloading pexpect-4.9.0-py2.py3-none-any.whl (63 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.8/63.8 kB 38.2 kB/s eta 0:00:00
Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
Installing collected packages: ptyprocess, pexpect, pynut3
Attempting uninstall: ptyprocess
Found existing installation: ptyprocess 0.7.0
Uninstalling ptyprocess-0.7.0:
Successfully uninstalled ptyprocess-0.7.0
Attempting uninstall: pexpect
Found existing installation: pexpect 4.9.0
Uninstalling pexpect-4.9.0:
Successfully uninstalled pexpect-4.9.0
Attempting uninstall: pynut3
Found existing installation: pynut3 2.2.1
Uninstalling pynut3-2.2.1:
Successfully uninstalled pynut3-2.2.1
Successfully installed pexpect-4.9.0 ptyprocess-0.7.0 pynut3-2.2.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
+ echo 6
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end nut
+ echo 7
+ rm /tmp/jeedom_install_in_progress_nut
+ echo '*******************End of package installation******************'
*******************End of package installation******************

Si suggestion je suis preneur.

Et merci à Loïc ainsi qu’à l’équipe Jeedom pour cette mise à jour, qui accélère considérablement le Dashboard.

Bonjour
Je n’utilise pas NUT mais apcupsd. Cela ressemble à un problème d’usb si l’onduleur est connecté en usb au Syno.

Faire un lsusb en cli sur la VM Jeedom pour vérifier que le port usb est bien vu.

Je ne connais pas non plus le Syno mais il y a certainement un paramètre pour définir le port usb en Pass-Through sur la définition de la VM.

Merci pour ton intervention,
Je récupère les informations de l’onduleur via le serveur réseau UPS du Synology, je ne pense pas que l’USB de la VM rentre en jeu. De plus j’ai bien fait attention de configurer les 2 VM identiquement.

Bonjour,

J’ai eu le même problème suite à la mise à jour de mon système.
La ligne suivante est exécutée:

/usr/bin/python3 /var/www/html/plugins/nut/resources/nut.py -f getInfos -a MON_IP -u MON_UTILISATEUR -p MON_MOTDEPASSE -n ups

L’erreur suivante en résulte:

Traceback (most recent call last):
  File "/var/www/html/plugins/nut/resources/nut.py", line 33, in <module>
    result = ups.get_dict_vars(ups=device)
AttributeError: 'PyNUT3Client' object has no attribute 'get_dict_vars'

Il semble que la dernière version du projet pynut3 ait volontairement cassé la compatiblité de l’interface de la classe PyNUT3Client qui n’expose plus la méthode « get_dict_vars » afin de rendre son projet DEPRECATED. Il demande aux utilisateurs de migrer vers le client PyNUTClient officiel:

This is the FINAL release of this repository. I am deprecating this module. Users are advised to migrate to PyNUTClient which is supported directly by NUT.

La solution court terme est un workaround qui installe la précédente version de pynut3:

pip install --force-reinstall -v "pynut3==1.6.2"

Cela résoud le problème chez moi. La vraie solution est que l’auteur de ce module migre vers le client PyNUTClient supporté par NUT.

Merci

1 « J'aime »

Bonjour,

C’est un plugin officiel. Cela devrait être rapidement pris en compte.

Bonjour,

Je cherchais le repo git pour proposer une modif rapide qui permet ensuite au plugin de fonctionner, mais je ne le trouve pas (il ne doit pas être public), du coup, pour mémoire, voici la modif à faire dans le fichier d’install des paquets du plugin :

Modifier le fichier packages.json (qui se trouve dans le répertoire plugin_info du plugin nut) comme ceci :

{
  "pre-install": {},
  "apt": {},
  "pip3": {
    "pynut3": {"reinstall": true, "version": "1.6.2"}
  },
  "npm": {},
  "yarn": {},
  "plugin": {},
  "post-install": {}
}

Ensuite, relancer les dépendances, et cela installe la bonne version de pynut3 et permet au plugin de fonctionner.

PS : cela revient au même que ce que propose @Ichbinrodolf mais directement via le fichier d’install des dépendances du plugin :slight_smile:

Bonne journée,
TiTidom.

2 « J'aime »

Bonjour,

je m’étais noté un rappel pour corriger en beta la version des dépendances aujourd’hui, c’est chose faite.
Cela sera dispo demain en beta; à valider

3 « J'aime »

Bonjour,

C’est good en béta, cela fonctionne comme attendu :wink:

Bonne journée,
TiTidom.

1 « J'aime »

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