Hello.
How the tap action works (one-tap heart rate)
Tap action (heart rate) is set in Watch Face Studio.
With ‘Run on Device’, the tap action does not work on a real watch.
(I allowed all sensors, but it doesn’t work.)
If so, please answer what the problem is or if there are other settings.
thank you. Have a nice day.
Hello,
It is possible to check whether the “Measure heartrate” tap action works as well with other Tag expressions.
With [HR_IS_MEASURING] tag, you can notice that the heartrate is measuring by the action or not. Try it on opacity or rotation property for any visual component such as Image or Text. The property of the component will be updated while the HR sensor is working.
Also you can see the result of the measuring action through a Text component with [HR] tag.
※Note: the HR sensor works only while the device is worn on the wrist.
In my watch faces, I put both the action to have HR measured and the [HR_IS_MEASURING] tag to show the user when he is taking the heart rate measurement.
Unfortunately, there are stability problems.
Sometimes the [HR_IS_MEASURING] tag gets stuck in position 1 (ON) for a long time and does not show heart rate.
The green led under watch, which indicates the hr measurement, turns off but the [HR_IS_MEASURING] remains in position 1 (ON).
In my opinion it is because during the measurement the screen turns off after some time.
Ideally, the screen should not be turned off during measurement. Or at least that’s what it seemed to me
We are collecting a lot of negative feedback for this issue.
I have also created sample videos for users to measure heart rate and have always mentioned keeping the watch well positioned on the wrist but with a little success.
I can’t create with succes a complication to measure HR. Setup action-measure HR for text, [HR] setup as text properties. On my watch is showing 0 and nothing happens when I tap it.
Any chance to create a complication to show HR ?
Thank’s.
Hello,
the “Measure HR” action works only when the device recognizes that it is worn on the body. Please try tap the button several times after wearing the device. Also you can check whether the HR sensor is working by checking the green light on the back of the device as @Matteo_Dini mentioned. If the sensor fails to measure, the value is not updated in text with [HR] tag.
Thank you.
The problem with displaying the heart rate is relevant, users write that on standard dials that are installed on the watch, the pulse is displayed stably and shows the correct value, but the pulse that is displayed on the assembled watch faces in WatchFaceStudio is not correct and most of the time shows zero value. Please pass the WatchFaceStudio developers to check this bug. Thanks.
I found a way, I think. Text properties [HR] in WFS, select measure HR when tap it.
Run on device. On watch, go to APPs/Permision and allow it to acces sensors. It will show zero value.
Restart the watch, put it on hand. After 20 min it show HR, but remeber, it’s refresh is set at 60 mins in WFS.
Nope, does not work. If i swap watchfaces the value gets updated, but remains stuck afterwards. On the official watchfaces it’s updated continuously, but we get zilch with the ones made in the editor.
The method I’ve used, which seems to work most of the time, is create a Text layer, set it to [HR], then add a new layer (empty image file) over it, and set a tap Action for this layer to measure heart rate.
You could avoid the empty image part by just adding tap action to the text layer, but with an image there’s more control over the exact tap area.
I’ve done this on few designs so far and it works well, most of the time. HR even “saves” and transfers to the next watch face, once it’s registered a number.
I say “most of the time” because it seems that, for the “Tap to measure” shortcut to work properly, user needs to stay still and/or not move the watch at all for 10-20 seconds after tapping it. Only then the heart rate measurement will register properly and update the HR indicator. If this fails (which sometimes it does, regardless) then the HR just stays 0 or doesn’t update.
I haven’t had issues when the screen went to AOD during the measurement, as the HR still refreshed after about 5-10 secs if the reading was successful.
Still, with this method of tap and wait, even if everything works perfectly, it’s not a great user experience.
It’s hard to explain to users they need to stay perfectly still while measuring, without a reliable visual indicator, especially when many other watches feature HR readings without such conditions (connected directly to a health app).
Thanks for the tip about adding a new layer, in addition to the [HR] text layer. It was driving me mad as I couldn’t figuring out why a single [HR] text layer is working in simulator but not on the watch.
As for visual feedback while watch is measuring, you can use a component like animation or image, set color transparency to 0, add tags ([HR_IS_MEASURING] == 1) ? 100:0
This will show the component when watch is doing the heart measuring and hides it after it’s done. But like Matteo has mentioned, [HR_IS_MEASURING] sometimes gets stuck at value 1 and freezes.
[HR] value doesn’t update if you measure heartrate from S Health app. Maybe it’s because [HR] is not calling the data from S Health, but from internal heartrate monitor sensor. So, other brands can use this function call without S Health app. That would be my guess.