Plugin Abeille : besoin aide pour 3 capteurs

J’ai rencontré aussi un problème avec 2 qui partaient en timeout après inclusion.
Nouvelle inclusion sans activer le capteur après…timeout…
J’ai donc tenté la méthode d’activer le capteur plusieurs après l’inclusion, et effectivement, depuis plus de problème, tout est stable.

Que souhaites tu que je commente ?

Essayer de comprendre pour quoi le timeout disparaît si on s’acharne qq heures sur le capteur en le réveillant régulièrement :wink:

Oui par exemple.

Après peut-être que @ZiGate a déjà vu ce comportement et qu’il saurait nous expliquer :slight_smile:

J ai aussi eu des problèmes dans le passé et malgré la prise de trace zigbee je n’ai jamais trouvé de bonne raison. J’ai observé 3 problemes possibles:

  • Association Zigbee ne vas pas jusqu au bout: Ce que j’ai observé est le bon début de l association puis la procédure s’arrête (souvent du fait du device). En refaisant plusieures fois l association finalement la procedure va jusqu’au bout. Pourquoi ? Je n’ai pas trouvé de raison. Mon idée, soit un soucis device, soit firmware zigate.
  • Association d un equipement aupres d’un routeur (pas en direct sur la zigate). Alors le device est bien dans le reseau zigbee mais n’aparait pas dans abeille (Avec un Get LQi on peut le recuperer dans Abeille). Si ce soucis existe vraiment il est probablement au niveau d abeille.
  • Association sans Leave. Si le device se considere hors reseau mais la zigate le considere dans le reseau. Par exemple apres multiple essai d’association le device et la zigate ne sont plus synchro. Alors lors d’une demande d association venant le device, la zigate ne lui envoie pas la clef reseau car (je suppose) qu’elle considere qu’il l’a deja. Il faut dans ce cas provoquer un message Leave venant du device pour les re-aligner.

Merci pour ton retour @kiwihc16. Alors du coup de mon côté je n’ai pas de routeur zigbee, c’est que du direct. Je dirais que le point 2 peut donc être écarté. Après pour le cas 3, comment tu fais le leave ? Tu mets la zigate en inclusion et ensuite tu fais comme pour un join (rester appuyé 7s environ), c’est bien ça ? Juste que le capteur envoie un leave à la place d’un join ?
En tout cas j’ai constaté que quand je devais réinclure les devices, j’avais pas mal d’échecs (capteur qui s’allume longtemps à la place de faire 3 flashs). De plus je ne sais pas si c’est normal, mais à chaque ajout de device, je devais relancer le mode inclusion dans abeille pour que le capteur soit bien reconnu immédiatement, sinon erreur (alors que de souvenir la première fois que je l’avais fait, les capteurs s’ajoutaient durant toute la période d’inclusion).

Je ne sais pas si c’est des pistes mais j’ai eu ces comportements avant de pouvoir avoir qqc de stable.

Et sinon dans les logs de debug, je n’ai jamais vu de Leave à un seul moment malgré les quelques tentatives forcées d’inclusions, que des Joins…

Pour les capteurs de porte Xiaomi, quand tu fais un appui long sur le bouton, il fait un leave (tu devrais le voir passer dans les log AbeilleParser).
Puis il fait une Association.
A ma connaissance il n’est pas necessaire d attendre la fin du mode inclusion et le relancer pour inclure.
Par contre Abeille cherchant a recuperer l’equipement fait de nombreuses tentatives de dialogue car ils ont tous des comportements differents et cela peut demander du temps. Donc je dirai, regarder AbeilleCmd et attendre que les queues de message soient vides.
Apres il y a la commande remove non visible par defat sur la ruche qui peut etre essayée mais sur des equipemetns à piles ca peut etre un peu compliqué car il faut les reveiller et sans sniff du dialogue radio il est difficile de savoir ce qu il se passe vraiment.

Oui c’est ça, le problème c’est que j’ai un pizigate, du coup je peux pas trop analyser les trames qui circulent sur le canal Zigbee… :S

En tout cas quand les capteurs partaient en timeout, il n’y avait pas de leave et de join à la suite quand je les reincluais… Du coup c’est sûrement l’histoire que tu disais de synchronisation entre le zigate et le capteur. Sûrement que le zigate pense qu’il est là et que le capteur pense qu’il a perdu la synchronisation… Du coup peut être que l’astuce est de tout simplement réinclure le capteur après timeout et le refaire une seconde fois pour avoir le leave et le join à la suite comme tu disais et ainsi avoir la synchronisation.
A voir si le prochain sur le forum/Internet qui se retrouve dans cette situation pourrait tester.