Suite MàJ Core 4.5 : Erreur sur la fonction cron5 du plugin : Undefined class constant 'MAJOR_VERSION'

Hello,

Depuis la MàJ du core en 4.5, j’ai cette erreur (si-dessous).
J’ai réinstallé le plugin (stable 2025-10-13 09:40:09 puis beta 2025-10-06 11:17:56 pour voir), mais le problème persiste.

Merci de votre aide !

Fabrice

	Erreur sur la fonction cron5 du plugin : Undefined class constant 'MAJOR_VERSION'
#0 /var/www/html/plugins/netatmopro/vendor/guzzlehttp/guzzle/src/functions.php(71): GuzzleHttp\Utils::defaultUserAgent()
#1 /var/www/html/plugins/SmartLife/vendor/guzzlehttp/guzzle/src/Client.php(298): GuzzleHttp\default_user_agent()
#2 /var/www/html/plugins/SmartLife/vendor/guzzlehttp/guzzle/src/Client.php(76): GuzzleHttp\Client->configureDefaults()
#3 /var/www/html/plugins/netatmopro/core/class/netatmopro.class.php(969): GuzzleHttp\Client->__construct()
#4 /var/www/html/plugins/netatmopro/core/class/netatmopro.class.php(202): netatmopro::NARequest()
#5 /var/www/html/plugins/netatmopro/core/class/netatmopro.class.php(609): netatmopro::synchronize()
#6 /var/www/html/core/class/plugin.class.php(400): netatmopro::cron5()
#7 /var/www/html/core/php/jeeCron.php(78): plugin::cron5()
#8 {main}

Bonjour

Auriez-vous rebooter la box depuis la mise à jour ?

Hello,
C’est un RPI mais non, il n’a pas été redémarré.

Bonjour,

Après mise à jour en 4.5 puis reboot j’ai ce message qui est apparu également (Vm sous proxmox en Debian 12):

Page santé :

Plugin netatmopro version beta :

Log qui remonte toutes les 5 minutes (en mode debu) :

043|[2025-11-26 16:00:04] DEBUG  cron:: refresh:''
0044|[2025-11-26 16:00:07] DEBUG  synchronize:: update:true
0045|[2025-11-26 16:00:07] DEBUG  synchronize:: scope:'read_camera write_camera access_camera read_doorbell access_doorbell read_presence write_presence access_presence read_carbonmonoxidedetector read_smokedetector read_camerapro write_camerapro access_camerapro;read_thermostat write_thermostat'
0046|[2025-11-26 16:00:07] DEBUG  synchronize:: Home + Security
0047|[2025-11-26 16:00:07] DEBUG  NARequest:: 'GET' 'https://api.netatmo.com/api/homesdata' ''
0048|[2025-11-26 16:00:07] ERROR  Erreur sur la fonction cron5 du plugin : Undefined constant GuzzleHttp\ClientInterface::MAJOR_VERSION
0049|[2025-11-26 16:01:02] DEBUG  cron:: refresh:''

Même problème pour moi avec un redémarrage après mise a jour sur un RPI5 . J’ai refait l’association cela a fonctionné mais maintenant j’ai ce genre de message:

[2025-11-26 13:55:04] ERROR  Erreur sur la fonction cron5 du plugin : Undefined constant GuzzleHttp\ClientInterface::MAJOR_VERSION
[2025-11-26 13:55:25] ERROR  redirectURI:: ex:'GuzzleHttp\\Exception\\ClientException - GuzzleHttp\\Exception\\ClientException - 400 - Client error: `POST https://api.netatmo.com/oauth2/token` resulted in a `400 Bad Request` response: {"error":"invalid_grant"} '
[2025-11-26 13:55:27] ERROR  redirectURI:: ex:'GuzzleHttp\\Exception\\ClientException - GuzzleHttp\\Exception\\ClientException - 400 - Client error: `POST https://api.netatmo.com/oauth2/token` resulted in a `400 Bad Request` response: {"error":"invalid_grant"} '
[2025-11-26 14:00:05] ERROR  Erreur sur la fonction cron5 du plugin : Undefined constant GuzzleHttp\ClientInterface::MAJOR_VERSION

Je confirme qu’un redémarrage ne change rien au pb.
J’ai décoché le « cron5 » dans le plugin pour éviter ce message mais je suppose que cela va avoir un impact…

Bonsoir à tous,

Je n’ai malheureusement pas ce problème étant parti sur une installation from scratch de Jeedom, puis restauration de ma sauvegarde Jeedom.

Je pense qu’il y a une incompatibilité entre le package Guzzle de mon plugin et un package Guzzle existant. Pour information, Jeedom n’installe plus le package Guzzle en 4.5 sur une installation from scratch.

Auriez-vous le répertoire guzzlehttp dans le répertoire /var/www/html/vendor ?
Si oui, pourriez-vous exécuter la commande suivante dans le répertoire /var/www/html/vendor/guzzlehttp et m’indiquer le résultat ?

grep -r "const VERSION"

Pas de repertoire Guzzle pour moi dans mon installation : Tout marchait parfaitement avant la mise a jour, ceci veut il dire que le package Guzzle est supprimé par la mise a jour ??

image

Pourrais-tu exécuter la commande suivante dans le répertoire /var/www/html ?

find . | grep ClientInterface

et voici
image

Hello @thanaus,

Je te confirme que le package Guzzle n’est plus présent en v4.5. Cf mon MP sur le plugin-cloudsyncpro :wink:

Peut-être l’intégrer dans tes dépendances !
Il ne manque plus que ça pour que je bascule en v4.5 :sunglasses:

Xav

Je peux faire un test en beta si tu veux, fais moi signe

J’avais Cloud sync Pro installé mais désactivé, j’ai réactivé réinstallé les dépendances et ça a l’air de refonctionner normalement en synchro manuelle pas sur le Cron

Je pense que @thanaus n’a pas encore dû s’apercevoir du bug.
Laissons-lui le temps de réagir :slight_smile:

Merci pour les tests ! En fait le souci intervient pour l’appairage avec OneDrive chez moi. La sauvegarde se passe bien une fois cela fait :wink:

J’ai identifié les lignes du code et exposé le pb à @thanaus !

Les dossiers vendor ont été supprimés car « plus utiles ».
J’avoue que je ne sais pas trop comment c’est géré maintenant.

Sauf erreur, à la base, le pb est sur le cron5 (une variable d’environnement apparemment), sujet de ce fil.
Je pense que ton souci est autre…
Ou alors cette variable est dans les packages Guzzle ?

Oui oui pardon, c’est moi qui ai dévié le sujet sur un autre plugin désolé :innocent:
Mais l’origine est la même, la disparition du package Guzzle !

Je sors :arrow_right: :wink:

1 « J'aime »

Non non, tu as raison, la cause semble en effet être identique. Espérons que @thanaus la prendra en compte prochainement pour nous faire une nouvelle version !

1 « J'aime »

Je pense que le problème du plugin plugin-cloudsyncpro n’est pas le même.
En effet, @Xav-74 m’avait signalé que le framework Guzzle était absent en 4.5.
J’ai rencontré le même souci sur plusieurs plugins que j’ai mis à jour, mais j’ai malheureusement oublié celui-ci.
Je suis vraiment désolé de cet oubli et je vais faire une correction dès demain.

Pour le plugin plugin-netatmopro , il s’agit d’un autre problème, lié à un conflit lorsque plusieurs versions du même framework Guzzle sont installées.
Je pense également pouvoir fournir une correction dès demain.

7 « J'aime »