OMG + jMQTT : utilisation de "hasspresence"

Bonjour

J’ouvre ce sujet sur l’utilisation de l’une des fonctions de Open MQTT Gateway (voir lien suivant)

Il est également complémentaire au sujet suivant qui a été fermé :

J’ai activé le paramètre « hasspresence » à true (comme l’indique la doc : BLE ESP32 gateway | OpenMQTTGateway v1.7.0

Un sous-topic a été créé sous bt : bt/presence/

J’ai créé un équipement présence en suivant le tuto de @Bad :
image

Dans la copie d’écran, on peut constater que l’info id est en binaire, mais lors de la création automatique de la commande, on récupère l’adresse MAC

J’avais commencé à regarder comment utiliser la valeur de la commande id et j’en avais modifié la configuration pour suivre une adresse MAC (un NUT)

Je m’en étais arrêté là hier au soir et ce soir, je constate que le paramètre « hasspresence » est repassé automatiquement à false ?

Avez-vous constaté ce problème ?
Je précise que je n’ai pas redémarré mon ESP32

1 « J'aime »

Hello @i-magin,

As-tu trouvé une réponse à ta question ?
Est-ce que tu pourrais m’envoyer les messages MQTT remontés par OMG et le nut stp ?

Perso je n’utilise plus la présence via OMG depuis que mon tel à JeedomConnect.

D’après la doc, tu as fait ce qu’il faut coté OMG : BLE gateway | OpenMQTTGateway v1.6.0
Mais peut-être pas sauvé la config dans l’esp our dans le Broker, à savoir publier toute la config
(ex {"interval":1, "minrssi":-100, "hasspresence":true}) en RETAIN.

Par contre, coté jMQTT, je ne pense pas que la config soir 100% ok.
Peux-tu lancer une capture de tout ce que tu reçois sur bt/# en mode temps réel (ou en ligne de commande avec mosquitto_sub si tu sais faire, c’est plus simple à copier) ?
Il me faudrait une trace quand le NUT est présent ET quand il n’est pas présent (enferme-le dans ton micro-onde pour bloquer le signal). Laisse tourner au moins 3 minutes et si tu peux me faire un fichier texte pour chaque trace (par MP s’il y a des données sensibles), ce serait top.

Bad

Bonjour @Bad
Merci pour tes infos
Je m’en occupe la semaine prochaine à mon retour

Bonjour @Bad

Je vais tenter de répondre à tes questions, mais je suis un néophyte

J’ai installé 2 ESP32 avec OMG :

  • Dans le champ « mqtt base topic », j’ai inscrit : « bt/ »
  • Pour le « gateway name » : j’ai retenu « Entree » et « Salon »

Sous MQTT Explorer j’obtiens ceci :
image

Les paramètres de « bt/Entree/BTtoMQTT » :
{"bleconnect":true,"interval":100,"adaptivescan":true,"intervalacts":100,"intervalcnct":3600000,"scanduration":1000,"onlysensors":false,"randommacs":false,"hasspresence":false,"presenceTopic":"presence/","presenceUseBeaconUuid":false,"minrssi":-100,"extDecoderEnable":false,"extDecoderTopic":"undecoded","filterConnectable":false,"pubadvdata":false,"pubBeaconUuidForTopic":false,"ignoreWBlist":false,"presenceawaytimer":120000,"movingtimer":60000,"btqblck":8907,"btqsum":170145,"btqsnd":107187,"btqavg":1.587366,"bletaskstack":2128,"blecoretaskstack":3012,"blestarts":1}

J’ai créé une commande action avec les paramètres que tu as donné en exemple, avec l’option RETAIN… que je n’avais pas utilisée lors de mon essai précédent (je pensais que la configuration était perdue uniquement en cas de reboot de l’ESP32)

image

Voici le résultat :
image

  • Le paramètre « hasspresence » de bt/entree est passé à true, mais le paramètre « interval » est resté à 100 (NB : « minrssi » était déjà à -100)
    {"bleconnect":true,"interval":100,"adaptivescan":false,"intervalacts":100,"intervalcnct":3600000,"scanduration":1000,"onlysensors":false,"randommacs":false,"hasspresence":true,"presenceTopic":"presence/","presenceUseBeaconUuid":false,"minrssi":-100,"extDecoderEnable":false,"extDecoderTopic":"undecoded","filterConnectable":false,"pubadvdata":false,"pubBeaconUuidForTopic":false,"ignoreWBlist":false,"presenceawaytimer":120000,"movingtimer":60000,"btqblck":9506,"btqsum":176756,"btqsnd":111009,"btqavg":1.592267,"bletaskstack":2128,"blecoretaskstack":3012,"blestarts":1}

  • Dans le topic bt/entree une « rubrique » « commands » a été créée
    image

  • Le topic « bt/presence » a été créé
    image

Dans « bt/presence » apparait le « gateway name » « Entree » qui recueille les remontées de tous les modules bluetooth

J’ai copié plus haut les infos recueillies avec MQTT Explorer (je ne connais pas « mosquitto_sub »)

Je vais reprendre le suivi d’un NUT et te donnerai des infos complémentaires

Merci !

Hello et merci pour ce retour,

OK, ça à l’air bon malgré tout.

C’est de ces messages dont j’ai particulièrement besoin, ou plutôt de leur enchainement.
Tu dois y retrouver la distance et le rssi (à priori, pas besoin de cacher l’adresse MAC).
Selon le device, un autre message part quand OMG ne voit plus le device (param presenceawaytimer ici à 120s).

Je précise que je n’ai pas besoin de 700 msg, mais juste de ceux qui concernent ce device (F8:24:41:*), quand il est la et quand il n’est plus vu.

Si tu n’arrive pas à me faire un export texte (pas image) avec MQTT Explorer, regarde du coté de mosquitto_sub directement en ssh sur Jeedom.

Bad

Bonjour

Tout d’abord, le paramétrage de « hasspresence » de bt/entree est bien resté à true : merci pour le « RETAIN » !

Ci-après, les remontées d’un NUT FIND 3 dans le topic bt/Entree/BTtoMQTT :

05/08/2023 18:11:22(-38.62 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-69,"distance":3.119501,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

05/08/2023 18:12:01(-39.66 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-67,"distance":2.509097,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

05/08/2023 18:12:40(-6.82 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-78,"distance":7.85288,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

05/08/2023 18:12:47(-119.85 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-69,"distance":3.119501,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

Mise du NUT au micro-ondes … et après 2 minutes de cuisson :grinning: :

05/08/2023 18:14:47
{"id":"D5:A5:AE:08:51:BF","state":"offline"}

Après retrait du NUT :

05/08/2023 18:32:05(-4 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-66,"distance":2.246586,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

05/08/2023 18:32:28(-27.04 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-55,"distance":0.495572,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

05/08/2023 18:32:56
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-60,"distance":1.135236,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

Le NUT est tout proche de l’ESP32, mais je constate une perte de remontée d’info > 2 minutes :
05/08/2023 18:34:55(-3.3 seconds)
{"id":"D5:A5:AE:08:51:BF","state":"offline"}

05/08/2023 18:35:26(-23.38 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-76,"distance":6.44788,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

05/08/2023 18:35:49(-27.05 seconds)
{"id":"D5:A5:AE:08:51:BF","name":"nut","rssi":-57,"distance":0.708318,"brand":"nut","model":"Smart Tracker","model_id":"NUT","type":"TRACK","device":"nut Tracker"}

J’ai surveillé une dizaine de minutes et pas de délai de remontée > 2 minutes

NB :
J’ai découvert que ma montre HUAWEI WATCH GT 2 était détectée par l’ESP32 et les remontées d’infos sont de l’ordre de la seconde.
Par contre pas de « state »:« offline » après 2 minutes de micro-ondes
Type d’infos remontées :
{"id":"34:B2:0A:XX:XX:XX","name":"HUAWEI WATCH GT 2e-091","rssi":-88,"txpower":0,"distance":19.7325}

Merci pour ton aide

Info complémentaire

J’ai ajouté une commande info à l’équipement bt/Entree/BTtoMQTT/D5A5AE0851BF :

La valeur est passée à 0 après un « state »:« offline »

Mais comme il n’y a pas de « state online », la valeur reste à zéro

Bonjour Bad

Je n’ai pas ce paramètre pour un NUT FIND 3
Comme je l’ai écrit précédemment, la valeur « state » à « offline » apparaît dans MQTT Explorer
J’ai ajouté une commande info à l’équipement : je récupère l’état « offline » en absence du NUT.
Mais la valeur ne change pas au retour du NUT, alors que dans MQTT Explorer la valeur « state » est supprimée

Je ne m’en sors pas et je vais devoir abandonner la gestion de présence avec OMG, alors que je l’avais mis en œuvre uniquement pour cela … un espoir toutefois avec le nouveau plugin « MQTT Discovery » de Mips

Bonjour,
Je m’initie à OMG pour détecter mes Nutales du blackfriday.
J’arrive à voir bien sur mes différents capteurs de T° et bien d’autres chose comme ma Nuki dont il va falloir que je m’occupe aussi.
Cotè Nutale sur lequel je bosse en ce moment je remonte bien :
{« id »:« A4:C1:38:C4:E8:7F »,« name »:« nutale »,« rssi »:-84} et j’ai bien créé mon équipement dans Jmqtt.
Par contre je n’arrive pas à mettre hasspresence à true !
J’ai lu et fait ce que dit la doc (à moins que je l’ai mal comprise encore une fois)
Dans console j’ai testé :
Ce que dit la doc.

mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m '{"hasspresence":true}'

Résultat : E: deserialize MQTT data failed: InvalidInput
J’ai testé ce qui me semblait plus logique :

mosquitto_pub -t home/OMG_ESP32_BLE/commands/MQTTtoBT/config -m '{"hasspresence":true}'

Résultat : E: deserialize MQTT data failed: InvalidInput

J’ai testé aussi en commande jmqtt action tel que I-magin semble avoir réussi :

rien à faire, je patauge …

Edit : C’est bon j’ai réussi à mettre hasspresence à true, j’avais juste mis MQTTTOBT au lieu de MQTTtoBT

Mets les commandes entres balises pour pas que cela soit interpreté par le forum
Si ça se trouve y a une faute et on la voit pas

Salut,
Ca va bien ? on te lisait moins ces jours-ci :slight_smile:
Oui tu as raison (j’ai juste copié collé la phrase de la doc) mais je vais modifier quand même ce sera plus beau.
:v:

je ne pense pas

par contre je sais qu’il a plugin-mqttdiscovery et que ca fonctionne tout seul avec :wink:

1 « J'aime »

C’était la séquence Pub :partying_face:
Oui Mips je m’en doute que ça marche bien avec ton plugin, mais si je fais du tout mâché je n’apprend rien et mon vieux cerveau de bientôt 67 années de bons et loyaux service va décliner :frowning:
Là je cherche à comprendre, à apprendre, je perd du temps, j’en fais perdre aux gens à qui je pose des questions alors que c’est sous mes yeux dans la doc :face_with_hand_over_mouth:

J’ai essayé de gérer ça avec @ArnauldF avec le hasspresence et jmqtt mais après de nombreux essais on a abandonné au profit du plugin de mips.

et depuis tout fonctionne nickel :slight_smile:

pfff vous m’aidez pas à me décourager :joy:
Ce n’est pas vital, c’est pour apprendre. Si j’en étais resté à installer seulement zwavejs et jeezigbee je n’aurais jamais compris le peu que je sais sur mqtt.
Je ne connaissais pas l’esp, maintenant un peu plus, je me familiarise avec les topics etc …
J’ai acheté mes motos et mes voitures chez un fabriquant, cela ne m’empêche pas de savoir comment elles fonctionnent et d’en faire l’entretien et la réparation.

2 « J'aime »

MQTT explorer plutôt que le client mosquitto est plus facile à aborder et donne une vue exhaustive du traffic MQTT. Une capture d’écran de ce qui est publié quand ça ne marche pas et sans doute aussi plus facile à diagnostiqué qu’un copier coller.

C’est un bon outil pour se familiariser avec le protocol et voir ce qui se passe « sous le capot » des chaînes de communication IoT.

2 « J'aime »

MQTTtoBT et non MQTTTOBT

L’œil du maitre :slight_smile:

Bonjour,
J’ai bien déjà Mqtt explorer et oh oui c’est bien utile pour voir le trafic et bien identifier les topic/
Merci MQTTtoBT j’avais trouvé également mon erreur. Ca va vite ce genre de bêtise quand on suit plusieurs pages en même temps.
Donc hassprésence est à true. Alors pour être honnête, la seule chose que je vois de changé c’est que j’ai la distance qui est apparue. Je suppose que c’est en mètre ?
A part ça je ne comprends pas trop non plus grande différence entre ce qui est publié sous home/OMG_ESP32_BLE et ce qui est publié sous home/presence.

Hier soir j’ai remonté un PI et j’ai installé Theengs Gateway, les infos remontaient bien. Je vais m’y remettre aujourd’hui pour comprendre ce qu’on peu en faire. J’avoue que c’est obscur et en anglais ce qui n’arrange pas.
Pas facile de situer OpenMQTTGateway par rapport à TheengsGateway !

En fait le home/presence remonte l’info dès que OMG voit un périphérique bluetooth. Et des que la présence d’un autre est repéré en voici un autre.
J’avais tenté d’utiliser ça a coups de virtuel et d’un scénario qui permettait de mettre a jour automatiquement selon le device, le virtuel correspondant avec un retour d’état automatique au bout de x minutes. Mais c’était pas nickel nickel.