Dashboard cassé MAJ supérieures à 4.0.45

Salut, j’ai la version 4.0.45.

Depuis, j’essaie chaque upgrade. La procédure se déroule sans problème, mais après, je perds mon dashboard. Il y a les objets, et quelques widget sur lesquels je n’ai pas la main (kodi, spotify, etc.)

Les autres ont disparus.

Je suis obligé de restauré à chaque fois. Y a t’il des choses à faire sur les widgets depuis cette version ? J’avour ne pas avoir bien compris le nouveau fonctionnement des widget en V4

Merci.

Bonsoir,
D’abord de quels widgets parles-tu ?
Si ceux sont de la V3, il y a des chances que cela pose problème.
S’ils n’ont pas été écrits pour la V4, ça ne marchera pas.
Tu as peut-être intérêt à te plonger dans l’outil widget de la V4.
Et, au cas où tu n’aurais pas fait attention à ça, le plugin Widget est à supprimer pour la V4.

Je viens de supprimer le plugin Widget. Le dashboard affiche toutes les info, et a remplacé les widgets custom par les widget par défaut.

J’ai ensuite relancé une mise à jour vers la 4.0.51. Et là, je n’ai que le widget Kodi, Raspberry PI et Box SFR. Le reste a totalement disparu.

J’ai fait un remplacement de widget par un autre, ça ne change rien, le widget remplacé ne s’affiche pas.

Aucune erreur console, et requêtes http en 200.

Sur tes copies d’écran on voit bien que les noms des objets ne correspondent pas…

Tu y vois plus clair dans le résumé domotique ?

J’ai 17 objets.
La première copie est faite sur le haut du dashboard.
La seconde est prise en bas (il y avait quelques widget affichés, c’est pour ça que je l’ai faite là).

Seule les objets s’affichent, mais aucun équipement.

Je viens de revert mon upgrade.

Je me suis fait avoir par la tuile Kodi qui est dans le salon et dans la chambre :wink:

Les équipements sont toujours bien là avec leurs commandes mais même en changeant de widgets (pour un widget core) rien ne s’affiche c’est bien ça ?

Que dit la page santé Jeedom ?

Quand tu va sur le Dashboard objet par objet ça fait pareil sur tous ?

Salut, oui ça fait la même chose. Aucun widget affiché.

J’ai revert après ma suppression du plugin widget, et en fait, j’ai énormément de widget « vide » que je n’avais pas vu en bas de dashboard. C’est vraiment la merde :frowning:

Là je restaure mon backup avant suppression du plugin widgets, en 4.0.45. Je vais valider que mon résumé domotique s’affichait bien.
PS : en version 5.0.51, le Résumé domotique affichait une page vide.

ok, donc mon résumé domotique ne s’affiche pas non plus avant mon delete plugin Widget. « index.php?v=d&p=display » est en http 500

Et mes widget ne sont pas revenus à la normale (enfin au bout de quelques minutes, ils commencent à revenir, c’est étrange)…

C’est normal avec la version 4
Le plugin widget n est plus compatible

  • Phase 1 : nettoyage de mes plugins - détection pb Resumé domotique

Je viens de supprimer tous les widgets créée via ce plugin, en utilisant le plugin, puis je l’ai désinstallé ensuite.
J’ai ensuite repassé tous mes affichages sur les affichages par défaut ou les template standard

Et Résumé Domotique est toujours en erreur.

Mon fichier /var/www/html/desktop/php/display.php fait 86 lignes, il semble être "coupé avant la fin. J’ai un log dans jeedom
[21-Apr-2020 23:25:47 Europe/Brussels] PHP Parse error: syntax error, unexpected end of file in /var/www/html/desktop/php/display.php on line 86

  • Phase 2 : Upgrade - Dashboard KO - Revert

Maintenant que les widget ont été nettoyés, et un problème dans un fichier corrompu identifié, je relance un upgrade vers la 4.0.51.

et je me retrouve avec un dashboard toujours aussi vide, et un fichier display.php toujours aussi tronqué.
Aucune erreur dans les logs (sauf quand je vais sur le résumé domotique).

Je revert

  • Phase 3 : Fix Résumé domotique - dashboard OK

Comme je suis persévérant, j’ai été pomper le fichier tronqué sur le repo git. Mon Resumé domotique fonctionne donc et mon dashboard aussi en v4.0.45.

  • Phase 4 : upgrade → Résumé domotique ok, - Dashboard toujours KO - Aucun log erreur - REVERT
    :angry: :thinking: :face_with_thermometer:

As-tu eu le temps de tester en ajoutant &rescue=1 dans l’adresse de connexion à jeedom ?

Des erreurs dans la console du navigateur ?

Même en sauvegardant un équipement il n’apparaît pas ?

C’est le cache qui se reconstitue.

  • Phase 4 : Upgrade - Test &rescue=1 - REVERT
    J’ai activé/désactivé un équipement, et ça n’a rien fait.
    Page de connexion : j’ai une 404 sur core/themes/core2019_Light/desktop/core2019_Light.css
    Pas d’erreurs dans la console

T’as combien de sauvegardes de côté ? Elles ont une différence de taille?

T’es sur une carte sd ?

Je suis sur carte SD depuis plusieurs années. un miracle, elle n’est pas encore brikée.
J’ai lancé un test de consistance, et la BDD est ok.

J’ai 11 backup, 98.2Mo, puis 98.3Mo. Difficile de savoir quelle est la diff. Sachant que je modifie mes scénarios régulièrement.
Celui de cette nuit fait 96.4Mo. Mais j’ai supprimé le plugin Widgets et fais un peu de ménage.

Vu qu’il manque soit des fichiers soit des bouts de fichiers à ton Jeedom, je pense à un problème de carte SD.

Si jamais tu as la possibilité d’essayer avec une autre carte SD… sinon je ne vois plus trop quoi essayer maintenant.

Je suis parti dans le code :slightly_smiling_face:

La fonction js qui renvoie le code html à affoicher pour 1 objetId donné ne me renvoie rien. Je suis parti sur un objet où j’avais plusieurs équipements, dont un widget kodi. Le dashboard qui bug affiche le widget Kodi, mais pas les autres. Dans le code, je constate bien que la fonction getObjectHtml(_object_id) renvoie le contenu html de ce widget uniquement (fichier dashboard.php).

La fonction js est dans dashboard.js. Elle fait appel à une fonction jeedom.object.toHtml avec l’idObjet en parametre.
La réponse est bien en succes, et le html renvoyé est uniquement celui du widget kodi.

Dans la fonction jeedom.object.toHtml, l’appel eqLogic::byObjectId(init('id'), true, true); me renvoie un tableau de 9, je suppose que c’est ma liste d’équipement sur mon objet

$html[$order] = $eqLogic->toHtml(init('version'));

retourne toujours une chaine vide on dirait. Le tableau html a les index 1 à 8 vide, et le 9 contient le code html de mon widget kodi. C’était d’ailleur le dernier widget dans la salon sur le dashboard. Donc je dois aller voir $eqLogic->toHtml(init('version')) en profondeur. Remarque : init('version') vaut « dashboard »

J’ai chargé le source dans un vscode, je vais chercher un peu plus profondément. il n’y a pas de raison que ma SD qui affiche ce qu’il faut en 4.0.45 ait toujours la même erreur quand je fais mes upgrade.

Le truc c’est qu’à première vue il manque des fichiers ou des bouts de fichiers et ça le code ne peut rien y faire

Si le board s’affiche dans ma version 4.0.45, c’est que les fichiers qui servent à son affichage sont intacts.
Ou alors c’est l’upgrade qui n’est pas correct

j’ai forcé $eqLogics = eqLogic::byObjectId(init('id'), false, false); pour taper sur les equipements non visibles ou non actif, et ca ne change rien.