re,
Oui j’avais pas pris le temps de répondre, à force de test ;), je peux ouvrir l’accès au besoin
Salut,
J’ai regardé vite fait ce matin, et il semble bien que le blocage se situe au niveau des clés API :
Il faudrait passer les logs API en debug dans la configuration générale de Jeedom pour avoir un peu plus d’infos
Bonjour,
Si vous pouviez tester, sur un équipement qui est issu d’un virtuel sur votre jeelink cible de mettre la cle API virtuel du jeedom source pour confirmer une piste…
hello,
je regarde demain probablement dans la mesure du possible
Re,
Je me suis battu tout l’aprem avec une zigate qui va finir en orbite, du coup pas pu tester, désolé. Je n’aurais pas bcp de temps dans les prochains jours pour le faire non plus …
Bonjour tous,
J’ai passé en debug les log API et je ne vois rien de probant.
Essayé aussi de modifier les clef api coté cible en mettant la clef api zigbee source ou zwave ou jmqtt en fonction des objets jeelink remontés; même constat, refus côté source.
Bonjour a tous,
@Loic, je me permet de te taguer,
je vais expliquer mes recherches et « solutions »:
dans la function sendEqlogicToMaster() (L691) 'remote_apikey' => config::byKey('api')
(L695)
récupère l’API du core car
$_plugin
n’est pas renseigné
celle-ci est envoyé avec le real_eqType
soit le type de l’équipement (virtuel, jmqtt…)
Ensuite dans la function execute()
(L490)
$url = .... jeeApi.php?plugin=jeelink&type=cmd&apikey=' . $eqLogic->getConfiguration('remote_apikey');
(L493)
donc le « cible » va exécuter la fonction avec les paramètres suivants :
Résultat :
Le Jeedom source n’accepte pas la requête API car apikey (du core donc) ne correspond pas a l’apikey du plugin (jeelink).
Solution 1 (testé):
J’ai actuellement contourné le problème en modifiant la Ligne 493 :
$url = $eqLogic->getConfiguration('remote_address') . '/core/api/jeeApi.php?plugin=jeelink&type=cmd&apikey=' . $eqLogic->getConfiguration('remote_apikey');
par :
$url = $eqLogic->getConfiguration('remote_address') . '/core/api/jeeApi.php?&type=cmd&apikey=' . $eqLogic->getConfiguration('remote_apikey');
En faite en vérifiant pendant la rédaction de ce post, je m’aperçoit que c’est comme ceci qu’était la variable en stable.
Solution 2 : (pas testé)
modifier sendEqlogicToMaster()
pour que le remote_apikey
corresponde a l’apikey de real_eqType
. mais en réfléchissant je doute que ce soit possible car tout les plugins ne génère pas d’apikey, , ou peut-être faire une vérification avant et d’adapter remote_apikey
et real_eqType
en conséquence.
Désolé, j’ai essayé d’être le plus clair possible.
n’hésite pas si besoin.
Bonne journée.
Ok je vois il ne devrait pas envoyé la clef api du core mais sa propre clef api. Ca sera corrigé dans la beta de demain
Mais si il envoie sa propre clef api, ne retomberons pas dans un autre throw new Exception
car si j’ai bien saisi l’ $url pour la fonction execute() sera de type :
/core/api/jeeApi.php?plugin=jeelink&type=cmd&apikey='APIJEELINKSOURCE'
et dans ce cas jeeApi (L78) refusera la requête du fait qu’on essaiera d’exécuter une commande (de EqType autre que jeelink) avec la cle api de jeelink !
Merci.
Non pas si votre core est bien a jour
ok, merci Loic.
Pour résumer, la version de demain contiendra le correctif mentionné et il faudra remettre la clef api jeelink source dans les eqp sur le jeelink cible? C’est bien ça ?
Normalement oui et bien mettre a jour le core en alpha (la beta n’a pas la correction encore)
Alpha des 2 cotés ? source et cible ? ou alpha coté source devrait suffir ?
Non de partout
Merci. Bonne nouvelle.
Par contre, je vais attendre la correction dans la bêta. Trop de risque de descendre jusqu’à l’alpha.
Re,
Bon j’ai maj ce matin en beta jeedom et jeelink, et à force de test j’ai du progrès
par contre vu que la remontée n’est pas instantanée, je ne sais pas ce qui fait que je note une amélioration
Edit: validé côté cible, mes capteurs source remontent bien
hello
Je confirme que les commandes passent maintenant de la source vers la cible.
Par contre, les infos en retour ne sont plus rafraichies !
Exemple :
Lumière avec On / Off / Etat, On et Off agissent bien sur la cible, mais état ne change pas.