Problems getting Heart Rate from Samsung 5 watch after upgrade to Wear OS 4

I used to be able to get the Heart Rate from the watch when it was running Wear OS 3.5, with some degree of regularity. Sometimes every few minutes, sometimes every many minutes, but usually more often than one hour.
My watch was upgraded to Wear OS 4 and since then, I rarely get any reading.
I get one when I go in the watch HA settings and disable/re-enable the Heart Rate sensor but then…nothing for many hours; I don’t know what makes it get some reading occasionally, many hours apart.
I suspect something is put to sleep, but I tried everything I can think of:
Set apps to not be included in battery management (both watch and phone), set to measure continuously, every 10 minutes…
Any thoughts, please?
Thanks in advance for all/any help.

I just found a new Wear OS 4 setting: “Sleeping Apps” list, where I just removed HA from; we’ll see if it makes a difference; it will take a while.

Samsung likes to add a bunch of different features like this that is not found in other Wear OS devices so you’ll need to hunt this down.

Unfortunately it did not really help; I get a reading about every 12 hours.
I get an immediate reading if I go into settings and disable/re-enable the sensor.
WHAT THE WHAT!!! That’s what I bought the watch for!
It worked better in Wear OS 3.5 and I could have returned it if I knew 4 would break it!!!

Can you check the app permissions on the watch for Sensors or Body Sensors and see if its set to Always? They changed this in Wear OS 4 but you should also check that the app has background access allowed in the samsung companion app on your phone. You should see the sensor update as frequently as battery life.

1 Like

Thank you dshokouhi,
Body Sensors permission was set to always.
Galaxy Wear was optimizable, same for the Samsung Health Companion; I turned it off; we’ll see what happens.

This seems to have worked! YEEEEEY!
I don’t want to jinx it, but overnight it worked; we’ll see long term.
I’m not sure if it was the Galaxy WEAR app or the Health Companion; I may reverse them one at a time, to find which one, or I may just let it be.
Thanks again @dshokouhi.

Just for information; while it’s much better than before, it’s still not ideal as it takes most measurements about once an hour, some about half an hour, very rarely about 10 minutes. “About” means it’s NOT on the hour/minutes.
I think somewhere I can choose continuous or every 10 minutes or so; I may try to play with that too.
Anyway, it’s MUCH BETTER than it was; I can actually get a relatively useful chart.

we are at the mercy of the system sending updates during the 15 min schedule, android can delay the schedule as it sees fit. To combat that you can enable more sensors that trigger more often to get more updates. Personally my graph updates pretty frequently but i still see the delays mentioned

you can also force an update to the watch by sending the update sensors notification command

1 Like

I learned something new and useful from you! Thank you @dshokouhi .
BTW, your chart looks better than mine, with the rounded corners, but seems to still show horizontal values until value change. Is there some way to chart where values are united by lines between values, rather than “jumps” to the new value?
Should look more like mountains than a cityscape…

It worked for a while, but now again it doesn’t. Is there some limitation on number of somethings/week or something?

I have Samsung Galaxy S22+ and Galaxy Watch 5. Somehow I don’t see heart_rate sensor at all. Is there a guide or known reason for this sensor not to be displayed in the companion app. I can measure my heart rate and/or blood pressure without problems on the watch itself or see in inside Samsung health app on the phone.

open the HA watch app, scroll down to settings > manage sensors and enable it from there.

1 Like

On the watch, start the Home Assistant app, go to Settings/Sensors and enable Heart Rate Sensor.
I still can’t get regular readings. I can get one whenever I start the watch Home Assistant App, but not every few minutes.

you shouldnt expect it to update regularly every few minutes. On a watch the work manager job runs every 15 minutes to the hour. If you want it to be faster you can request an update using the notification command send to the watch directly

here is what my graph looks like on my pixel watch without forcing any update

given you have a samsung watch make sure teh HA app has background access, that is something you enable in the samsung companion app

15 minutes is “few”; I was trying to be short. I wish I got something like you.
I tried to send notifications, but I could not get it to work AT ALL.
This is how mine looks:
Here is my notification code:

alias: UpdateGalaxy5WatchSensors
description: ""
  - alias: "Template: Every 30 mins (used 2 just so not too many things happen on 0)"
    platform: template
    value_template: "{{now().minute % 30 == 2 }}"
condition: []
  - service: notify.mobile_app_galaxy_watch5_vbme
      message: "command_update_sensors"
mode: single

first double check the app has background access granted in the samsung companion app on your phone.

add the critical format to speed up delivery

I just looked at the trace, and it seems it’s not running:

Executed: March 26, 2024 at 10:41:13 AM

  domain: notify
  service: mobile_app_galaxy_watch5_vbme
    message: command_update_sensors
  target: {}
running_script: false

Also, there is a cryptic exclamation mark on the GUI; doesn’t tell me what any problem might be:

I was able to send a “command_screen_on” notification. I’m not sure it would have turned the screen on, but the watch showed the notification. The screen was on, and it may have turned on for any notification; but at least I saw the notification text.

try running the service call directly maybe the issue is with the automation?

no that command is not supported on the watch the screen comes on when you lift your wrist to view a notification that was just recieved (thats a Wear OS feature)

I tried; I have them one under another:

When I run the top (update sensor) nothing happens. When I run the bottom I get a notification.