Erreur sur Monitoring

Problème identique bon restauration de ma dernière sauvegarde en cours…

Bonsoir,

Cette partie là de la proposition est malheureusement impossible.

Certains plugins utilisent des bases de données propres ou des dépendances.

Repasser la version précédente ne permettrait pas de revenir proprement en arrière puisqu’il faudrait que cette version n-1 prenne en charge de supprimer, par exemple, une nouvelle colonne dans la base alors même que cette version ne savait pas qu’elle allait exister (dans la version n) quand elle a vu le jour…

2 « J'aime »

Pour ce plugin, il suffit de remplacer le dossier du plugin par celui d’une sauvegarde. Il est inutile de restaurer Jeedom entièrement.

1 « J'aime »

Installation ce soi de la nouvelle version et les messages recommencent : « Erreur sur Monitoring::pull() : Class ‹ phpseclib\Net\SSH2 › not found »… Fatiguant…J’ai déjà fait tout ce qui est indiqué dans ce fil, je ne sais plus…

1 « J'aime »

Je pense avoir résolu le problème chez moi en modifiant la ligne 21 de core/class/Monitoring.class.php

avant:

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');

après:

set_include_path(get_include_path() . '/phpseclib');

A confirmer mais il me semble que PATH_SEPARATOR est : alors qu’l faut /

Il est 00:20 et voici mon log:

0108|[2023-10-17 23:00:06]ERROR : Erreur sur Monitoring::pull() : Class 'phpseclib\Net\SSH2' not found
0109|[2023-10-17 23:15:04]ERROR : Erreur sur Monitoring::pull() : Class 'phpseclib\Net\SSH2' not found
0110|[2023-10-17 23:30:05]ERROR : Erreur sur Monitoring::pull() : Class 'phpseclib\Net\SSH2' not found
0111|[2023-10-17 23:45:04]ERROR : Erreur sur Monitoring::pull() : Class 'phpseclib\Net\SSH2' not found
0112|[2023-10-18 00:00:10]ERROR : Erreur sur Monitoring::pull() : Class 'phpseclib\Net\SSH2' not found

Je n’ai pas supprimé la dernière ligne :smirk:

J’ai été mis sur la piste par le message suivant dans http.error:

PHP Warning:  include(): Failed opening 'Net/SSH2.php' for inclusion (include_path='.:/usr/share/php:phpseclib') in /var/www/html/plugins/Monitoring/core/class/Monitoring.class.php on line 21, referer: http://jeedomp/index.php?v=d&p=scenario&id=29

2 « J'aime »

Bonsoir,

C’est dommage, le fichier ici était correcte!

Bonjour,

J’ai mis à jour le plugin puis relancé les dépendances comme préconisé dans le changelog 10-2023.

Le soucis c’est que l’installation des dépendances n’en finit pas. En effet, voilà près de 30 minutes que le processus reste bloqué à 80%. Je ne sais même pas comment l’arrêter (à part éteindre Jeedom).

Voici le log de Monitoring Update

*****************************************************************************************************
*   Lancement de l'installation du module SSH pour PHP 7 / Launch install of module ssh2 for PHP 7  *
*****************************************************************************************************
Hit:1 http://ftp.fr.debian.org/debian buster InRelease
Hit:2 http://ftp.fr.debian.org/debian buster-updates InRelease
Hit:3 http://security.debian.org/debian-security buster/updates InRelease
Hit:4 http://phoscon.de/apt/deconz buster InRelease
Hit:5 https://deb.nodesource.com/node_18.x buster InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
php-ssh2 is already the newest version (1.1.2+0.13-4).
Suggested packages:
  php-libsodium php-mcrypt
The following NEW packages will be installed:
  php-phpseclib
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 191 kB of archives.
After this operation, 1304 kB of additional disk space will be used.
Get:1 http://security.debian.org/debian-security buster/updates/main amd64 php-phpseclib all 2.0.30-2~deb10u1 [191 kB]
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 191 kB in 0s (4453 kB/s)
Selecting previously unselected package php-phpseclib.
(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 ... 82684 files and directories currently installed.)
Preparing to unpack .../php-phpseclib_2.0.30-2~deb10u1_all.deb ...
Unpacking php-phpseclib (2.0.30-2~deb10u1) ...
Setting up php-phpseclib (2.0.30-2~deb10u1) ...
Setting up grub-pc (2.06-3~deb10u4) ...
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
Configuring grub-pc
-------------------

The GRUB boot loader was previously installed to a disk that is no longer 
present, or whose unique identifier has changed for some reason. It is important
to make sure that the installed GRUB core image stays in sync with GRUB modules 
and grub.cfg. Please check again to make sure that GRUB is written to the 
appropriate boot devices.

If you're unsure which drive is designated as boot drive by your BIOS, it is 
often a good idea to install GRUB to all of them.

Note: it is possible to install GRUB to partition boot records as well, and some
appropriate partitions are offered here. However, this forces GRUB to use the 
blocklist mechanism, which makes it less reliable, and therefore is not 
recommended.

  1. /dev/sda (274877 MB; iSCSI_Storage)  3. none of the above
  2. - /dev/sda1 (105226 MB; /)

(Enter the items you want to select, separated by spaces.)

GRUB install devices: 

Pour moi c’est du chinois. Puis-je avoir un peu d’aide ?

Las de voir que rien ne se passe, j’ai supprimé tous mes équipements, désactivé et supprimé le plugin.

J’ai tenté une nouvelle installation mais là encore, l’installation des dépendance reste bloquée.

J’abandonne.

Edit 18.10.2023 07:08
Un redémarrage de Jeedom m’a permis de réinstaller le plugin proprement.

Bonjour,

Je viens de proposer une solution pour ne pas à avoir ré-installer les dependances!.

Mettre le fichier packages.json pour le minimum requis.
Version Nut_free.

@goulouche,
La ton probleme est autre maintenant c’est le boot loader qui souhaite savoir ou s’installer!
Tu devrais faire un update en ligne de commande!

Stef.

Bon moi je le désactive, on verra quand on aura une version fonctionnel; Marre de bidouiller mon Jeedom fraichement installer…

2 « J'aime »

Bonjour,

Après avoir installé le paquet manquant puis modifié le fichier Monitoring.class.php comme décrit par @ktn, le fonctionnement est de nouveau ok pour moi.

Bonjour,
Si je comprend bien les derniers commentaires, la dernière maj du 2023-10-18 01:13:36 n’est toujours bonne ?
Si je peux me permettre de donner mon avis sur ces derniers jours. A quoi servent les beta si les modifs sont faites en stable ? En français stable cela à un sens.
Quid du changelog que je regarde avant chaque maj proposée et qui ne dit rien ?
Quand on voit des grandes rhétoriques dernièrement pour savoir « Ou va Jeedom ? » et que quelques jours après on voit apparaitre ces maj désordonnées on est pas mal bousculé dans les rassurantes nouvelles que l’on a bien voulu nous donner. Et encore ce plugin tiers n’est pas un essentiel, mais il y a eu aussi un cafouillage sur zwavejs officiel également intellectuellement perturbant.
Le zéro défaut et la perfection n’existe pas et personne n’est à l’abri d’un effet de bord, mais un peu de communication aide à passer les caps difficiles.
Bien cordialement

4 « J'aime »

Bonjour,

Pour moi c’est la bonne solution @ktn
Le changement de PATH_SEPARATOR a résolu le problème, j’ai forcé le cron */15 Monitoring plusieurs fois et aucune erreur.

Merci à toi pour la solution

Il y a des mises à jour sur le Github.

Courage à celui qui maintient le plugin actuellement.
Je ne trouve pas de phifi92 ni de phifi ici…
Le plugin est top (sauf avec les dernières modifications en stable :stuck_out_tongue: )

Bonjour,

Pour moi c’est la bonne solution @ktn
Le changement de PATH_SEPARATOR a résolu le problème

Merci à toi pour la solution

Bonjour

Même chose ici → revenue au fonctionnement nominal une fois cette ligne corrigée.

Documentation sur www. :

Ceci confirme que l’utilisation de « PATH_SEPARATOR » n’est pas appropriée dans ce cas.

Désolé d’être chiant, mais …

Je vois ce midi ceci dans ma page update Jeedom :

Cette version là, c’est laquelle ? Elle marche ?
Comme je disais, aucune idée de comment raccorder ça à la release note :

Ce serait possible à un moment d’avoir un numéro de version correct, comme l’affiche jeedom, genre avec la sémantique habituelle dans l’industrie genre Major.Minor.Patch (4.17.0) et rattracher ce numéro de version correctement aux release notes qui indiquent ce que cette version précise apporte ?

Je comprends qu’on sait pas switcher d’une version à l’autre à cause de la DB, mais au moins avoir des numéros de version clairs et des release notes qui vont avec feront qu’on ne joue pas à la roulette russe à chaque update. Quand c’est des plugins beta, OK je veux bien, mais en stable c’est le minimum.

En ce qui me concerne, meme si j’ai vu les commandes à lancer, et les chipotages à faire pour réparer le bazar, j’ai juste choisi de restaurer un snapshot de ma VM avant update, commencer à bidouiller ma PROD ne me tentait pas.

Espérons que ce que je mets plus haut ici et l’expérience qu’on a tous vécu servira de base pour prévoir une modification dans le core jeedom concernant les updates et une prise de conscience que les release notes doivent être à jour. Idem pour Beta → Stable. Ces derniers temps j’ai eu bien trop d’arrêts / d’indisponibilités en PROD et j’ai du investir bien trop de temps pour voir ici et là, même aller chercher dans le code ce qui changeait pour voir ce qui se passait. Le but d’avoir mis de la domotique chez moi était de me faciliter la vie au départ … pas de trembler à chaque update …

Les développeurs travaillent sur cette question de versioning/changelog, voir leur discussion ici :

Ce n’est pas si simple que ça, j’avais d’ailleurs posé une question à ce sujet et j’ai eu du mal à comprendre les tenants et aboutissants notamment les interactions entre github et jeedom :slight_smile:

bonjour,

Pour ma part celle-ci fait toujours le même problème, elle m’a fait planter mon jeedom que je viens de restaurer.

Cordialement.