Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Toute la communauté vous remercie

Kodi 18 beta : pas de remontée d'infos

agasi34
Timide
Messages : 38
Inscription : 31 mai 2017, 10:23

Kodi 18 beta : pas de remontée d'infos

Message par agasi34 » 30 août 2018, 13:00

Bonjour à tous,

Je viens d'installer la nouvelle beta de kodi 18 Leia, et je pense que l'extension jeedom events n'est pas compatible, quelqu'un peut il me le confirmer ?

agasi34
Timide
Messages : 38
Inscription : 31 mai 2017, 10:23

Re: Kodi 18 beta : pas de remontée d'infos

Message par agasi34 » 31 août 2018, 09:16

Je me confirme à moi même : Toutes les commandes et liaisons avec Kodi ont changées dans la nouvelle version Leia (notamment tout ce qui est commande Json).

Il faut donc je pense recoder une partie du plugin ...

sbr
Timide
Messages : 5
Inscription : 28 janv. 2018, 02:16

Re: Kodi 18 beta : pas de remontée d'infos

Message par sbr » 09 déc. 2018, 23:16

Je ne sais pas vers qui remonter l'info pour mettre à jour le plugin officiel, mais après avoir patché le fichier kodi.class.php & avec les 2 fonctions ci-dessous, ça marche nickel chez moi avec leia :-)

public function reqjson($json = null) {
$kodi = $this->getEqLogic();
if ($kodi->getConfiguration('login') == '' && $kodi->getConfiguration('password') == '') {
$requestHeader = 'http://' . $kodi->getConfiguration('addr') . ':' . $kodi->getConfiguration('port');
} else {
$requestHeader = 'http://' . $kodi->getConfiguration('login') . ':' . $kodi->getConfiguration('password') . '@' . $kodi->getConfiguration('addr') . ':' . $kodi->getConfiguration('port');
}
//$request = urlencode(json_encode($json));
$request = json_encode($json);
//$url = $requestHeader . "/jsonrpc?request=" . $request;
$url = $requestHeader . "/jsonrpc";

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($request))
);

$response = curl_exec($ch);

if ($response === false) {
log::add('kodi', 'Error', __('Erreur curl : ', __FILE__) . curl_error($ch) . __(' sur la commande Kodi ', __FILE__) . $this->name);
throw new Exception(__('[Kodi] Erreur curl : ', __FILE__) . curl_error($ch) . __(' sur la commande Kodi ', __FILE__) . $this->name);
}
curl_close($ch);
return $response;
}

et


public static function cron() {
$eqLogics = eqLogic::byType('kodi');
foreach ($eqLogics as $kodi) {
if ($kodi->getIsEnable() == 1 && $kodi->getConfiguration('heartbeat', 0) == 1) {
$json = array(
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'Player.GetActivePlayers',
);
if ($kodi->getConfiguration('login') == '' && $kodi->getConfiguration('password') == '') {
$requestHeader = 'http://' . $kodi->getConfiguration('addr') . ':' . $kodi->getConfiguration('port');
} else {
$requestHeader = 'http://' . $kodi->getConfiguration('login') . ':' . $kodi->getConfiguration('password') . '@' . $kodi->getConfiguration('addr') . ':' . $kodi->getConfiguration('port');
}

//$request = urlencode(json_encode($json));
$request = json_encode($json);
//$url = $requestHeader . "/jsonrpc?request=" . $request;
$url = $requestHeader . "/jsonrpc";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($request))
);

$response = curl_exec($ch);

if ($response === false) {
$actualstate = $kodi->getCmd(null, 'pinginfo')->execCmd();
if ($actualstate != 'Dead') {
$kodi->getCmd(null, 'pinginfo')->event('Dead');
log::add('kodi', 'info', 'Le kodi ' . $kodi->getName() . ' ne répond pas je le marque comme éteint');
$kodi->getCmd(null, 'status_media')->event('Arrêt');
$kodi->getCmd(null, 'status')->event('Arrêt');
$mc = cache::byKey('kodiWidgetmobile' . $kodi->getId());
$mc->remove();
$mc = cache::byKey('kodiWidgetdashboard' . $kodi->getId());
$mc->remove();
$kodi->toHtml('mobile');
$kodi->toHtml('dashboard');
$kodi->refreshWidget();
}
} else {
$actualstate = $kodi->getCmd(null, 'pinginfo')->execCmd();
if ($actualstate != 'Alive') {
log::add('kodi', 'info', 'Le kodi ' . $kodi->getName() . ' est revenu à la vie je le marque comme vivant');
$kodi->getCmd(null, 'pinginfo')->event('Alive');
}
}
}
}
}

agasi34
Timide
Messages : 38
Inscription : 31 mai 2017, 10:23

Re: Kodi 18 beta : pas de remontée d'infos

Message par agasi34 » 16 déc. 2018, 10:11

Nickel merci sbr, tu es sur quel version ? la RC2 de leia ?
Hate que la version finale arrive :)

sbr
Timide
Messages : 5
Inscription : 28 janv. 2018, 02:16

Re: Kodi 18 beta : pas de remontée d'infos

Message par sbr » 19 déc. 2018, 23:10

Yes, 18.0-RC2, la finale devrait arriver avant la fin d'année, à suivre ;-)

bat
Timide
Messages : 8
Inscription : 06 mai 2015, 21:46

Re: Kodi 18 beta : pas de remontée d'infos

Message par bat » 01 janv. 2019, 19:38

je suis en kodi 18.0-RC4, je viens de modifier mon kodi.class.php avec le code posté plus haut.... ça fonctionne à nouveau, merci beaucoup.

Répondre

Revenir vers « [Plugin Officiel] Kodi »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité