Bonjour
As tu essayé de tester la serrure avec les 2 fichiers comme indiqué dans la doc que j’ai posté plus haut ?
je n’ai pas encore tester avec les 2 fichiers que je viens de télécharger sur mon jeedom.
si, j’essayer de déverrouiller la serrure de Jeedom j’ai une erreur de code :
1764|[2023-11-26 02:28:33]DEBUG : options: Array ( [user_login] => admin [user_id] => 1 )
1765|[2023-11-26 02:28:33]DEBUG : No code avalaible to use the locker
je viens de faire un test avec le script : ./test.py --host 192.168.x.x -i xxxx -c’xxxxxxxxxx’ close
{« status »: « ok », « code »: 0}
result: ok. Code: 0
duration: 8.284413
Ca fonctionne en ouverture et fermeture ![]()
. Le problème est que sur le site api.the-keys dans share j’ai au moins 15 lignes : jeedomKatlSd0J TK Gateway ( depuis toujours )
Si j’essais de les supprimer ou simplement les désactiver j’ai une erreur : 500 Internal Server Error
( Idem avec Chrome et IE )
Conclusion : avec le script ca fonctionne. Maintenant je ne sais pas pourquoi sur mes Jeedom ca ne marche plus. J’ai 3 jeedom différent ( PI3 , PI4 en 4.3.18 et sur VM en 4.4.0). Et pour les 3 j’ai exactement les mêmes erreurs sans explication avec des versions différentes.
Déjà je vais pouvoir provisoirement passer par le script en attendant de résoudre le problème du pluging Jeedom.
Bonjour,
Concernant cette erreur :
7093|[2023-12-03 16:41:06]DEBUG : URL : http://192.168.0.32/locker_status
7094|[2023-12-03 16:41:06]DEBUG : Array : Array ( [hash] => YSW7VfRRm3RiTJc7e1cL3n0rZ1Op7wmXPr5QGxzhbI0= [identifier] => 4xxx [ts] => 1701618066 )
7095|[2023-12-03 16:41:06]DEBUG : Retour : Array ( [status] => ko [code] => 33 [cause] => hash is invalid )
7096|[2023-12-03 16:41:06]DEBUG : Statut de la serrure : 33
Je me pose la question, si ça ne serait pas dû au changement d’heure ? ( je viens de regarder le ts et la valeur correspond à la bonne heure )
Pour info j’ai désinstallé et réinstallé le plugin sur mon Jeedom de TEST sans resultat ![]()
Ce qui est aussi étrange, c’est que le statut fini par passer au bout d’un certain temps ( entre 10mn et 30mn je pense ).
Concernant le script ( merci @cibertech ) il fonctionne bien. Mais mais ça reste une solution de contournement.
Bonjour,
Dans : thekeys.class.php
Fonction : public function callGateway(…)
log::add(‹ thekeys ›, ‹ debug ›, 'code : ’ . $code); → renvoie rien $code = ‹ › ![]()
$code =‹ uwwxxxxxxxxx8iPGxd ›; → J’ai donc forcé la variable $code avec le bon code
$key = hash_hmac(‹ sha256 ›,$ts,$code,true);
$hash = base64_encode($key);
Dans la fonction : class thekeysCmd extends cmd {
J’ai aussi modifié ces lignes de code pour que la commande ouverture et fermeture fonctionne :
$code = $key[$gatewayid][$eqLogic->getConfiguration(‹ id ›)][‹ code ›]; → remonté avant le if
if (!isset($key[$gatewayid][$eqLogic->getConfiguration('id')]['code'])) {
log::add('thekeys', 'debug', 'No code avalaible to use the locker');
$code ='uwwxxxxxxxxxxxd'; -> je force le code
//return;
}
Donc le problème vient du $code qui n’est plus récupéré ou qu’une fois de temps en temps.
En mettant le code en dure tout fonctionne à nouveau