UPNP : ContentDirectory - Javascript

Tags: #<Tag:0x00007fc6b615c118>

Bonjour à tous :slight_smile:
J’ai un soucis avec le plugin upnp que je n’ai pas utilisé depuis un moment… Peut-être que des mises à jour ou autre installation sur l’OS sont responsables de ce problème.

Lorsque je suis sur un objet de type « ContentDirectory » j’ai une erreur Javascript :
https://xxxxxxxx/index.php?v=d&p=dashboard&object_id=11 line 2 > injectedScript
77
TypeError: $(…).jstree is not a function

Et la partie Explorateur ne s’affiche pas. Je ne peux pas browser.

J’ai cherché un peu avant de venir poser la question ici mais je ne trouve rien du tout :confused:
J’ai réinstallé npm, nodejs mais rien n’y fait. J’ai bien sûr désinstallé complètement le plugin, réinstallé, relancé l’installation des dépendances plusieurs fois. Mais là, je suis à court d’idée.

Merci beaucoup par avance pour votre aide ! :slight_smile:

Bonsoir,
on peut voir le log des dépendances en mode debug
( format texte en utilisant la balise </> Texte préformaté)
à cela ajoutez version de jeedom
version du plugin
OS de la machine et quel type de machine
copie écran de la page santé de jeedom.
merci

Bonsoir,
Alors : Jeedom v4.1.27
Upnp : 2021-05-01 17:27:06 (en beta) mais j’avais la version stable. J’ai essayé.
OS : Debian Buster (Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux)
Le tout installé sur un micro serveur HP.

======================================================================
== 24/11/2021 18:52:50 == Installation des dépendances de upnp
======================================================================
[  0% ] : Vérification des droits...
[  4% ] : Vérification des droits : [0sec] : [  OK  ]
[  5% ] : Mise à jour APT et installation des packages nécessaires...
[  9% ] : Mise à jour APT et installation des packages nécessaires : [2sec] : [  OK  ]
[ 10% ] : Prérequis...
[ 14% ] : Prérequis : [0sec] : [  OK  ]
[ 15% ] : Installation des packages nécessaires...
[ 19% ] : Installation des packages nécessaires : [1sec] : [  OK  ]
[ 20% ] : Vérification du système...
[ 24% ] : Vérification du système : [0sec] : [  OK  ]
[ 25% ] : Vérification de la version de NodeJS installée...
[Check Version NodeJS actuelle : v14.18.1 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
[ 49% ] : Vérification de la version de NodeJS installée : [1sec] : [  OK  ]
[ 50% ] : Nettoyage...
[ 59% ] : Nettoyage : [0sec] : [  OK  ]
[ 60% ] : Nettoyage anciens modules...
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. On the other hand, if you're debugging an issue with the installer, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of nuking the actual one.
npm ERR!
npm ERR! If you're sure you want to delete the entire cache, rerun this command with --force.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-11-24T17_52_55_008Z-debug.log
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. On the other hand, if you're debugging an issue with the installer, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of nuking the actual one.
npm ERR!
npm ERR! If you're sure you want to delete the entire cache, rerun this command with --force.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-11-24T17_52_55_819Z-debug.log
[ 69% ] : Nettoyage anciens modules : [1sec] : [  OK  ]
[ 70% ] : Installation des librairies du démon, veuillez patienter svp...
[ 79% ] : Installation des librairies du démon, veuillez patienter svp : [1sec] : [  OK  ]
[ 80% ] : ...
[ 81% ] :  : [3sec] : [  OK  ]
[ 82% ] : ...
[ 83% ] :  : [2sec] : [  OK  ]
[ 84% ] : ...
[ 85% ] :  : [18sec] : [  OK  ]
[ 86% ] : ...
[ 87% ] :  : [9sec] : [  OK  ]
[ 88% ] : ...
[ 89% ] :  : [3sec] : [  OK  ]
[ 90% ] : ...
[ 99% ] :  : [0sec] : [  OK  ]
[100% ] : Terminé !
======================================================================
== OK == Installation Réussie
======================================================================

santé-jeedom santé-upnp

Je pense que tout y est :slight_smile:

Merci

1 J'aime

Tu est partit de quoi pour installer ton jeedom

une image toute prête jeedom
ou
tu a installer buster puis installer jeedom en ligne de commande ?

J’ai d’abord installé l’OS et ensuite j’ai installé Jeedom.

Ok fait une sauvegarde et externalise la

réinstalle buster+jeedom depuis cette image

https://images.jeedom.com/x86-64/jeedom-debian-buster-amd64-4.1.27.iso

puis remonte ta sauvegarde.

Je redoutais cette option :smiley:
Mais tu as raison. Mieux vaut repartir d’une base saine…

Merci pour ton aide. Je reviendrai poster le résultat :wink:

1 J'aime

Quel que fois on gagne beaucoup de temps
plus qu’a cherché la petite bête qui fout la merde qq part …

C’est vrai. Cependant, j’ai tout réinstallé hier soir et je me suis retrouvé avec exactement la même problématique :frowning: J’ai eu un souci avec nodejs, il a fallu que je recrée un lien symbolique qui manquait pour que le deamon démarre.

Le deamon est actif, mais il y a toujours l’erreur et la partie Explorateur est toujours vide :weary:

Salut,

Ce message veut dire que le plugin ne parvient pas à trouver la lib jstree permettant d’afficher et de naviguer dans une arborescence de fichiers.

Ne connaissant pas du tout ce plugin difficile de t’en dire + mais à en croire le repo cette fonction est utilisée par le widget :
jeedom_upnp/cmd.upnp.ContentDirectory.html at beta · DavZero/jeedom_upnp (github.com)

Pour te donner une idée voici comment c’est implémenté dans le core Jeedom mais c’est en php pas html (ici pour la sélection d’icônes/background) :
core/icon.selector.php at alpha · jeedom/core (github.com)

Je pense qu’il faudrait inclure la lib en js… à confirmer.

Salut Salvialf,
merci. Je suis pas vraiment dev mais je vais essayer de voir comment corriger ça.

C’est tout de même bizarre que ça ne fonctionne plus alors que ça fonctionnait avant si c’est un pb d’implémentation dans le code :thinking:

Merci :slight_smile:

Oui je suis d’accord. Tu as des erreurs en console du navigateur ? (F12 sous Chrome)

J’ai des erreurs de ce type :

Content Security Policy: L’analyse de « script-src-attr » a échoué, car la directive est inconnue.
Content Security Policy: L’analyse de « script-src-elem » a échoué, car la directive est inconnue.

Je ne sais pas si c’est lié au pb.

Ou encore ça :

Erreur dans les liens source : Error: request failed with status 404
URL de la ressource : https://xxxxxxxx/3rdparty/jquery.contextMenu/jquery.contextMenu.min.js?md5=b8dfb69666306f826ac7305d9caa0fb8
URL du lien source : jquery.contextMenu.min.js.map

Là en revanche…
Mais le fichier existe bien.

Salut,

j’ai effectivement le même problème ca fait longtemps que je n’avait pas toucher a ca.
Je regarde ca rapidement et je te tiens au courant.

A+

Salut DavZero,
super, merci beaucoup ! :+1:

Puisque tu vas remettre les mains dans le code, j’ai un autre problème, moins génant car je supprime ce composant pour le régler mais lors de mes tests j’ai désinstallé et réinstallé le plugin un grand nombre de fois, et à chaque redécouverte (en partant de rien) j’ai ça :

	[MySQL] Error code : 23000 (1062). Duplicate entry 'UBP-X800:ConnectionManager-11' for key 'unique' : UPDATE `eqLogic` SET `id` = :id, `name` = :name, `logicalId` = :logicalId, `generic_type` = :generic_type, `object_id` = :object_id, `eqType_name` = :eqType_name, `isVisible` = :isVisible, `isEnable` = :isEnable, `configuration` = :configuration, `timeout` = :timeout, `category` = :category, `display` = :display, `order` = :order, `comment` = :comment, `tags` = :tags WHERE id = :id

Je ne me sers pas des « ConnectionManager » mais bon ça peut potentiellement gêner d’autres personnes.