• I just started trying out Gadgetbridge a couple of hours ago, with the goal of tracking my heart-rate during sleep. However, Gadgetbridge reports heart-rate and activity values while I am not wearing my watch. It is on a stand on my table.
    Attached is a screenshot of Gadgetbridge's activity window for the time that the watch is untouched on its stand. As you can see, it shows relatively convincing heart-rate values… for the slate of plastic that it is measuring…

    If I go into the Health app, it also shows hourly averages that match the data in Gadgetbridge. It has hourly average heart-rate for hours where the app wasn't worn and just sat on its stand.

    What is the deal with this? Does the bangle.js 2 just make up heart-rate values if it thinks that it is worn but cannot measure anything?


    1 Attachment

    • Screenshot_20240523-130038.png
  • That's odd - you could try running a heart rate monitor app and see what it says.

    If the HRM thinks it has any clue what the heart rate is, it'll report a number - however there is a percentage confidence value attached (which doesn't get reported to Gadgetbridge). It might be interesting to see (with the HRM app) how confident it is.

    It's possible that we should actually refuse to report any HRM information to Gadgetbridge (or even store it) if the confidence isn't at least 50%.

  • I have the same problem. I measures a reasonable Heartrate for my plastic stand and for my (3rd Party) wristband when it's stuffed into my Backpack.
    So I started to go into the Settings to enable and disable HR measurement in the activity App every time I start or stop wearing the watch (which is really annoying).

    Now I found a related problem:
    Even when the HR Measurement is turned off and I don't wear the Watch and it's perfectly steady in my Backpack while I am asleep, GB reports a hallucinated Activity (which Jose says is transferred by the Watch to GB).

    I attached a screenshot. I started wearing it around 9am, when I activated HR Measurement manually.

    I can measure the confidence of the HR of the wristband later.

    I have all Bangle Apps up to date, Firmware 2v21 (because updating the Firmware is didy not work so far) and GB from 3-4 months ago.


    1 Attachment

    • Screenshot_20240724-135553.png
  • Although apparently the second problem might also be a GB problem, hard to tell.

  • Sadly the confidence jumps wildly between None and 100% (frequently above 70%).

    Is there a temperature sensor that reasonable reacts to skin-contact and could provide some context?


    1 Attachment

  • Is the Activity calculated from steps?
    I some of the reported heavy activities correlate with when my Bangle was in my Backpack and I walked with my Backpack on.
    This reports much more intense activity than walking with the watch on my wrist.

  • I think the activity is usually calculated from the movement of the watch - not steps per se.

    Is there a temperature sensor that reasonable reacts to skin-contact and could provide some context?

    There is a sensor in the watch, but it's deep inside so would only react very slowly. Using movement is probably the best bet - an easy proxy is whether the 'poll handler' is in the high speed (80ms) or low speed (800ms) modes

  • Hi there,

    I have my watch since ~1 week, using it with GadgetBridge.
    I have been experiencing the same kind of things: when I'm not wearing my watch, the GB app doesn't show "not worn", but instead shows a flat (or decreasing) activity (see screenshot).
    I am quiet new to this watch, so I may be missing something.

    Thanks if somebody can help.

    Firmware: 2v24.170
    Installed apps:
    About, Welcome, Notifications (default), Bootloader, Settings,
    Lock Widget, Health Tracking, Alarm Widgets, Scheduler, Clock Info Module, Clock Backgrounds, Android Integration, Recorder, Desktop Launcher, Bluetooth States, Battery level Widget (with percentage), Circles Clock, Temperature Widget
    Watch version: Bangle.js 2


    1 Attachment

    • Screenshot_20241112-144205.png
  • Another issue I'm having, that may be related, so I post it here.

    GB doesn't recognize the sleep phases (see screenshot).

    I'm aware this could also be a GB problem, but we never know.
    I intend to post an Github issue or open a new discussion on the forum in the coming days, if I couldn't solve the issue.


    1 Attachment

    • Screenshot_20241112-144227.png
  • Hi - yes, by default the Bangle doesn't detect activity or wear state. It's not a bug as such, it's just not implemented yet.

    There's a 'sleep log' app that detects sleep phases and might help? https://banglejs.com/apps/?id=sleeplog

    I'm not sure if that forwards the info to Gadgetbridge though

  • Sleeplog doesn't talk to Gadgetbridge yet.
    I tried it for the first week and I found the temperature-based wear detection to be quite accurate, at least in terms of the zoomed-out view provided by sleeplog. It shows when not worn throughout the day as well.
    I didn't try setting different movement thresholds for wear detection.

  • Perhaps that's something that could be added to the android app for health reporting then.

    The combination of movement, temperature, and maybe also the HRM's 'isWorn' (but that only checks if the HRM is near a surface) should be able to work quite well

  • Hi,

    Ok, I was not aware that Bangle didn't detect the worn/not worn states, makes more sense now. Thanks for the explanation.

    I was not aware of sleep not being processed either.
    I'm a bit sad because that's one of the main reason I wanted to take a smartwatch ^^'
    I (naively) thought that the watch would just provide the infos (something like raw data) to the app, and then the app would process the infos and decide what is sleep or not. I guess this is not the case then, and the pre-processing is supposed to be made by the watch?

    I also tried the Sleep log app on Bangle. For now it's not working and not detecting my sleep, but that's another issue that I will investigate.

  • You could try Sleep as Android https://sleep.urbandroid.org/ in combination with https://banglejs.com/apps/?id=accelsende­r
    I have not tried those but I saw Gadgetbridge supposedly gaining support a few months ago.

  • I guess this is not the case then, and the pre-processing is supposed to be made by the watch?

    Yes, that's correct. I don't believe Gadgetbridge has anything built in.

    I was not aware of sleep not being processed either.

    We try to be entirely open with everything Bangle.js can/can't do, but we can't just have a list of everything Bangle.js doesn't do out the box. At the end of the day it's at least open, so if you're a developer you can at least get stuck in and have a go at adding the features you need.

    I had a look at the Gadgetbridge Bangle.js code and right now it doesn't provide any way of sending the type of activity to Gadgetbridge from the Bangle, so I'm looking at at least adding that, and then maybe the Bangle.js firmware can be changed to report the data at a later date.

    edit: I submitted a PR at https://codeberg.org/Freeyourgadget/Gadg­etbridge/pulls/4323

  • We try to be entirely open with everything Bangle.js can/can't do, but we can't just have a list of everything Bangle.js doesn't do out the box. At the end of the day it's at least open, so if you're a developer you can at least get stuck in and have a go at adding the features you need.

    Yep, totally agree. It wasn't a criticism at all, I knew what I was going for when I chose Bangle.js, and I'm happy if I can contribute. I contacted the creator of Sleep Log, in their todo list there is "Enable receiving data on the Gadgetbridge side + testing. Help appreciated!", so maybe this would be a lead.

    edit: I submitted a PR at https://codeberg.org/Freeyourgadget/Gadg­­etbridge/pulls/4323

    Thanks a lot.

    In the meantime, I'll try to use Sleep Log, and why not enabling Sleep as Android, as suggested by @halemmerich

  • The the subject of this thread drifted a bit away, because of me, sorry for that.

    But coming back on the original topic, actually yesterday I noticed that my Bangle was also measuring (at least displaying on the main screen) a bpm, while set on the table.
    I know it's not always the case, but sometimes it does measure something even though I'm not wearing the watch

  • sometimes it does measure something even though I'm not wearing the watch

    Yes, it's a shame the binary blob HRM isn't a bit smarter. If the Bangle isn't facing anything it knows it's not being worn and you don't get an HRM but if the HRM is pointing at something and getting a reflection it thinks it is worn and you're just being very still.

    I guess one option is we add a specific check for a lack of movement plus the bangle being pretty much flat on a surface (which I guess is 95% of times it's left) and disable the HRM in that case

  • @girardcarillo there's an open entry on the issue tracker pertaining to sleeplog + gadgetbridge integration that may interest you: https://github.com/espruino/BangleApps/i­ssues/3275

  • @Gordon yes Ig it would filter most of the "not worn" time. + maybe when it's charging? (if it's not already the case)

    @Ganblejs thanks a lot for that, I had already seen this thread, I'll subscribe to it in case there is new movement

  • Yes, the lack of movement I mentioned above would do it I think...

    Just FYI I merged https://codeberg.org/Freeyourgadget/Gadg­etbridge/pulls/4323 now so the Bangle should be able to push sleep information to Gadgetbridge on the latest versions, it's just that we don't currently

  • Fantastic!

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Gadgetbridge shows heart-rate and activity when not wearing the watch

Posted by Avatar for JulianGro @JulianGro

Actions