Plugin Kodi et Jeedom 4.2.7

Bonjour à tous,

J’ai mis à jour Jeedom en 4.2.7 hier.
ça tourne sur un RPI3 sous Debian 10.

Suite à cette mise à jour du core de Jeedom, je ne vois plus les remontées d’info de Kodi sur la tuile du plugin sur le dashboard Jeedom.
Du coup, ça me pose problème dans le lancement d’un scénario.

J’ai regardé le changelog de la 4.2 et j’ai vu qu’il y avait eu des changements dans la manière d’appeler l’API.
J’ai activé le debug sur la partie API et voici l’extrait d’un log:

0006|[2022-02-01 23:29:45]DEBUG : Demande sur l'api http venant de : 192.168.1.210 => {"value":"{\"title\":\"Aucun\",\"status\":\"Audio arr\u00eat\u00e9e\",\"status_id\":\"6\",\"cover\":\"aucun\",\"type\":\"aucun\",\"genre\":\"aucun\",\"endtime\":\"aucun\",\"statusmedia\":\"Stop\"}","api":"xxxxxxxxxxxxxxxxxx","type":"kodi"}

on voit à la fin du log: « type »:« kodi ».
D’après le changelog, ça devrait plus ressembler à ça « plugin »:« kodi »,« type »:« event » non ?

Le problème est ailleurs ou l’appel API doit être revu ?

4.2 et 4.2.7 :joy:

Voir peut-être la partie change log sur l’API et comment cela affecte des plugins comme jeelink. Je présume que cela peut venir de cela.

Antoine

1 « J'aime »

Ah oui ^^ petite erreur de ma part pour les versions. J’ai édité.
Il y a eu du changement côté jeelink aussi de ce que je vois.

Kodi est un module officiel mais n’a pas été modifié. Comment ça se passe du coup ?

J’ai essayé d’installer le plugin Kodi et en suivant les instructions de la documentation, je n’ai pas réussi à le faire fonctionner. Se pourrait-il que la documentation ne soit pas à jour ?

La doc est ok pour moi. Depuis Jeedom, je peux controler Kodi via le plugin.
Par contre quand je lance un film/musique directement depuis Kodi, le média en cours de lecture n’est pas remonté à Kodi.
Du coup Jeedom pense que Kodi n’est pas en lecture.

oui comme grimm, je pense que le plugin n’est tout simplement pas encore compatible 4.2, j’ai réussi à le refaire fonctionner en modifiant l’addon qui s’installe sur kodi pour que la requête contienne bien la clé api du plugin jeedom, par contre je n’ai pas les images qui s’affichent mais je n’ai pas cherché plus loin

1 « J'aime »

Hello, pourrais-tu préciser ce que tu as fait stp? Ca m’interesse. Merci

Oui c’est le callBack dans kodi, de mémoire il y a une extension si je me rappelle bien, elle doit peut être être mise à jour avec les nouvelles syntaxe des api…

Alors si je me souviens bien (j’ai fait ça il y a un moment déjà), dans le fichier addon.py qui se trouve dans script.jeedom du dossier addons de kodi, j’ai modifié dans la fonction linknx_send qui se trouve au début du fichier:

params={'value': value.encode("utf-8"), 'api': api_key, 'type' : type})

que j’ai remplacé par:

params={'value': value.encode("utf-8"), 'api': api_key, 'type' : 'event', 'plugin': type})

et j’ai changé la clé api dans la config par la clé qui est propre au plugin kodi.

Je crois que c’est tout

4 « J'aime »

C’est le callBack en Question ! Bien ouej !

1 « J'aime »

@Salvialf , tu peux fixer le plugin officiel ? Correctif deux messages plus haut :wink:

1 « J'aime »

Et autre chose que j’ai modifié mais qui peut-être ne concerne que moi.
Je ne sais pas pourquoi mais pour mon ordi portable, par exemple, qui est en wifi, l’adresse ip qui est déterminé par jeedom et l’adresse de mon routeur … (en gros au lieu d’avoir 192.168.1.39 il trouve 192.168.1.1), jeedom n’arrive donc pas à faire le mapping avec l’équipement kodi, donc j’ai rajouté dans cette même requête:

headers={'X-Forwarded-For': xbmc.getIPAddress()}

ce qui me donne au final:

requests.get(url,  headers={'X-Forwarded-For': xbmc.getIPAddress()}, 
        params={'value': value.encode("utf-8"), 'api': api_key, 'type' : 'event', 'plugin': type})

Nickel merci.
J’ai modifié le fichier et ça refonctionne.

La modification pour la remontée d’information marche mais on a encore des soucis sur le plugin dans jeedom.
Lorsque j essaye d ajouter une commande maintenant j ai le droit a un error 500

0000|[Sat Feb 05 13:37:24.708045 2022] [php7:error] [pid 28182] [client 192.168.1.242:22293] PHP Fatal error:  Uncaught Error: Call to undefined method kodiCmd::setEventOnly() in /var/www/html/plugins/kodi/core/class/kodi.class.php:314
0001|Stack trace:
0002|#0 /var/www/html/core/class/DB.class.php(232): kodi->postSave()
0003|#1 /var/www/html/core/class/eqLogic.class.php(1002): DB::save(Object(kodi), false)
0004|#2 /var/www/html/core/ajax/eqLogic.ajax.php(488): eqLogic->save()
0005|#3 {main}
0006|thrown in /var/www/html/plugins/kodi/core/class/kodi.class.php on line 314, referer: http://192.168.1.10/index.php?v=d&m=kodi&p=kodi&id=74

quelqu’un a une idée?

Oui tu dois mettre en commentaire la commande setEventOnly dans le fichier de class indiqué

Bonjour, même soucis ici pour ma part, je viens de mettre a jour jeedom en 4.2.8 et j’utilise des Kodi en version 18, je me rend compte que suite a cette mise a jour les infos ne remontent pas de façon convenable (pour pas dire dutout) de kodi. Toutes les commandes (de type pause, ok …) sont bien prises en compte par le lecteur mais aucune info ne remonte aussi bien sur le dashboard que dans les commandes de scénario…
De plus en jettant un oeil à l’addon kodi dans le gestionnaire de plugin je tombe sur une erreur : Forbidden. You don’t have permission to access this resource.lorsque je veux retelecharger l’addon pour une version inférieur a kodi 19…

1 « J'aime »

Même soucis que [MrPatate], impossible de DL le plugin Kodi depuis la page de conf, erreur « Forbidden. You don’t have permission to access this resource » et event dans les logs Jeedom « jeeEvent Vous n’êtes pas autorisé à effectuer cette action ».

J’ai pu rétablir le retour d’etat grace a la manip de [capic], grand merci à lui. Il manque la remontée des affiche sur le widget mais au moins mes scenarios sont de nouveau fonctionnels.

En attendant une MaJ du plugin…

1 « J'aime »

Pour récupérer les plugins kodi en version 18 ou 19, il faut soit le récupérer avec scp, soit monter un partage samba du répertoire jeedom.
Les zip se trouvent dans jeedom/plugins/kodi/resources

Pour info, je viens de trouver comment récupérer les images sur le widget mais cela demande quelques modifs directement sur jeedom et le plugin kodi de jeedom, je veux bien donner les étapes mais ça sera au risques et périls de chacun, et bien faire une sauvegarde avant au cas où

  • connexion en ssh à jeedom

  • cd /var/www/html/plugins/kodi

  • sudo mkdir data

  • sudo chown www-data:www-data -R data

Ensuite il y a des modifs à faire dans le fichier /var/www/html/plugins/kodi/core/class/kodi.class.php

  • ligne 867: remplacer $kodi_path = realpath(dirname(__FILE__) . '/../../resources'); par $kodi_path = realpath(dirname(__FILE__) . '/../../data');

  • ligne 911: remplacer $value = 'plugins/kodi/resources/' . $ip . 'cover.jpg'; pas $value = 'plugins/kodi/data/' . $ip . 'cover.jpg';.

Il faudra peut-être redémarrer jeedom, je n’en suis pas sûr

Merci pour l’info j’ai pu récupérer le zip par l’explorateur de fichier de Jeedom finalement. J’essayerais la modif pour les covers quand j’ai 5min.