FitTrackee icon indicating copy to clipboard operation
FitTrackee copied to clipboard

Not possible to IMPORT file (.zip, .fit, .tcx) from Indoor Activity (cycling)

Open xmgz opened this issue 3 months ago • 2 comments

hi, anyone here doing indoor activities like cycling/rowing with GARMIN device? I have also tried with WAHOO's fit file from same workout and failed with the same error message.

This is a zip which includes:

https://upload.disroot.org/r/geKREZW9#kaBRvdbrj2wCNisYApG7MZjsq3iZa7k0TjARKvtIMnw=

  • zip downloaded from garmin's website (.fit inside)
  • .tcx file from same workout
  • log file from my system

In log file:

first part is from garmin2fittrackee trying to import directly from file. Posted in case is of any help.

But the second part is from fittrackee's log file itself, iterating from the diferent file types when trying to import from zip

At the bottom of log file I also post the result shown when trying to import USING fittrackee's WEB INTERFACE (red error at the bottom).

Pasted (and translated) here as reference:

Import files directly from web interface

zip file (.fit):  «no valid segments in GPS data from .fit file»

Ficheiro con erros:

    - 20506390821_ACTIVITY.fit: non se atopan segmentos válidos nos datos GPS do ficheiro .fit.

tcx:  «no coordinates on .tcx file»


Sen coordenadas no ficheiro .tcx

and this is after trying to import files from web interface:

GARMIN's file

2025/09/27 07:24:47 - fittrackee - ERROR - Error when creating workout
Traceback (most recent call last):
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/workouts.py", line 1585, in post_workout
    new_workouts, processing_output = service.process()
                                      ^^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workouts_from_file_creation_service.py", line 512, in process
    new_workout = self.create_workout_from_file(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workouts_from_file_creation_service.py", line 194, in create_workout_from_file
    workout_service = WORKOUT_FROM_FILE_SERVICES[extension](
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workout_from_file/workout_gpx_service.py", line 59, in __init__
    self.gpx: "gpxpy.gpx.GPX" = self.parse_file(
                                ^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workout_from_file/workout_tcx_service.py", line 160, in parse_file
    raise WorkoutFileException(
fittrackee.workouts.exceptions.WorkoutFileException: no coordinates in tcx file

wahoo's file

2025/09/27 07:34:34 - fittrackee - ERROR - Error when creating workout
Traceback (most recent call last):
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/workouts.py", line 1585, in post_workout
    new_workouts, processing_output = service.process()
                                      ^^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workouts_from_file_creation_service.py", line 512, in process
    new_workout = self.create_workout_from_file(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workouts_from_file_creation_service.py", line 194, in create_workout_from_file
    workout_service = WORKOUT_FROM_FILE_SERVICES[extension](
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workout_from_file/workout_gpx_service.py", line 59, in __init__
    self.gpx: "gpxpy.gpx.GPX" = self.parse_file(
                                ^^^^^^^^^^^^^^^^
  File "/var/www/fittrackee/venv/lib/python3.11/site-packages/fittrackee/workouts/services/workout_from_file/workout_fit_service.py", line 169, in parse_file
    raise WorkoutFileException(
fittrackee.workouts.exceptions.WorkoutFileException: no valid segments with GPS found in fit file

thank you

xmgz avatar Sep 27 '25 05:09 xmgz

Hi,

For the moment, FitTrackee only supports files containing at least coordinates and time.

In the meantime, one workaround would be to add these activities without a file, by providing at least sport id, date, duration and distance. I don't know if Garmin API returns this information without having to parse the .fit file.

ping @Dryusdan

SamR1 avatar Sep 27 '25 09:09 SamR1

Hi o/ After somes checks, I can check on each event if some metrics are presents (with geoPolylineDTO for exemple)

A manual activity return this result

{
  "activityId": 20543524536,
  "measurementCount": 0,
  "metricsCount": 0,
  "totalMetricsCount": 0,
  "metricDescriptors": null,
  "activityDetailMetrics": null,
  "geoPolylineDTO": null,
  "heartRateDTOs": null,
  "pendingData": null,
  "detailsAvailable": false
}

I think I can import it into Fittrackee without /api/workouts/no_gpx endpoint. But an activity with data and without map can't be imported as is into fittrackee I think 🤔

I make a task for my importer, but I have no time to develop it soon :/

Dryusdan avatar Sep 30 '25 08:09 Dryusdan