ESPresense, Wear OS, and Tips/Tricks

I found that using espresense with the galaxy watch 5, is draining it’s battery really quickly.
on a 12 hours period, it drained 37% of battery power.

did anyone else experience the same?

Advertise mode: balanced
Measured power: -59
Supports transmitter: true
Transmitting power: high
id: cca19497-*******_100_1
icon: mdi:bluetooth
friendly_name: Galaxy Watch5 (29PP) BLE Transmitter

Hi,
I tried turning the BLE transmitter on/off on my galaxy watch 5 pro by using command from this guide:

automation:
  - alias: Turn off BLE transmitter
    trigger:
      ...
    action:
      - service: notify.mobile_app_<your_device_id_here>
        data:
          message: "command_ble_transmitter"
          data:
            command: "turn_off"

This doesn’t work but I understand it used to.
Does anyone know what command I should use to achieve that ?

Show your automation and not the example. :slight_smile: And what does it exactly mean, “it’s not working”? Is the sky turning purple when you run it? :slight_smile: You see where I’m going with this? :laughing:

1 Like

not really :rofl: :rofl: :rofl:
by not working I mean not changing status from on/off and vice versa.

service: notify.mobile_app_galaxy_watch5_pro_cqkx
data:
  message: command_ble_transmitter
  data:
    command: turn_on
    ttl: 0
    priority: high

This setting doesn’t change status (picture taken from phone app but I am referring to the watch os HA app)

1 Like

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.

What tool are you using to publish and read the MQTT topics? Also, what version of Espresense are you running on your BLE device?

I’m using MQTT Explorer, and Espresense is v3.2.4.

Screenshot 2023-09-30 154015
Screenshot 2023-09-30 154048

(not sure if I need to mask those Beacon ids, but I did anyway)

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.:

{"id":"david","name":"DavidWatch"}
1 Like

hello everyone,

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.

do yo know how to solve this.

its frustrating if the beacon stop working :frowning:

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.

You might look at this project which is similar but based on ESPHome. It may be more tightly coupled. ESPHome component for ESPresense-like room tracking - ESPHome - Home Assistant Community (home-assistant.io)

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…

Am I missing something?

It’s likely you have something wrong in your topic. Post the topic as seen by a tool like MQTT Explorer.

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…

Thanks for the help!

1 Like

Hi where do you set this parameter? where i can change the Measured Power for the watch?

Hi Guys,
i have problems with my galaxy watch 6 :frowning: Hope you can help me, i tried everything i know since days now.

The Problem is that the iBeacon in the wear os ha app gives very strange parameter. - -

  • there are always gaps in the tracking
  • the distance is very inaccurate

i can´t find the correct ESPresense Preferences that will adjust the distance.

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

thanks for youre help

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

@tkzger regarding BT mac, its not possible I think, because it create random address every time

and the battery. the battery consumption in galaxy watch its horrible! :frowning: