NodOn NIU button : 1 action on the button generate many repetitions in MQTT

Hello
I have NodOn NIU buttons (Bluetooth Low Energy BLE)
Theengs and MQTT integration with Jeedom is working well but for 1 action on the button i have several repetitions in Jeedom
Looking at the MQTT log i have the same issue : the action (ex 1 click) is repeated up to 8 times.
What should i do to get only one action in MQTT ?
Best regards

Hi @Domsrx06

As you are using Theengs Gateway, likely the TGW plug-in in Jeedom, it does not have a BLE duplication cache filter during the scan duration as OpenMQTTGateway has.

This has some advantages, like for presence detection or other state changes which happen within the scan duration, but can also be viewed negatively, as in your case.

Your best solution would be to trigger whatever you trigger with the button press, not every time you receive a 1 for the button property, but only on a change, likely from UNDEF or whatever the equivalent is in Jeedom. to 1,This will only give you a single trigger in Jeedom, no matter how many additional 1s common in very quick succession.

For simplification I could add a state 0 for no button press to the decoder, if you can confirm that state with a sample message with no button press with Advanced and Advertising data turned one in the TGW-plug-in settings.

Hello @DigiH,
Thanks for your fast answer
There is in Jeedom this filter (repetition : Répéter les valeurs identiques) on the command “Button”, but the limit, when activated, is that a “reel / physical” second 1 click “later” will not be seen by Jeedom at all.

Not sure to understand this : For simplification I could add a state 0 …

Hello @Mips
Does it means that TGW or MQTTDiscovery plug-in could get inspired by this “BLE duplication cache filter“ capability from OpenMQTTGateway ?

I have tried to manage the “change” status in the scenario (overwrite in the scenario, the button value received with 0)
but today the jeedom scenario is activated / triggered several times (in sequence, not even simultaneously) by 1 physical click : so the forced 0 (in scenario) is overwritten by another 1 (received from MQTTDiscovery).
I can try to slow down the jeedom scenario triggered by the button so that repetitions will be missed and my 0 not overwritten.…

i’ll keep you posted

@Domsrx06

Can you confirm that the button send regular broadcasts when no button is pressed, or a reset broadcast after any of the possible button presses?

Hello @DigiH

The button send several times a value when pressed (ex “1” for 1 press)
then (later) no other button value : nor “1” (last value repeated) nor “0” (as a reset)
it stay silent until the next press

Finally I have “slow down” my scenario (“sleep” command for 1 sec) to keep the scenario active.
As the scenario is configured not to run simultaneously, the repetitions are “missed” and do not trigger several scenario executions in parallel or in sequence.

I could add a state 0 for no button press to the decoder
is your proposal to send, a certain time after a press action, the value 0 ?

screenshot : a message “absent” in MQTT after a certain time, but other different button messages after the last press

Good that you found a solution and addressed this in Jeedom.

Yes, this is the tracker away message. I will take the tracker functionality out however, as it doesn’t make sense for devices which don’t send regular broadcasts.