joaovitoriasilva / endurain

Endurain is a self-hosted fitness tracking service designed to give users full control over their data and hosting environment
https://docs.endurain.com/
GNU General Public License v3.0
663 stars 15 forks source link

[FEAT] - Integrate with Garmin #3

Closed Cave-Johnson closed 1 week ago

Cave-Johnson commented 11 months ago

Would be great to add Garmin support - i know alot of people that would love to be able to self host something to pull in their Garmin data

https://github.com/cyberjunky/python-garminconnect

dgalli1 commented 4 months ago

Wouldn't it be more useful to directly support .fit file imports instead of relaying on an API?

Like this smartwatches connected via gadgetbridge could also still work.

Garmin also has a offical sdk, which should result in fewer stability issues: https://developer.garmin.com/fit/overview/

The connect website also has a function to export fit files which would mean that it should still be possible to connect via the webpage for users in the offical eco system.

Edit nvm: https://github.com/joaovitoriasilva/endurain/blob/4b0d546d2e67ce77cbcf04cd91ace01b431ae154/backend/app/fit/utils.py#L1 :+1:

joaovitoriasilva commented 4 months ago

Hello @dgalli1. Yes, you are right. .fit files is on my to do list. Probably my next task. Every platform that I know supports .fit files, so it makes sense to support it.

Using an API has some other benefits like exporting other data than activities, i.e. all the health data that Garmin also has, like weight, HRV, etc

alexanderadam commented 4 months ago

Wouldn't it be more useful to directly support .fit file imports instead of relaying on an API?

I think that both have different advantages and purposes. Moving files manually can be inconvenient instead of having a sync that just works™.

However, I think that in order to use the API you'd need to be part of the Garmin developer program and I'm not sure which conditions apply there.

Like this smartwatches connected via gadgetbridge could also still work.

IMHO this would be the best way since everything would stay within an open ecosystem. _However, Gadgetbridge sync was requested 9 years and I'm not sure that it'd be supported anytime soon.

Using an API has some other benefits like exporting other data than activities, i.e. all the health data that Garmin also has, like weight, HRV, etc

That's true. But I can also imagine that it means a lot of work to implement these, or not?

joaovitoriasilva commented 1 week ago

Implemented in v0.6.0 version.