Restauration jeedom 4.3.14 sur jeedom 4.6.1

Bonjour,

M’y prenant tard dans mon update de jeedom, je me retrouve bloqué pour une montée de version.

Je dispose d’un jeedom 4.3.14 sur une debian 10 que je souhaites migrer en 4.6.1 sur en debian 12.

Malheureusement, la restauration ne se passe pas très bien, je pense que le gap de version est trop important car la restauration ne se termine jamais et j’obtiens toujours une erreur HTTP 500 après restauration.

J’ai voulu passer par une version intermédiaire mais impossible de trouver une autre version qui supporterait ma sauvegarde.

Pourriez-vous me donner des conseils pour éviter de repartir sur une installation toute fraîche et devoir tout reconfigurer manuellement sur la 4.6.1 et ne pas pouvoir récupérer mes historiques de données ?

Merci à vous

Salut,

Une erreur 500 pourrait être « juste » le signe d’un plugin non compatible, pas forcément que la totalité de l’installation ne marche pas.

Tu as accès en SSH ou FTP à la machine ? Est ce que tu as pu voir le log restore pour voir si ce dernier s’est terminé sans erreur malgré l’erreur 500 ?

Il faudrait essayer de se connecter en mode rescue (http://IPJEEDOM/index.php?v=d&rescue=1) pour voir si ce dernier marche, si c’est le cas, tu as une requete coté BDD pour désactiver tous les plugins, tu peux ensuite les réactiver un par un pour voir ce qui pose problème.

Tu peux poster ta page santé de ton jeedom actuel ?
Tu as vérifié la compatibilité de tes plugins par exemple en consultant l’excellent thread : Compatibilité des plugins avec Debian 12 - Bookworm, php 8, python 3.11

J’ai bien accès en SSH à mon raspberry, ci-dessous le contenu du log restore :

\[START RESTORE\]
***Begin Jeedom restore 2026-08-08 13:13:27***
Send begin restore event…OK
Checking rights…OK
Restore from file : /var/www/html/core/class/../../backup/backup-Jeedom-4.3.14-2026-08-08-02h00.tar.gz
Backup database access configuration…OK
Disable all task OK
Disable all scenario OK
Unpacking backup…OK
Update composer file…
OK
\[PROGRESS\]\[58\]
Deleting database…Disabling constraints…OK
Deleting table : cache …OK
Deleting table : cmd …OK
Deleting table : config …OK
Deleting table : cron …OK
Deleting table : dataStore …OK
Deleting table : eqLogic …OK
Deleting table : event …OK
Deleting table : history …OK
Deleting table : historyArch …OK
Deleting table : interactDef …OK
Deleting table : interactQuery …OK
Deleting table : listener …OK
Deleting table : message …OK
Deleting table : note …OK
Deleting table : object …OK
Deleting table : plan …OK
Deleting table : plan3d …OK
Deleting table : plan3dHeader …OK
Deleting table : planHeader …OK
Deleting table : queue …OK
Deleting table : scenario …OK
Deleting table : scenarioElement …OK
Deleting table : scenarioExpression …OK
Deleting table : scenarioSubElement …OK
Deleting table : timeline …OK
Deleting table : update …OK
Deleting table : user …OK
Deleting table : view …OK
Deleting table : viewData …OK
Deleting table : viewZone …OK
Deleting table : widgets …OK
Restoring database from backup…OK
Enable back constraints…OK
Restoring cache…OK

Je ne connaissais pas cette URL rescue ! merci !!

J’ai 3 plugins qui ne sont pas compatible selon le Thread

J’ai tenté la désactivation des plugin via : “UPDATE config set value=0 WHERE key=‹ active ›“, mais malgré ca et un reboot, toujours erreur 500

Essaye de voir le log http.error dans ce cas

J’ai cette erreur dans le http.error :

\[Sat Aug 08 13:38:43.552451 2026\] \[php:error\] \[pid 1227:tid 1227\] \[client 192.168.1.224:57314\] PHP Fatal error:  Uncaught TypeError: array_multisort(): Argument #1 ($array) must be an array or a sort flag in /var/www/html/desktop/php/index.php:92\\nStack trace:\\n#0 /var/www/html/desktop/php/index.php(92): array_multisort()\\n#1 /var/www/html/core/php/utils.inc.php(79): require_once(‹ … ›)\\n#2 /var/www/html/index.php(100): include_file()\\n#3 {main}\\n  thrown in /var/www/html/desktop/php/index.php on line 92

D’après ce poste ça semble lié à PHP (pourtant la page rescue elle fonctionne bien):

Je me suis dit que ma base de données avait quand même bien été restauré et j’ai tenté un update de jeedom du coup via : sudo php /var/www/html/install/update.php mode=force

Mais erreur :

\[PROGRESS\]\[25\]
OK
Cleaning folders…OK
\[PROGRESS\]\[30\]
Create temporary folder…OK
\[PROGRESS\]\[35\]
Unzip in progress…OK
\[PROGRESS\]\[40\]
Clean temporary files (tmp)…OK
Disable all task OK
Disable all scenarioPHP Fatal error:  Uncaught TypeError: flock(): Argument #1 ($stream) must be of type resource, bool given in /var/www/html/core/class/event.class.php:41
Stack trace:
#0 /var/www/html/core/class/event.class.php(41): flock()
#1 /var/www/html/core/class/scenario.class.php(1750): event::add()
#2 /var/www/html/core/class/scenario.class.php(1296): scenario->setState()
#3 /var/www/html/core/class/jeedom.class.php(880): scenario->stop()
#4 /var/www/html/install/update.php(199): jeedom::stop()
#5 {main}
thrown in /var/www/html/core/class/event.class.php on line 41

La page Santé de mon jeedom 4.3.14 :

Je me demande si un passage par Debian 11 pour un tel saut pourrait pas améliorer la chose …
Visiblement il aime pas une version récente de php pour un core aussi ancien. Peut etre que le faire en 2 fois solutionnerait le souci.

Après je laisse les experts infirmer ou confirmer mes propos :slight_smile:

Mais si c’est sur du virtualisé ça coute pas cher de tester.

1 « J'aime »

Bonjour,

Bonjour,

Merci pour le conseille, je vais essayer cette solution effectivement, est-il possible de faire un upgrade sur une version spécifique (4.4.2) ?

L’installeur prend de base la dernière version :frowning:

Bonjour,

En choisissant le script d’update à appliquer je crois.

Edit : en fait non ce n’est pas comme cela que l’on fait.

Non, ce n’est pas ca que ca fait
Il ne faut pas sélectionner un script particulier sans indication du support, ca ne sert pas à installer une version spécifique

1 « J'aime »

Pour forcer la version c’est en ssh que ça se passe :

Il faut redémarrer ensuite.

Bien entendu avant chaque opération lance un backup et conserve ailleurs que sur ta machine le fichier backup.

Edit : toujours pas la bonne méthode …

Non, l’info de ce post est fausse, le paramètre version n’existe pas, il n’est pas possible d’installer une version antérieur via le core jeedom ni aucun script.

la seule solution pour récupérer une ancienne version est de télécharger manuellement une des releases et de faire la migration manuellement (ce qui n’est pas simple)
edit: en réfléchissant rapidement, p-e qu’en appliquant les scripts d’update pour chacune des versions intermédiaires, dans l’ordre, cela pourrait fonctionner; mais j’oublie p-e qlqch.

et les releases n’existent pas systématiquement depuis très longtemps: Releases · jeedom/core · GitHub

1 « J'aime »

Le problème c’est qu’il y a un gros trou dans les release, après la 4.1.19 ça passe à la 4.5.2.

Du coup pas possible d’installer la 4.4.2 …

Bonjour,

Tu as quoi comme choix possible au niveau de la ligne « Version du core » dans Système > Configuration > Mises à jour/Market ?

Si tu as déjà le choix d’un tag il suffit d’en sélectionner un puis de sauvegarder et de mettre à jour le core. Si tu as juste un choix de branche incluant une option V4-stable tu peux passer dessus pour arriver en 4.4.12 déjà.

En dernier recours si aucune de ces 2 options ne sont présentes en 4.3.X il reste la solution de passer la mise à jour du core vers 4.4.12 directement via Github avec cette config temporaire et une mise à jour du core à la suite :

Je n’ai que Stable v4 comme version core, après c’est du alpha ou du beta

J’ai réussi l’update de la 4.3.14 vers la 4.4.12.

Reste à pouvoir faire de la 4.4.12 a la 4.4.2, et ensuite je pourrais migrer sur une 4.5.x ou 4.6.x.

Si quelqu’un a une idée pour passer de la 4.4.12 a 4.4.2 je suis preneur ?

Avec la 4.4.12, essayez d’installer une debian 11 et de restaurer cette version dessus
Ensuite, upgrade vers 4.6 et ca devrait aller.

De là, installation de debian 12 et restauration