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.
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.
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.
> 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.
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):
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.
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.
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.
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 (800€) 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.
> 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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
WD-42|1 year ago
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.
fbnlsr|1 year ago
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.
KennyBlanken|1 year ago
> 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.
helsinkiandrew|1 year ago
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/
AdamJacobMuller|1 year ago
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.
mrbonner|1 year ago
parkersweb|1 year ago
eikaramba|1 year ago
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.
iamacyborg|1 year ago
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
shpongled|1 year ago
thefz|1 year ago
Noped the f outta there
jo-m|1 year ago
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|1 year ago
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.
pokstad|1 year ago
hn8726|1 year ago
dolmen|1 year ago
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.
etrautmann|1 year ago
thefz|1 year ago
liotier|1 year ago
resource_waste|1 year ago
'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!"
mvkel|1 year ago
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|1 year ago
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.
manosyja|1 year ago
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.
bacon_fan123|1 year ago
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?
unknown|1 year ago
[deleted]
stonogo|1 year ago
NoboruWataya|1 year ago
kawsper|1 year ago
You can select the filetype too: gpx, fit or tcx.
aradox66|1 year ago
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|1 year ago
m463|1 year ago
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.
ggm|1 year ago
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.