[HN Gopher] GarminDB
       ___________________________________________________________________
        
       GarminDB
        
       Author : haltcatchfire
       Score  : 308 points
       Date   : 2025-02-02 22:27 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | stonogo wrote:
       | I was hoping this would be a way to import and track data
       | directly from the device, but it appears it talks to the Connect
       | API, so I'm still tied to the official app.
        
         | NoboruWataya wrote:
         | Activities are just FIT files that can be accessed over USB.
        
           | stevenwoo wrote:
           | You are right, but I've worn out the USB ports on multiple
           | Garmins from using the ports to recharge and download the
           | files. Now I just use the app and download the files later
           | from the Garmin website, and use a magnetic charger plug also
           | to eliminate the wear and tear on the port. I wish I could
           | wirelessly access the files and cut out the Garmin
           | app/download steps.
        
             | drawkward wrote:
             | Whats your magnetic charger of choice? I am tired of
             | wearing through my charging ports.
        
               | stevenwoo wrote:
               | I gamble and buy the cheapest ones on EBay in lots of
               | three (some have adapters included plugs for USB-C/micro
               | USB, though it seems like as time passed by, more and
               | more are separating the plug purchase from the cable
               | purchase). The recently announced tariffs will put a
               | damper to this since the last few I have bought were
               | dropshipped from China.
        
             | loeg wrote:
             | I've been through a lot of Garmin devices and mine always
             | have battery degradation before the USB port is in any way
             | non-functional. Especially with USB-C on the newest ones,
             | that really shouldn't be happening.
        
               | stevenwoo wrote:
               | I've been using 520-530-540 on a bicycle and ride every
               | day but only need to charge once every three days or so,
               | but these came with microUSB ports.
        
               | loeg wrote:
               | I believe 540 is on USB-C. I have an Edge 840 (same
               | generation as the 540).
        
               | stevenwoo wrote:
               | You are correct, the last time I had to replace my 530,
               | the 530 was on sale due to the 540 coming out so I bought
               | the 530 on sale and haven't thought about it since. For
               | some reason I thought I bought a 540 after comparing the
               | product pages for so long.
        
             | canucker2016 wrote:
             | How old is your Garmin watch/device?
             | 
             | I'm still using a Forerunner 935 from 2017 and I haven't
             | had any problems with charging/syncing data. I use the USB
             | charger about once a week. Once every two weeks during
             | winter when I don't use the GPS as much.
             | 
             | Only thing I have updated on the watch is the free loop,
             | which holds the watch band after you've threaded it through
             | the buckle. I'm gonna have to replace the watch band
             | eventually - the plastic band is starting to crack,
             | Canadian winters aren't gentle on these things.
             | 
             | Garmin support sent me replacement free loops when I called
             | in asking how I could replace them.
        
               | stevenwoo wrote:
               | I use mine every day for recording year round barring a
               | few breaks and need to charge every three days or so.
               | I've had one long enough to have to change the battery
               | because the life went down so much.
        
         | kawsper wrote:
         | I've given up on that, I now use http://www.rungap.com/ to
         | extract Garmin data from their API to my iCloud storage.
         | 
         | You can select the filetype too: gpx, fit or tcx.
        
       | mvkel wrote:
       | it always surprises me how much data is locked up in garmin's
       | (ancient) sdk.
       | 
       | for example, the FIT file format, used exclusively for
       | programming workouts on all bike computers, are only supported in
       | one or two apps!
       | 
       | I suppose that's our fault and we should build on the sdk
        
         | nradov wrote:
         | The Garmin Connect web site seems to work fine for building
         | structured workouts. It can also sync with TrainingPeaks. Is
         | there something else we need?
         | 
         | There are a lot more than two apps which read or write FIT
         | files for purposes other than workout planning. I wrote one of
         | them.
        
           | mathieuh wrote:
           | Yeah, Garmin's own software isn't great but it very easily
           | syncs directly to loads of other services, and there are
           | "interlocutor" (not sure what the right term is) apps like
           | Rungapp on iOS that will let you sync it to even more.
           | 
           | I personally highly recommend intervals.icu
        
             | throwawayjd wrote:
             | Any benefits of intervals.icu over Garmin connect?
        
           | eitally wrote:
           | I personally don't know anyone who creates workouts in Garmin
           | Connect. Not saying it doesn't happen, or even that it isn't
           | common, but everyone I know is creating their workouts in TP,
           | Intervals.icu, Golden Cheetah (or other similar dedicated
           | training platforms), or even in Zwift (or another virtual
           | training platform).
        
             | kevmarsden wrote:
             | I build workouts in Garmin Connect (web version). It's not
             | great, but it works.
        
             | getlawgdon wrote:
             | I have, for years.
        
             | timanderson wrote:
             | I create workouts in Garmin Connect
        
             | iamacyborg wrote:
             | I'll parrot the other replies and say that I also do.
        
           | mvkel wrote:
           | > for purposes other than workout programming
           | 
           | I specifically called out workouts.
           | 
           | one tedious thing is needing to manually create the workouts.
           | Unless you're doing the same thing week in and week out, it
           | gets old quickly.
           | 
           | I'd build something like a ZWO to FIT converter but there's
           | no way to load them onto a bike computer without Garmin or
           | TrainingPeaks
        
             | deaddodo wrote:
             | I only use my Garmin for GPS+heartbeat based workouts such
             | as hikes + my runs. I've never had any issues integrating
             | their services into Strava or a variety of workout devices
             | in gyms. Though, on a sidenote, it is beyond annoying when
             | many of those devices only support Ant+ _or_ Apple
             | HealthKit integration; but I wouldn 't really tag that a
             | Garmin issue as much as an ecosystem one.
             | 
             | That all being said, I could imagine more complicated
             | workouts that surpass simple lap/leg tracking could be
             | problematic.
        
       | pokstad wrote:
       | Garmin should really embrace this. The alternative, relying on
       | smartphone apps, will lock them out in the long run. The big
       | advantage of buying dedicated hardware, like a Garmin bike
       | computer, is having more control over your data.
        
         | etrautmann wrote:
         | The WorkOutDoors app and Strava both provide full access to gpx
         | data
        
           | cenamus wrote:
           | Is the Garmin data you get through Strava unfiltered? As
           | strava does some auto-pause things and so on, Garmin too
           | probably...
        
             | andreareina wrote:
             | If it's pushed to Strava from another device (Garmin,
             | Wahoo, etc) then you can download the original file, which
             | will have all the data that the original device recorded.
             | This may have auto pausing, may not.
             | 
             | On e.g. files that are uploaded from my Garmin watch,
             | Strava adds its auto pause as a filter on top of the data:
             | iff the original data doesn't have any pauses (Garmin auto
             | pause not enabled on my runs), then Strava will cut out
             | periods of time when you're standing still; otherwise it'll
             | leave the data alone.
        
         | thefz wrote:
         | You can view and download everything from their website
        
         | dolmen wrote:
         | I have two Garmin devices: a watch and bike computer. Both are
         | connected to the same app that collects data to a single Garmin
         | Connect account.
         | 
         | I expected some synergy but I got nothing. When monitoring the
         | same activity with the two devices you just gets dupes (for
         | example, sum of the distances measured by the two devices).
         | This is worse than if I had 2 devices from 2 different brands.
        
           | iamacyborg wrote:
           | What synergy are you expecting if you're recording distinct
           | activities on two devices?
           | 
           | FWIW you might have been looking for extended display mode.
           | 
           | https://support.garmin.com/en-US/?faq=fZaD0E9cTwAwBffjoJcWT8
        
           | nradov wrote:
           | Right, Garmin doesn't support simultaneous recording on
           | multiple devices. But if you've got a bike computer then
           | there's nothing to be gained by also recording on your watch,
           | you won't get any more data.
           | 
           | There's another related defect if you use one of their chest
           | straps that records and stores heart rate data for later
           | download (this is mainly for swimming activities where radio
           | can't be used). If you record an activity on your watch and
           | it syncs to Garmin Connect before downloading heart rate
           | data, then after the watch downloads from the chest strap it
           | will create a duplicate activity in Garmin Connect instead of
           | updating the existing activity. Customers have been
           | complaining about this for years but Garmin doesn't care.
        
         | hn8726 wrote:
         | I wish Garmin worked on their SDK and documentation -- I wrote
         | a quick app for personal use, and it made me appreciate folks
         | who write Garmin watch apps much more. The documentation is
         | incredibly bad, half the things I had to figure out using trial
         | and error, and even then I wouldn't know how to build/test for
         | other watches than the one I own. I'd have gladly worked on the
         | app and put it in the store, I think it'd useful to some
         | people, but I'd have to put far more effort than it's worth.
        
       | WD-42 wrote:
       | Be warned anyone that uses this - it uses Garth
       | (https://github.com/matin/garth) to authenticate. It masquerades
       | as an Android app (a single instance of one at that) and does
       | some hacky stuff to login via web forms.
       | 
       | Garmin is such a horrible company to try to integrate with. I
       | don't know why they lock down their stuff so hard like this. And
       | if you do manage to gain access to one of their offical APIs or
       | SDKs, they are total dogwater.
        
         | KennyBlanken wrote:
         | Garmin has nothing on Strava. If you integrate with Strava and
         | the user revokes the link, _you have to delete all the data
         | that came from Strava_ or you risk losing access to the API.
         | 
         | > I don't know why they lock down their stuff so hard like
         | this.
         | 
         | Same reason every other company locks down your data. You are
         | the product and they want to keep you locked in, feeding them
         | data.
         | 
         | They can't have you running off with all your data when a new
         | device comes out from a competitor that is better; that would
         | force them to compete more!
         | 
         | Garmin has a long history of being lazy as fuck unless
         | someone's actually competing against them. The smartwatch
         | market heated up and lo and behold features and better models
         | coming out left and right. Their bike computers would go years
         | between refreshes..until Wahoo, Bryton, Coros, and Hammerhead
         | started beating on their door.
         | 
         | Strava is much the same way. They were pretty free with access
         | in and out, and tightened things down making it nearly
         | impossible to export data.
        
           | zimpenfish wrote:
           | > If you integrate with Strava and the user revokes the link,
           | you have to delete all the data that came from Strava or you
           | risk losing access to the API.
           | 
           | That seems fair - the user has withdrawn their permission for
           | processing their data or invoked "right to be forgotten", no?
        
           | kawsper wrote:
           | Strava also imposes limits on app developers, it doesn't
           | matter if you have 1 user or 1 million users, and it was
           | quite hard to get the limits increased.
           | 
           | You'd think they would allow a popular app that their
           | customers likes to use could have higher limits.
           | 
           | CityStrides were battling with it a lot, but it looks like it
           | was resolved, finally:
           | https://community.citystrides.com/t/increase-strava-api-
           | limi...
        
           | HeatrayEnjoyer wrote:
           | Isn't that just following the law? User revoked their consent
           | for you to have their data.
        
           | foobarian wrote:
           | > Garmin has a long history of being lazy as fuck unless
           | someone's actually competing against them
           | 
           | Heh, isn't that pretty much every company in the history of
           | capitalism?
        
         | fbnlsr wrote:
         | I'm a Garmin user as I find the hardware to be very reliable
         | but the market is in deep need of an Open Source alternative.
         | 
         | Let's not forget Garmin was victim of a ransomware attack in
         | 2020 and they finally paid $10 million after days of blackout
         | and they never really addressed the issue.
        
           | mightysashiman wrote:
           | An open source bike computer that isn't the price of a 2025
           | flagahip smartphone and the specs of a 2010 midrange
           | smartphone! Please please!
        
           | grokx wrote:
           | I found this Raspberry Pi Zero based bike computer project:
           | https://github.com/hishizuka/pizero_bikecomputer
           | 
           | This seems pretty nice in terms of features, but would
           | probably need a bit of polish.
        
           | PeterStuer wrote:
           | We looked at this years ago and came to the (sad) conclusion
           | that in this space there is no money to be made in hardware,
           | the UX, while uniformly bad, can't make you profitable, so
           | it's down to selling the user as a product once again.
        
         | helsinkiandrew wrote:
         | > Garmin is such a horrible company to try to integrate with
         | 
         | Is it still? A few years I built integration for creating
         | posters from route GPS data, and it seemed pretty much the same
         | experience as Strava and RunKeeper, but then they changed their
         | TOC and wanted about $10K to connect.
         | 
         | It seems to be free now - although they still require approval.
         | https://developer.garmin.com/gc-developer-program/overview/
         | 
         | If you want data for your own use - and to send data from one
         | service to another - then tapiriik is great (or atleast was, I
         | haven't used it for a few years):
         | 
         | https://tapiriik.com/
        
         | mrbonner wrote:
         | I think th consumer/retail side of Garmin company is a shit
         | show. I recently ordered a HRM on Garmin website instead of
         | other retail site. My order just sat at "ordered" status for
         | over a week. I ended up just cancel and use Amazon.
        
           | Johnny555 wrote:
           | I've run into that with most manufacturer retail sales
           | departments -- it's almost always a better buying experience
           | to use Amazon or another established online merchant.
           | 
           | It's expensive to build out a first class order fulfillment
           | system and it's hard to compete with Amazon's system since
           | they have such huge economies of scale -- Amazon probably
           | ships more product in a few hours than Garmin does all year
           | from their retail site.
           | 
           | Even worse than buying products from a manufacturer is buying
           | a spare/replacement parts, you need a $5 replacement charging
           | cord? Well it'll cost you $15 in shipping and still take 2
           | weeks, and often those spares are only available from the
           | manufacturer.
        
         | AdamJacobMuller wrote:
         | Very contrary to my experience.
         | 
         | I've been using InReach and the InReach APIs for a few years
         | now.
         | 
         | They were both very reasonably priced (they cost nothing above
         | my InReach subscription price), very easy to get access to (I
         | emailed them and got access to API docs and the APIs within a
         | day or three) and extremely well thought out and reliable (very
         | robust callback based event/point reporting system, with
         | retries on their side if your code breaks or is flakey, their
         | web page has a great debug interface to see what happens if
         | your webhook fails) and their support was top-notch (if not
         | super fast).
         | 
         | I had a weird bug with their webhooks when I started
         | implementation, where every event would come in twice, once
         | with the timestamp of the event truncated to an integer of
         | whole seconds. You could see from the user-agent that the one
         | with the truncated timestamp was a few versions older of their
         | software. Wrapped that analysis up in an email to them and
         | about 12 hours later saw it get fixed and about 12 hours after
         | that got an email back from AN ACTUAL ENGINEER who thanked me
         | for the description, explained why and how it happened and
         | explained their fix.
         | 
         | Granted, the InReach and definitely the InReach Professional
         | API, are more of a professional product and less pure consumer,
         | but, Garmin definitely knows how to do this.
        
           | ianburrell wrote:
           | Garmin acquire Delorme in 2016 including the inReach
           | satellite communicators. I bet the development culture came
           | with acquisition.
        
       | ggm wrote:
       | Before I recommend this to a garmin-owner who rows, does it have
       | good models for rowing specific data like the 500m split timers
       | and your cadence? I looked and it seems like its very bicycle/run
       | aware, and "paddle" is not a term of art for rowers. (thats in
       | the plugin) -If there is a data model for the Ergo, it probably
       | would work because "its the same" (it isn't but anyway. meh)
       | 
       | He shared some data with me to see if I could decode/dump (2+
       | years ago) and I gave up. Garmin are not easy sometimes. Shame. I
       | doubt their s/w is making them much, people buy for the hardware
       | not the app specifically. False benefit lockin.
        
       | parkersweb wrote:
       | A friend recently put me on to Intervals (https://intervals.icu)
       | for Garmin / Strava related data nerdery and I've enjoyed it very
       | much. As a rower it was nice that you can construct reports that
       | give rowing related metrics rather than just the usual cycle /
       | run stuff.
        
         | iamacyborg wrote:
         | I tried using that a couple years back and recall being
         | frustrated by how it required running intervals to be
         | formatted.
         | 
         | I believe it wanted interval activities to be recorded without
         | also recording the rest intervals in between which was
         | frustrating.
         | 
         | /edit derp, I'm getting confused between this and runalyze
        
           | caiimsyname wrote:
           | I built something for post-processing runs into common
           | running workout structures (e.g. 4 x 1mi) based solely on lap
           | data, without needing the actual programmed workout.
           | workoutsplitz.com if you want to try it out.
        
             | iamacyborg wrote:
             | Neat! Will give it a go
        
         | thefz wrote:
         | > We may use your Personal Data to contact you with
         | newsletters, marketing or promotional materials and other
         | information that may be of interest to you.
         | 
         | Noped the f outta there
        
           | hn8726 wrote:
           | > ... You may opt out of receiving any, or all, of these
           | communications from us by following the unsubscribe link or
           | the instructions provided in any email we send.
        
             | bboygravity wrote:
             | Nah thanks, I'll press the "report spam" button instead, k
             | thnx have a nice day bye.
        
           | iamacyborg wrote:
           | What dastardly acts do you think they're committing here?
           | They need your personal data (your email address) to send you
           | emails, which presumably you can unsubscribe from
        
         | eikaramba wrote:
         | Nice app, i didn't know that one. I think for cycling that is
         | quite sophisticated. However i had a different problem recently
         | wanting to track a Hyrox Workout. I have a epix gen 2 (800EUR)
         | and i cannot track it nicely. I know you can define workouts
         | but it is such a hassle and doesn't even work good.
         | 
         | Long Story short, i just programmed my own App now for that.
         | Works with all garmin watches and let's use define a fixed
         | Workout and allows to analyze your individual performances
         | across exercises:
         | 
         | https://multisports.creatness.studio - i'm still waiting for
         | Garmin to approve my App Store Submission (another long story
         | with garmin) but it can already be downloaded and sideloaded on
         | a garmin watch. using it for a few weeks now myself.
        
         | shpongled wrote:
         | Intervals.icu is great, and totally worth paying to support.
         | Really fun to see progress over time, and the ability to
         | customize charts is neat.
        
       | bacon_fan123 wrote:
       | I just got a new Garmin Vivoactive5 this week, because my old one
       | broke (also vivoactive3). For now I am quite happy with it, but I
       | bought it knowingly, that Garmins APIs and possibilites are not
       | _optimal_ at all.
       | 
       | I looked into getting a Apple Watch series 10, but ultimately
       | decided against it (battery lasting not longer than 1.5days / no
       | real use for messaging or smart apps a side from health / 2x
       | price compared to the vivo).
       | 
       | I would love to find an _open_ watch, that allows for hacking,
       | nice APIs, self-hosting of dashboards even, nice apps et cetera.
       | I feel like there is market for people like me. Maybe the rebirth
       | of the pebble will be able fill this void?
        
       | liotier wrote:
       | What similar devices don't fight their own users wanting to
       | access their own data ?
        
         | resource_waste wrote:
         | Apple locks down everything:
         | 
         | 'I like the safety'- Apple marketers or people who fell for the
         | marketing
         | 
         | Garmin/google/anyone else does it:
         | 
         | "So dumb, I should be able to use my own stuff!"
        
           | snakeyjake wrote:
           | You can export all health and fitness data with no trouble
           | using the Health app.
           | 
           | 1. Open the health app
           | 
           | 2. Tap on your face in the upper right
           | 
           | 3. Scroll down to the bottom and tap "export all data" or
           | whatever it says.
           | 
           | Bam: every workout and every health measurement in an XML
           | file.
           | 
           | Whoever told you apple locks down health and fitness data was
           | either mistaken or lying to you.
           | 
           | edit: here is a more technical explanation
           | https://www.ryanpraski.com/apple-health-data-how-to-
           | export-a...
        
       | jo-m wrote:
       | What you can always do to get ALL your raw data out of Garmin
       | connect (as FIT files) is using the data export
       | (https://support.garmin.com/en-US/?faq=W1TvTPW8JZ6LfJSfK512Q8).
       | 
       | There are some good OSS libraries to read and interpret those
       | files (e.g. Python https://github.com/polyvertex/fitdecode, Go
       | https://github.com/tormoder/fit).
       | 
       | To get your _current_ data, it is possible to pull the current
       | .FIT files from your device (watch, bike computer, ..) when it is
       | plugged to your computer and mounted as file system.
       | 
       | I once started a side project to do exactly that, but abandoned
       | it after a while (https://github.com/jo-m/garmin-disconnect).
        
         | winkywooster wrote:
         | um, have you tried to export all your raw data from garmin? i
         | have 15 years of logged data, and that dump does not include
         | any fit/gpx/tcx files. it was 196 json files (228mb) which are
         | just high-level summaries. using one of the hacky third-party
         | export libraries, i was able to get the actual fit files (5708
         | files, 373mb). even that has missing files, empty files, and
         | duplicates. very frustrating.
         | 
         | the lesson i learned is you can't just expect these exports
         | from any online services to be complete or what you expect. i
         | highly recommend going through an export of anything you depend
         | on and see if it has what you expect.
        
           | LeifCarrotson wrote:
           | This is particularly relevant with the recent blue triangle
           | of death episode where all their newest watches downloaded a
           | corrupted gps ephemeris data file and entered a boot loop.
           | 
           | One of the recommended fixes was a factory reset of the
           | watch, which deletes all of the stored .fit files.
        
           | hn8726 wrote:
           | Should it be possible to request all the data via GDPR and
           | friends?
        
             | iamacyborg wrote:
             | You've got nothing to lose from trying
        
       | manosyja wrote:
       | It's not only that API access is hard, it's also they don't
       | listen tot the community.
       | 
       | Example: It's not possible to filter for workouts without gear.
       | Sometimes I forget to add my bike or a pair of shoes, so such a
       | filter would be helpful.
       | 
       | It would be very easy for them to add add that filter to the app
       | and / or connect website.
       | 
       | But without a community manager, there's no engagement possible.
       | 
       | Imagine they had a public tracker where people could request
       | features. They could review them and use that knowledge to build
       | better stuff, making more money.
        
       | aradox66 wrote:
       | I just set this up a few months ago! It stores data in a local
       | sqlite db. I have a script that pulls in new data once a day.
       | 
       | It takes a surprisingly long time, there must be some serious
       | inefficiencies since the watch only takes a second or so to sync
       | all that same data to my phone. I haven't had a chance yet to
       | look closer at the internals.
        
       | jerjerjer wrote:
       | Any fitness watch with better access to data? I'm not even
       | talking about open source (which would be great), just interested
       | in real-time access to health info without monthly subscription
       | or scrapping their online portal.
        
         | m463 wrote:
         | I believe garmin is actually better than the others.
         | 
         | I've never put my watch online.
         | 
         | You don't have to "activate" the watch or create an account to
         | use it. You can just strap it on your wrist and go.
         | 
         | You can get to your data using MTP (or the garmin protocol) by
         | accessing the watch filesystem.
         | 
         | I'm not certain about updates. I haven't found a way to
         | download and update the watch offline, but I haven't seriously
         | tried. I did notice some beta firmware you could download and
         | update older watches with offline.
         | 
         | So I think you might need garmin connect or similar to download
         | apps or updates.
        
       ___________________________________________________________________
       (page generated 2025-02-03 23:02 UTC)