Zigbee2MQTT vers JeeZigbee - Messages rapides perdus!

Bonjour,

J’utilise la dernière version de Jeedom, avec JeeZigbee et Zigbee2MQTT, et une clef Sonoff zdongle-e.
J’ai déjà réussi à intégrer 2 objets Zigbee différent sans problème.

Maintenant j’essaye d’intégrer un interrupteur de volet Legrand 067646

(J’ai déjà réussi à intégrer un autre type d’interrupteur sans fils Legrand)

Celui-ci n’expose que 3 endpoints dans Zigbee2MQTT:

  • Battery
  • Action
  • Linkquality

L’appuie sur le bouton haut ou sur le bouton bas de l’interrupteur, déclenche donc « Action » avec une valeur spécifique.

Quand on appuie sur le bouton du haut, ca renvoie 2 actions à la suite:

  • Open puis Stopped

Quand on appuie sur le bouton du bas, ca renvoie 2 actions à la suite:

  • Close puis Stopped

Dans la page web du deamon Zigbee2MQTT, sur la page de device, on voit bien les 2 valeurs successives s’afficher (c’est assez rapide).

Le problème c’est dans JeeZigbee (et donc dans Jeedom), il n’y a, pour 99% du temps, que l’action « Stopped » qui est remonté. Très rarement on voit bien passer le « Open » puis « Stopped » (ou « Close » puis « Stopped »).

Je présuppose que la suite d’actions renvoyé par l’interrupteur est trop rapide et n’est pas remonté dans JeezigBee intégralement dans JeezigBee.

Est ce un problème de configuration dans Zigbee2MQTT ou dans JeezigBee (j’utilise la configuration par défaut, je n’y connais rien)?
Ou un « vrai » problème dont la solution ne serait pas configurable… mais nécessiterait un patch des développeurs?

Merci

Bonjour,

faut pas supposer mais vérifier => faites 2 scénarios, j’insiste deux scénarios

configurez ces déclencheurs respectivement (un par scénario donc):

  • #votre_commande# == 'open'
  • #votre_commande# == 'close'

et juste une action log qu’importe ce qui est log
ensuite voyez ce qu’il se passe, est-ce que les scénarios sont exécutés ou pas?
si oui:

  • vous avez votre solution et un embryon de scénario à compléter pour effectuer les actions voulues
  • ce n’est qu’un délai d’affichage qui fait que vous ne voyez pas l’info sur la commande mais celle-ci a bien reçu la valeur nécessaire
1 « J'aime »

Bonjour,
Je confirme c’est pas pck tu ne le vois pas dans jeedom que jeedom ne le traite pas. Tu as le choix des 2 scénarios ou d’utiliser analyse → temps réel pour voir les valeurs que la commande prends.

Bonjour,

J’avais justement fait un scenario provoqué par l’appuie d’un bouton de l’interrupteur.
Dans les logs du scenario, je vois 99% du temps que le « Stopped » en déclenchement du scenario.
De temps en temps je vois « Open » puis « Stopped » (ou « Close » puis « Stopped » selon le bouton testé).

Je joins la copie des logs avec 4 appuies successifs à quelques secondes d’intervalle.
Le premier appuie, a bien fonctionné, les 3 autres, non.

Quand je vais dans la page Zigbee2MQTT et que je fais le meme type de test, je vois tout le temps les 2 commandes successives passer.

j’ai été extrêmement précis sur ce qu’il fallait faire et c’était pas ça, ce n’est pas pour rien.

Faites exactement ce que j’ai dit

il ne faut pas un scénario avec l’action en déclencheur mais y mettre le test indiqué.
Faites une capture d’écran de ce que vous avez fait lorsque c’est fait

Je confirme c’est important car jeedom lors de l’affichage de la log prend la valeur courant au moment de l’écriture de la log et non au moment du lancement du scénario (j’ai fait un PR pour corriger ce comportement).

Bonjour,

Déjà merci de prendre du temps pour me répondre et d’essayer de m’aider :slight_smile:

Donc j’ai fait 2 + 1 scenario.

  • Un qui se déclenche sur la valeur « open »
  • Un qui se déclenche sur la valeur « close »
  • et un qui se déclenche sur n’importe quelle valeur.

Voici les configurations des 3 scenarios :

Ensuite, premier test, j’appuie sur le bouton « open » de l’interrupteur, puis quelques secondes apres sur le bouton « close ».

Je rafraichis la page scenario pour avoir l’heure de dernière écriture des logs.
On voit que seul le scenario « Any » est déclenché. Dans ces logs il n’y a que la valeur « stopped ».

J’avais aussi la page de Zigbee2MQTT d’affichée à côté, et je vous assure (mais impossible de prendre la capture d’écran, il faudrait faire une video sinon) que j’ai bien vu toutes les valeurs passer.

Enfin, j’ai affiché le log (temps réel) du scenario « Any » (qui ne filtre pas selon la valeur du bouton) et j’ai appuyé sur mon interrupteur bouton close jusqu’à voir « close » s’afficher dans les logs.

Là j’ai rechargé les pages des scenario pour afficher l’heure de logs des scenario.
Le scenario « Close » s’est bien déclenché.

Enfin dernier test dans Analyse Temps réel, j’ai appuyé une nouvelle fois sur le bouton « close » de mon interrupteur et on ne voit que « stopped ».

J’ai peut être mal fait / pas compris quelque chose, car je suis assez novice sur Jeedom.

Merci

Peux tu mettre une capture de la configuration du plugin mqtt ? Il fait de la temporisation a 0.3s a la base pour pas surcharger jeedom donc si tu as un changement en moins de 0.3s ca peut passer a coté.

C’est peut être ca effectivement!

Je teste 0.2 et si ca marche pas mieux 0.1?
Et j’appuie sur Sauvegarder évidemment.
Il y a quelque chose à relancer ensuite si je change la valeur?

Il faut relancer le demon et test directement avec 0.

C’est beaucoup mieux.
Merci!

J’ai relancé le deamon Zigbee2MQTT, et aussi celui de Jeezigbee.

Maintenant ça marche 99% du temps.
De temps en temps je ne vois que le « stopped », mais du coup ca le fait aussi dans la page de Zigbee2MQTT (j’ai été vérifier)…

Si je fais un appuie un peu plus long sur un bouton, ca re-débloque la situation.
Je ne sais pas si y a un « mode » interne dans le firmware de l’interrupteur qui fait que ca envoie que « stopped » seulement à certains moment (à la suite de je ne sais quoi).

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.