Erreurs suite passage de Strech à Buster

Bonjour,
Je suis sur RPi/Strech/Jeedom v3.3.55, je voulais passer en v4 et j’ai donc migré sous Buster comme indiqué ici : https://www.domo-blog.fr/comment-mettre-a-jour-jeedom-v4-vers-v4-1-deux-methodes-pour-y-parvenir/

Tout c’est bien passé, j’ai donc rebouté le RPi mais depuis j’ai beaucoup de problèmes sous Jeedom.

J’avais ce message lorsque je lançais une sauvegarde ou la mise à jour vers la v4 :

PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /var/www/html/core/php/utils.inc.php on line 257

J’ai donc modifier les {0} en [0] comme indiqué dans une discussion.

Je n’ai plus ce message d’erreur mais j’ai des dizaines de messages d’erreurs comme ceci :

Erreur sur scenario::control() : method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given
Erreur sur networks::update() : method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given
Erreur sur Monitoring::pull() : method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given

Lorsque je veux passer en v4, j’ai ceci

[START UPDATE]
****Update from 3.3.55 (2021-04-09 13:48:37)****
Parameters : {"preUpdate":"0","backup::before":"1","plugins":"1","core":"1","force":"0"," update::reapply":"0"}
Send begin of update event...PHP Fatal error:  Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given in /var/www/html/core/class/DB.class.php:118
Stack trace:
#0 /var/www/html/core/class/DB.class.php(118): method_exists()
#1 /var/www/html/core/class/scenario.class.php(202): DB::Prepare()
#2 /var/www/html/core/class/scenario.class.php(259): scenario::byTrigger()
#3 /var/www/html/core/class/jeedom.class.php(824): scenario::check()
#4 /var/www/html/install/update.php(62): jeedom::event()
#5 {main}
thrown in /var/www/html/core/class/DB.class.php on line 118

Bref plus grand chose n’a l’air de fonctionner !
D’avance merci pour vos réponses

Salut

Si tu n’as pas réinstaller de zero buster mais depuis stretch, je commencerai par là. Une mise à jour depuis stretch en buster est souvent problématique et au final on passe énormément de temps à chercher d’où vient le problème. Alors qu’une installation depuis une image et application du backup prend peu de temps (moins de 1h).

Antoine

3 « J'aime »

Bonjour

A priori, la migration de stretch à buster c’est pas le top.
Essayes en faisant une install propre de buster, installes ensuite jeedom et réinjecte ta sauvegarde.
Et enfin, maj de jeedom en v4.

1 « J'aime »

A l’avenir
Merci d’utiliser utiliser la bonne catégorie pour qualifier votre sujet.

Je viens donc de repartir d’une installation de Raspian Buster de zéro
Sachant que j’étais en v.3.3.55, je n’ai qu’une sauvegarde de cette version de non de v4.
Maintenant, vous me conseillez :

  1. d’installer la v3 de Jeedom, restauration de la sauvegarde de la v3 puis passage en v4
    a) J’essaie de récupérer le fichier install de la v3 avec wget https://raw.githubusercontent.com/jeedom/core/stablev3/install/install.sh
    mais j’ai ce message : requête HTTP transmise, en attente de la réponse… 404 Not Found

    b) J’ai trouvé ceci :
    wget https://raw.githubusercontent.com/jeedom/core/refactoring/install/install.sh
    Est-ce la v3 ?

    c) Maintenant au bout de 10mn, j’ai ces messages :
    Commence l’étape 3 base de données
    Lecture des listes de paquets… Fait
    Construction de l’arbre des dépendances
    Lecture des informations d’état… Fait
    Aucune version du paquet mysql-client n’est disponible, mais il existe dans la base
    de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
    ou qu’il n’est disponible que sur une autre source
    Cependant les paquets suivants le remplacent :
    mariadb-client-10.0

    Aucune version du paquet mysql-server n’est disponible, mais il existe dans la base
    de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
    ou qu’il n’est disponible que sur une autre source
    Cependant les paquets suivants le remplacent :
    mariadb-server-10.0

    E: Le paquet « mysql-client » n’a pas de version susceptible d’être installée
    E: Le paquet « mysql-server » n’a pas de version susceptible d’être installée
    Ne peut installer mysql-client mysql-common mysql-server - Annulation

    Que faut-il faire ?

  2. d’installer la v4 de Jeedom et restauration de la sauvegarde de la v3 - est-ce possible ?
    apparement ça pose pb car la restauration d’une v3 sur la v4 remet en Strech et v3.3.55

Point 2)
L’installation d’une sauvegarde installe la version jeedom de la sauvegarde.
Donc si tu as une sauvegarde sous jeedom v3, si tu l’applique à un jeedom v4, après tu aurais une v3.
Par contre cela ne peut pas remettre en stretch. Qu’est-ce qui te fait dire cela?

Antoine

J’ai lu ceci : Migration de jeedom 3.3.32 vers la dernière version 4.0.20 - #18 par Patdec

Et pour le 1.c, auriez-vous une idée ?

Bonsoir,

Le plus simple et le plus rapide.

  • Vous installer un rasbian lite puis la v4 ou vous installer l’image officielle Jeedom disponible plus bas qui est déjà en buster
  • Vous restaurer votre sauvegarde qui vous fera revenir en v3 toujours sous buster
  • Vous redémarrer et réinstaller les dépendances de vos plugins
  • Vous faites enfin la migration v3 vers v4 il y a un bouton dans jeedom pour le faire

liens: images.jeedom.com/rpi

2 « J'aime »

Bonsoir,
Je viens de faire comme vous l’indiquez, l’étape 1 c’est bien passée en installant la v4.
J’ai ensuite chargé ma sauvegarde sous Jeedom mais la restauration reste bloquée sur la décompression depuis 35mn sans aucune réaction depuis :

Avez-vous une idée ?

Je suis un peu surpris du chemin de l’archive :
/var/www/html/core/class/…/…/backup/backup-Jeedom_Pi_3_David-3.3.55-2021-04-08-22h50.tar.gz
alors qu’elle se trouve ici :

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