Summary
When importing Concept2 RowErg .fit files into Intervals.icu, the workout’s work/rest intervals are already explicitly defined in the FIT “lap” messages, including lap.intensity = active (work) vs rest (recovery). Intervals.icu appears to ignore these lap boundaries / intensities and clumps recovery time into the adjacent work intervals, producing incorrect interval metrics and summaries.
Environment
- Device: Concept2 RowErg (PM5)
- File: FIT exported from Concept2 Logbook / ErgData
- Platform: Intervals.icu import (web)
Steps to Reproduce
- Perform an interval workout on the RowErg (e.g.,
6 x 1:00 work / 1:00 rest, or a ladder like1–6 minwith1 minrest). - Export the workout as a
.fitfile from Concept2 Logbook / ErgData. - Import the
.fitfile into Intervals.icu. - View the “Intervals / Laps / Splits” and the computed interval stats.
Expected Behavior
-
Intervals.icu should use the FIT lap messages as authoritative segmentation:
- Each interval and rest is represented as its own lap.
- Work laps:
lap.intensity = "active" - Rest laps:
lap.intensity = "rest"
-
Interval summaries should reflect only work laps for work interval metrics, and show rest laps separately.
-
Any workout structure based on laps should remain intact.
Actual Behavior
-
Intervals.icu ignores the lap-defined work/rest structure and frequently:
- merges rest laps into adjacent work laps, or
- shows fewer/longer intervals than actually performed, or
- computes interval stats (pace/power/HR/etc.) over work+rest combined.
-
This produces systematically wrong interval metrics.
Impact
This materially breaks rowing analysis:
- Work interval pace/power is diluted by rest, appearing slower/weaker than reality.
- Interval comparisons and trend tracking become misleading for athletes/coaches.
- Any derived metrics / training load that depend on interval structure become inaccurate.
Evidence
The .fit file includes lap messages that already encode the interval structure, including:
- Lap start times and durations
- Per-lap stats
lap.intensitydistinguishing work (active) vs recovery (rest)
Intervals.icu import results do not match that structure.
Suggested Fix
For Concept2 indoor rowing FIT imports:
-
If lap messages exist, treat them as the primary segmentation.
-
If
lap.intensityis present:active→ work laprest→ recovery lap
-
Only fall back to record-based heuristics when laps are absent.

