Bonjour
J’ai des boutons NIU (BLE de type poussoir) qui prennent la valeur du nombre d’appuis consécutifs appliqués
Ils sont gérés avec des antennes (ESP32 + OpenMQTTGateway) qui pointent vers le même broker MQTT sur mon Atlas.
Grace au plugin MQTT Discovery (MQTTDiscovery) toutes ces antennes pointent vers le même équipement / la même commande Jeedom.
Pour un seul appui sur le même bouton il y des « rebonds » de valeur de la même antenne (confirmé sur le forum openmqttgateway quand je n’avais qu’une antenne)
Maintenant j’ai 3 antennes (voir capture d’écran ci-dessous)
Est il possible qu’il y ait des « rebonds » entre les antennes dans Jeedom avec MQTT Discovery ?
→ le même appui arrive dans le broker MQTT par des antennes différentes et donc ensuite la valeur de la commande MQTT Discovery (qui combine les 3 antennes / 3 topics MQTT) est aussi répétée dans Jeedom.
PS : La commande bouton est configurée dans Jeedom avec « Répéter les valeurs identiques »,
car le bouton envoie dans MQTT uniquement la dernière valeur correspondant au dernier nombre d’appuis. Si on appuie 1 fois le bouton envoie 1 à MQTT (et rien d’autre ensuite) et quand « plus tard » on ré appuie 1 fois il renvoie (un autre) 1 à MQTT et donc a Jeedom.
Cette nouvelle valeur 1 est détectée grâce « Répéter les valeurs identiques ».
Mon problème
Ce bouton déclenche un scénario que j’avais calmé avec des tempo (sleep dans le scenario) pour éviter les lancements successifs (quand je n’avais qu’une antenne).
Maintenant avec mes 3 antennes, j’ai l’impression que je suis dans la fenêtre de la seconde ou le même scénario se lance en parallèle (voir l’avertissement dans la doc Jeedom ci-dessous)
Question : Comment filtrer ces lancements multiples dans la même seconde ?
Après de multiples tentatives j’ai trouvé ceci qui semble fonctionner :
Dans le déclencheur qui contient la commande « bouton », j’ai rajouté la condition que le scénario ne soit pas déjà « running » / en cours d’exécution.
Rappel : dans le scenario, j’ai une tempo « sleep » pour ralentir son exécution (en gros la durée du filtre des rebonds de la commande « bouton »)
L’intérêt de cette solution c’est qu’elle ne ralenti pas le démarrage du scénario (les actions du scenarios sont lancées au premier signal / front et donc on n’a pas tendance à ré appuyer parce qu’il ne se passe rien) mais elle filtre les suivants (les rebonds se produisent quand le scénario est déjà en cours)
Appel aux experts du core Jeedom :
- mon interpretation / solution est elle correcte ?
- cela vaut il la peine de rajouter cette astuce dans la doc Scénario avec le « Important »
Equipement / Commande « Bouton » dans MQTT Discovery (MQTTDiscovery) : on y voit les 3 antennes (mais une seule commande grâce au + / + : ca c’est très cool
)
Documentation Jeedom sur scénario





