SamR1 / FitTrackee

Self-hosted outdoor activity tracker :bicyclist:
https://samr1.github.io/FitTrackee
GNU Affero General Public License v3.0
696 stars 43 forks source link

Allow to upload Fit file #122

Open pmakowski opened 2 years ago

pmakowski commented 2 years ago

Hi, it would be nice to import FIT files. Size of FIT files is smaller than gpx files. Using fitdecode, it should be possible. https://pypi.org/project/fitdecode/

SamR1 commented 2 years ago

Hi,

For now, FitTrackee only supports GPX files since this format is standard, open and easily editable.

But, I have in mind to rework .gpx files processing. I will look if it is possible to integrate the FIT format. Thanks for the link to the python library.

bjornclauw commented 1 year ago

Another small python library: https://github.com/dodo-saba/fit2gpx

SamR1 commented 1 year ago

thanks!

ebrithiljonas commented 1 year ago

I have created a FitTrackee Uploader tool, that lets you upload your workouts from a defined folder. It also supports FIT files, it converts them to a GPX and adds stats like calories and heart rate average to the description. You could use this as a workaround until it is officially supported.

dkm commented 1 year ago

I also hacked a small command line tool to allow for easy import of FIT/GPX workouts, see: https://github.com/dkm/fittrackee-cli-rs It's still very early, but at least for me, works nicely. Relies on gpsbabel for converting FIT to GPX before uploading. There's a config for mapping device's activities to server's sports.

bayerstefan76 commented 7 months ago

Hi, I did a first try at directly storing the fit files in the DB and reading them in using the official Garmin Python Fit SDK, works at least with the fit files from my Garmin Nuvo 2 Watch. I am not sure if you are fine with using this SDK, since it has its own proprietary license and not one of the usual open source ones but maybe you like what I did there. You can find my fork and the dev branch support_fit_files here: https://github.com/bayerstefan76/FitTrackee/tree/support_fit_files . Storing the fit files directly w/o conversion to GPX gives the opportunity to visualize additional information stored in there (e.g. I have a cadence sensor on my bike and would like to have a graph of this also). I am familiar with Python but not with the Flask/Web Application specifics, so I am happy to hep with the data gathering part but the web gui part for something more than is already there needs to be probably done by somebody else.

dkm commented 7 months ago

I was curious about that SDK. License: https://www.thisisant.com/developer/ant/licensing/flexible-and-interoperable-data-transfer-fit-protocol-license Source code: https://github.com/garmin/fit-python-sdk/tree/main

Looks like you are not free of doing anything that would break compatibility with FIT, but have only skimmed the text...