MQTTDiscovery + ESP32/OMG - delais absence

Bonjour,

Je reviens sur mon sujet de douchette Hydrao, je détecte sa présence la douche commence et son arrêt la douche est terminée (ça pourrais être un cas avec d’autre type d’appareil…).

Le plugin-mqttdiscovery permet de définir un délais d’absence en secondes permettant d’indiquer que l’appareil est absent car plus présent (non détection depuis ce délais en secondes).
La valeur par défaut est de 120 sec, pour le cas d’une douche, je me suis dit je baisse ce délais à 15 sec pour récupérer les temps de savonnage (pour faire comme l’application Officiel). Objectif avoir une estimation de la cosommation d’eau plus précise.

Mon problème c’est que le délais de non détection par le plugin tourne entre 70 à 90 secondes.
Ce matin je viens d’activer les logs de plugin-mqttdiscovery pour essayer de comprendre.

Le départ de la douche était à 9h47:47, il a fallu 5 sec pour le que plugin détecte la présence ce qui correspond avec les trames reçu.
La douche c’est terminé à 9h48:55, le plugin à détecté l’absence à 9h50h05 soit cette fois ±70 sec.

Voici les lignes de log correspondant au détection de la douchette, la dernière détection a eu lieu à 9:49:01 (ce qui correspond à mon arrêt).

[2024-06-28 07:09:55][DEBUG] : new message:{"home":{"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-77}}},"TGW_770":{"BTtoMQTT”:{…}}}}}
[2024-06-28 07:10:11][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"650BFC30D6BA":{"manufacturerdata":"e0000137ca95d8a9","id":"65:0B:FC:30:D6:BA","rssi":-74,"servicedatauuid":"fe9f","servicedata":"0000000000000000000000000000000000000000","mfr":"Google"}}},"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-73},"5C6B103B219B":{"id":"5C:6B:10:3B:21:9B","mac_type":1,"adv_type":2,"manufacturerdata":"e0000138ca89b767","rssi":-90,"servicedata":"0000000000000000000000000000000000000000","servicedatauuid":"0xfe9f"}}}}}
[2024-06-28 07:10:59][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT”:{…}}},”OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-75}}}}}
[2024-06-30 09:47:53][DEBUG] : new message:{"home":{"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-77}}}}}
[2024-06-30 09:47:56][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}}
[2024-06-30 09:48:00][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-85}}}},"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-78}}}}}}
[2024-06-30 09:48:06][DEBUG] : new message:{"home":{"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-74}}}}}}
[2024-06-30 09:48:07][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-85}}}}}
[2024-06-30 09:48:10][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-85}}}}}}
[2024-06-30 09:48:11][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-75}}}}}
[2024-06-30 09:48:16][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}
[2024-06-30 09:48:17][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-84}}}}}}
[2024-06-30 09:48:18][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-84}}}},"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-79}}}}}
[2024-06-30 09:48:19][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-81}}}}}}
[2024-06-30 09:48:20][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-82}}}}}}
[2024-06-30 09:48:27][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-84}}}}}}
[2024-06-30 09:48:28][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-84}}}}}}
[2024-06-30 09:48:29][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT”:{…}}},”OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-81}}}}}
[2024-06-30 09:48:38][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}}
[2024-06-30 09:48:40][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}}
[2024-06-30 09:48:41][DEBUG] : new message:{"home":{"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-73}}}}}}
[2024-06-30 09:48:47][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-84}}},"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-76}}}}}
[2024-06-30 09:48:50][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}}
[2024-06-30 09:48:53][DEBUG] : new message:{"home":{"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-73}}}}}
[2024-06-30 09:48:58][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}}
[2024-06-30 09:48:59][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}},"OMG_ESP32_BLE":{"BTtoMQTT":{"8Fxxxxxxxx21":{"id":"8F:xx:xx:xx:xx:21","mac_type":0,"adv_type":0,"name":"HYDRAO_SHOWER","rssi":-70}}}}}
[2024-06-30 09:49:00][DEBUG] : new message:{"home":{"OMG_ESP32_BLE":{"BTtoMQTT”:{…}}},”TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}
[2024-06-30 09:49:01][DEBUG] : new message:{"home":{"TGW_770":{"BTtoMQTT":{"8Fxxxxxxxx21":{"name":"HYDRAO_SHOWER","id":"8F:xx:xx:xx:xx:21","rssi":-83}}}}}}

@Mips, je m’attendais à ce que le plugin MQTT indique l’absence à 09:49:16 sec. Aurais-tu une explication stp ?
Au début je pensais que cela venais de omg, j’ai changé les valeurs des intervalles de 15000 à 5000ms.

Merci

Était-ce vraiment le dernier message reçu par OMG et TGW de l’Hydrao?

De nombreux appareils envoient encore des émissions BLE, même lorsque vous pensez qu’ils sont éteints. La balance Xiaomi, par exemple, pendant encore 20 minutes après que vous vous soyez pesé et que l’écran soit éteint.

Peut-être que l’Hydrao a un condensateur, qui se recharge pendant la douche, pour permettre de diffuser quelques minutes après avoir pris une douche, pour permettre de vérifier avec l’application sur le smartphone par la suite??

S’il s’agit vraiment de la dernière diffusion, alors un paramètre de délai d’attente plus court individuel dans le plugin-mqttdiscovery pour l’Hydrao devrait faire l’affaire - d’après ce que j’ai appris jusqu’à présent sur les délais d’attente des trackers d’appareils dans Jeedom :slight_smile:

Pour moi c’était le dernier car je ne trouvais plus dans les logs d’instructions avec cette Mac Address.

Je viens de refaire une tentative le dernier message reçu est à 15:51:30 pour le plugin-tgw et 15:51:29 pour l’OMG (avec MQTT Explorer).
Le plugin-mqttdiscovery indique que la douchette c’est arrêté à 15:52:05, pour moi je m’attendais à avoir 15:51:45 (dernier message reçu + 15 sec de temps paramétré pour le délais d’absence).

A l’heure ou j’écris ces lignes 15:59, il n’y a pas de nouveau message qui arrive dans MQTT Explorer.

J’imagine qu’il y a un paramètre dans le plugin MQTT discovery qui doit être pris en compte.
@Mips, est-il possible de connaitre la dernière trame de communication reçu dans le plugin ?

merci

Salut,

Je ne sais plus si j’ai mis à jour la doc mais il y a déjà eu la question: le délai est bien un nombre de secondes d’absence mais le plugin ne vérifie que chaque minute (par soucis d’économiser les ressources) donc il est probable qu’il y ai un « délai » aléatoire supplémentaire avant que ca ne passe réellement absent.
Ce n’est pas le cas pour passer présent

Merci pour l’explication je comprend mieux.
Bonne soirée.

J’avais essayé d’être plus « temps réel », ca fonctionnait mais ca demandait trop de boulot à jeedom en arrière plan et en testant sur des petites configs je trouvais que cela avait un impact trop important tout ca pour en moyenne gagner 30s, ca me paraisait dérisoire.
Mais si un jour j’ai une meilleure idée ca sera fait

Oui je comprend, j’ai activé l’historique de la commande rssi avec répétition des valeurs identiques. Du coup je devrais pouvoir récupérer le dernier historique différent de -200 et estimer l’arrêt ensuite.
Après faut pas te prendre la tête pour mon cas très à la marge de l’usage normal.

1 « J'aime »