Show your automation and not the example. And what does it exactly mean, “it’s not working”? Is the sky turning purple when you run it? You see where I’m going with this?
I’m trying to do the “ID change” as in the OP, but am having difficulties. E.g. I put a message to:
espresense/settings/iBeacon:xxxxx-100-1/config
with the message:
{“id”:“david”,“name”:“DavidWatch”}
I didn’t see any noticeable difference within MQTT. I added david to the filtering, and now it’s not tracking my beacon anymore. What am I doing wrong?
I restarted both the Esp as well as my watch, but still no luck.
I figured it out. Do not copy/paste the payload from the OP post, as it will copy the left quote and right quote. They all need to be plain ascii quote characters ("), i.e.:
I have a little problem with my galaxy watch.
Sometimes the beacon not report presence in espresense. to solve it, I must open the home assistant companion app in the watch again.
After this, the beacon report correctly.
Is the only way to change the device “alias” (like “david”, above) through sending an MQTT message?
Is there no way to change the device ID using the Home Assistant UI?
Not natively, no. Keep in mind the ESPresense project is not tightly coupled to Home Assistant, it simply uses MQTT.
That said, you could easily create an automation that would publish the topic required through Home Assistant, using a text input entity for example. A change of the text could trigger the automation and then you could but the text input in a dashboard for easy changes.
SOLVED: Remember to post the Config message as “Retained”!
I’m not seeing the ability to use the alias (from the config entry) in the receiver’s filtering.
When I add the config, and I see it appear properly in MQTT, even though the updates in the MQTT messages are using the alias, the receiver doesn’t appear to be filtering with that alias.
If I add the actual device ID back into the “Filter” field, all works fine, and ESPresense/Home Assistant see the “alias” device.
But the receiver itself doesn’t appear to use the config from MQTT, which actually makes sense, no?
The receiver knows nothing about that config entry. But once it publishes the message, ESPresense takes over and uses the alias for all its work…
I figured it out…
Important note… First learn how MQTT Explorer works!
I didn’t publish the Config as “Retain”. and though it remained on my Explorer screen (even though it had already been consumed), the rebooted receivers were not receiving the message.
Once I published the Config message “retained” (Duh!) it all worked fine…
in the picture you can see the samsung-7cff… that is the watch with the correct distance. The iBeacon is the Beacon from Homeassistant Wear Os app.
can i adjust the RSSI@1m from the iBeacon from the watch? i tried with mttq explorer but it wont adjust the parameter.
the second option is to use the BT from the samsung-7cff… but the problem here is that the MAC and ID is changing every time. And i didnt found a way to fix this.
With my phone i fixed it with the enroll function. But the watch did not connect to this Bluetooth.
And i tried playing with the espresense preferences, set the absorbtion to 20 for example then the distance in 1-2m is correct but when i walk 6m the esp still showes 2,8m for example… my brain is soon exploding xD
Im just playing with a watch 6, and i see the same problems, the ibeacon show high distances (from 8 meters and up), when im 40cm away from the nodemcu it show like 8meters… when phone shows 0,8 meters.
Someone have the best config to make this work regarding:
ble_set_transmit_power
ble_set_advertise_mode
Just made a test changing ble_set_transmit_power from HIGH to LOW to MEDIUM and this are the results