Apple Health: Double counting steps

I get step data from both my watch and my phone, and when the iOS app adds datapoints it seems to sum the two rather than de-duplicating them. In Health I see about what I would expect as far as totals:

Here’s the data from my watch & phone:


Note that the Beeminder datapoint is the sum of the two for today (October 10), though it should be 5,359:

It’s fairly common to have multiple apps/devices contributing data to health, so I’d be surprised if there isn’t an API in HealthKit to get the de-duplicated data.

3 Likes

@apb @dreev any bandwidth to look into this? My goal is basically useless at this point. I don’t want to double it because of the high variance, but it’s not tight enough to be motivating right now.

How are the data sources set up on HealthKit?

I’m not sure what you mean, can you give me more info on what you’d like me to check?

When you go Data Sources and Access what does this screen look like for you ?

Gotcha. Here’s mine:

Not sure where the 2nd watch came from, but you can see that it’s getting data from my phone (N2) and my watch.

The two apple watches seem strange, did you have another apple watch (previous version)? You can click on each of them to see the history of each source.
I don’t think there is any de-duplicating being done on HealthKit, it just takes the first source.

Hmm, I think you’re right: https://support.apple.com/en-us/HT204351

I can change the priority but I can’t see a way to tell it to draw from only one of the devices. It looks like there’s an API that handles merging based on priority: https://apple.stackexchange.com/questions/147546/how-does-healthkit-resolve-recording-of-the-same-activity-by-multiple-sources

Idea :slight_smile:
A) install Fitbit and have it get steps from Health
B) make a new beeminder goal to get data from Fitbit
:smiley:

Heh, yeah, I’m not going to do that. Adding yet another service for something that I feel the Beeminder app should do on its own is a bridge too far for me. It would be great if this worked out of the box, but if it’s too complex then I’ll probably just archive this goal for the time being.

Does that work? I haven’t tried it in a while, but I thought fitbit only got data from the phone and not all apple health (like the watch.)

You are probably right. It seems Fitbit can you use the phone’s sensor directly (only). It will not read from the Health app.


Googling actually finds a paid app that bridges the two >> Health App to Fitbit Sync by Bickster LLC

Is there any update to this? I am experiencing the same on my goal https://www.beeminder.com/icole/steps2019. It’s a bit frustrating since I set up this goal specifically for the New Years challenge and now its basically broken from the start.

2 Likes

To update on this, my understanding is that this looks like it’s an Apple Health limitation rather than a Beeminder-side bug per se, and it doesn’t seem likely that we can fix it on our end at the moment. The best workaround (per the last email I saw about it) is having a way to integrate with one of the sources for the data directly instead of going through Apple Health, which tries to do both.

(Note: I know nothing about iOS or the Apple Health app, this is secondhand through checking on what @bee has said in email, so it may not be perfectly accurate!)

1 Like

Even Apple’s own Shortcuts app (was Workflow) can’t give the step count with the duplicate info from multiple sources removed, which is bananas! (I’ve heard that there might be some apps that can do it, but I’m not sure whether they’re just using data from only their own app that then also feeds into Apple Health, but doesn’t pull from it.) I’m betting Apple will eventually sort that out for Shortcuts, and that that’ll create a way for other apps to get the finer-grained info from them too.

2 Likes

I’ve been manually copying distance numbers from the health app into beeminder

1 Like

My current workaround uses a Shortcut triggered each evening by LaunchCenterPro to upload just the data from my Apple Watch to Beeminder. It’s unfortunate that the API’s aren’t good enough to filter out duplicate data. Until the APIs improve, maybe it would make sense to allow users to select a single device in the Beeminder app and pull just the data from that device?

Probably, but it probably wouldn’t work for me. Phone is better than watch when pushing a stroller. Watch is way better than phone when I leave phone on a shelf.