This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Issue with distance and Apple Health

I noticed an interesting issue today (two, but one I think is an Apple issue) with the distance in Apple Health.  It appears that Garmin is writing duplicate records.  It looks like it's writing the total distance as a one time shot instead of incrementally like Apple does.  Here is an example from a week ago (and this pretty much is the same almost every day) with some screenshots to show the issue.  You can see my true value of distance for the should be 7.6 miles but Connect wrote two 7+ mile values (neither of which is right but close).  The steps so far appear to be accurate.

I hadn't really paid any attention to this until today I got a notification that I met my move goal in Apple Fitness.  That was weird because I don't have an Apple Watch.  Apparently with iOS 16 (I installed the RC yesterday) it now supports movement from non-Apple watches.  This leads me to the next interesting thing I found (which I think is actually an Apple bug but posting here just for visibility as I plan to submit a bug report with Apple).  Apple is not recognizing the Connect values for distance and is using not only the Connect distance but also the distance the iPhone registered.  I *think* it might be due to the fact that Connect is only writing a single value instead of writing multiple values during the day like the iPhone does (or like they do for steps which is accurate).  Screenshot below of my distance for today including a 3.56 mile walk.  The walk showed up correctly in Apple Fitness and matches Garmin.  Garmin wrote a total value of distance for the day and Apple Health is showing a way larger value (which appears to be both the Garmin value and the iPhone values).

  • Welcome to the mess that is Garmin's implementation of the HealthKit API.  The short answer here is that Garmin has failed to implement almost anything correctly for this integration.  (other than a couple things like all day HR, or steps). Anything related to an activity is just wrong.   The reason all this is happening is actually pretty simple.  AppleHealth has two ways that data samples work.  Snapshot or count over time.  For instance, if you record a weight, that is what you weigh at that instant.  So, 180 pounds at 7:15am.  BUT, for things like distance or steps it expects you to give a time range.  You would say that between 8:15am and 8:16am you walked 40 steps for instance.   

    Apple does it this way because it allows any software to figure out things like speed, create graphs, etc. but also just as importantly to figure out which data takes priority (which you can set in Health).    For instance, if you walk with your iPhone in your pocket, and a Garmin watch on your wrist with both counting steps, there is a very good chance they will get a slightly different count.  So, the priority determines which is 'right'.  (and again, you pick that).  So, it would look at two samples that overlap the time range and although it keeps both (which is great) it reports on the one you said to trust more.   In some cases (like HR) Garmin does a great job with this.  In fact, as an all day measurement, Garmin writes HR in smaller spans than the Apple Watch does (making it more precise).   

    BUT, (and this brings us to the second item). Garmin does things like not time stamp entires (so they get ignored for things like closing your rings), or in the case of Walking + Running distance they write the total for the day with a single time stamp rather than a range.  SO, Garmin is explicitly telling Apple Health that you Walked/Ran 5.1 miles in ZERO seconds at 5:10pm (or maybe over a minute or two, but regardless, it's wrong.    Apple trusts Garmin (because you said it could) so it includes that value since it doesn't overlap anything the iPhone measured.   Which doubles your day.  It's not an Apple bug.  Garmin is writing garbage data because they don't follow any of standards for the API.  They have known about this for years, and continue to advertise that they support Apple HealthKit while commenting here that they have no plans to fix any of the problems.  If you do a quick search through the forums you will find a number or threads with similar problems.   The only way to "fix it" is to remove Gamin's ability to write bad data (I've found that HR, Sleep, and Steps are safe enough, but have turned everything else off).

    If you still want to have all your workouts in one place (or both places) you then need to buy/subscribe to something like HealthFit or RunGap that will sync activities (but not all day metrics).    If you don't care about having everything in one place, then you obviously don't need to know that.  

    The only other option is to stop using Garmin products and migrate to a hardware vendor that implements the API correctly, if you really care that much.   

    On meeting your move goal: I think that Apple is allowing for some of the rings to close without a watch, and is also going to permit folks to subscribe to Fitness+ without one as well.  (but apparently still isn't releasing a MacOS version!)

    Good luck!

  • best answer I've ever seen on this. 

  • Thanks.  There is a post around here somewhere I did with screenshots when Garmin asked about for details (and only wanted to see screens that didn't show anything related to this problem).   I've been going back and forth for about a year both here and in email with support (who are still great, and it's not their fault), but there are threads from at least five years ago showing how bad this 'integration' is.  Again, Garmin should just stop advertising it if they aren't going to do it correctly.   (I'm almost curious at this point if there is a path to report to the app to apple for writing garbage data, but I suspect they will say that if you authorize it to do so, thats our problem if they respond at all.)

    I might give up soon.  I thought about buying a Fenix 7 (would be like my 5th or so Garmin watch), but decided I can't put that kind of money into something I will only wear when working out.  (the Apple Watch runs circles around Garmin for my all-day use cases).   Ideally I'd love to get a Series 8 for all day and something like a Forerunner 255 for longer workouts or camping, but since Garmin won't let anybody else's all day data into their ecosystem, and won't play nice with AppleHealth (which is where all my other stuff goes), I'm leaning pretty heavy into the Ultra as my one stop shop.  Now that it has a button to start/lap workouts (based on the videos), battery life to let me workout for a couple of hours and still not charge it before I go to bed, and likely equal GPS accuracy (and maybe better optical heart rate?) along with all the other features apple has put in the latest watch OS, it looks like it will be 'good enough' on the activity side, and continue to be best in class on the smart watch side.   As a middle of the pack person (on a good day), I've come to realize that most of the metrics Connect gives aren't as critical as I would like to think they are.    

    However Garmin, note that I'd still be happy to pay for a fully integrated Connect experience that wasn't limited to Garmin hardware as the data source, and shared with others.   (for now anyway...  I suspect that the next couple of years of software releases may make that moot too).  I'm even ok if I have to own some piece of hardware for it to work... (cause I still have the Fenix 6 in a drawer).   it could be a simple as full two way integration with Apple Health and then let physio true-up do the rest, treating it like any other data source.    

  • I will say, I spent the day checking entries in Apple Health vs Garmin (and looking at competing apps). What a pain keeping it all synched! Garmin definitely leaves fields out when writing to Apple Health directly but TBF, I found Wahoo and Strava had some issues as well (cycling distance being one).

    This would never work directly. You need something like RunGap to pull it all together and record things correctly. HealthFit for analysis. And managing routes? forget it. 

    It's enough of a mess sorting things out to consider throwing in the towel and just living in Garmin World 100%. I'm leaning to what they offer is "good enough". 

  • Garmin doesn’t see this as a problem, but perhaps Apple could force them to play nicely or drop the integration. Especially if enough people complain. Advertising HealthKit compatibility and polluting the health data is also for other iOS apps bad. And with iOS 16 the problem has become more visible.

  • true, but Garmin probably sees it as "just use our app". Apple the same, "use our hardware". Neither is motivated to open up to the other. 

    And it might all be moot. Apple only allows you to manage your health data on a 6" screen. That got old quickly after a day messing with it.

    (mods, the report as abusive button is dangerously close to the edit one. Sorry about that)

  • TedP, you are wrong on one point here.  Apple is 100% open to Garmin doing this right.  AppleHealth literally has the ability to consume data from anybody the user of the phone authorizes.  There is nothing stoping a watch or other device from recording data identical to what the AppleWatch does with Apple's full support.  They even have publicly accessible documentation on how to do it!  The only limit has been in the Fitness app, which is an AppleWatch specific app (although thats become even less so at this point).   Healthfit is the perfect example here.  It is literally taking .fit files and storing them in AppleHealth perfectly according to the specification and Apple treats them identically to if they were recorded on an AppleWatch. 

    Garmin on the other hand is extremely closed.  A few key partners can write some data in, there is an API that commercial entities can apply to get access to for their enterprise use, and there are some web services that can get some data out, but overall, putting data into Garmin is extremely difficult and getting it out is very limited at best.  

    And while I do agree that Apple limits managing your data to a phone, it doesn't limit what you do with your data.   So, you can manage it into an App that exposes it to a WebUI (like Strava or any number of others).   The one model (Apple) is based around securing your data, but ensuring you still fully own it. The other model (Garmin) treats your data like it's their strategic asset that they want to keep very tight control on. 

  • I will agree with WizardlyHat. Moreover Apple has some motivation to keep the health data clean and has probably nothing to lose by dropping Garmin Connect from the App Store or by preventing them from using the API. Garmin users are a vanishingly small part of their total users and they can easily put the blame on the app. If a few reports in the App Store will bring the desired outcome is anyone’s guess, but it is by now obvious that complaining here is hopeless.

  • Hello, you can try to disable in the health settings (settings -> health-> access. to data and devices-> Connect) the items distance walking / running and floors climbed, so connect will not write the data in Apple health and will not They will be doubled, that is if for the distance in the rings to be as exact as possible you should always carry the iPhone with you.