Skip to content

Switch workout parsing to fit files and add pace only feature #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 26, 2025

Conversation

jahofmann
Copy link
Contributor

This pull request addresses the removal of JSON workout data downloads from TAO, as discussed in issue #34. To adapt, this change implements the use of workout data extracted from FIT files.

I've performed some testing across various workout types, including assessments, economy, tabata, and threshold workouts. However, it's likely that edge cases still exist.

Furthermore, this PR introduces an option to disable the power fetch feature. This enhancement benefits users without a Stryd premium (or grandfathered) account, who were previously unable to utilize this tool. Stryd's PowerCenter automatically converts paced workouts to power, resolving issues #30 and #33.

In my testing the power numbers were close enough, although a bit lower on the PowerCenter converted workouts. I haven't tested how they handle steps without pace prescriptions, such as, 3.2km assessments. For now, these steps will be piped through without pace targets.

    - TAO removed the function to download garmin workout JSON data.
    - FIT files are still available.
    - This commit adds FIT file parsing to replace the data from the garmin workout JSON.
    - Tested for multiple types of workouts, such as, 3.2k and 6 minute assessments,
      Economy, Threshold, and Tabata runs.
    - FIT files handle repeated steps differently. For now, this parser only supports a
      single layer and no nested repeats.
    - Added configuration parameter 'include_runback_step'. Enable to add a runback step
      to the workout on FinalSurge.
    - Fixes gazpachoking#34
@hearttheart
Copy link

Thank you for this, excited for the merge!

In my testing the power numbers were close enough, although a bit lower on the PowerCenter converted workouts.

Is this consistent over all workouts/steps? If yes, would it make sense to add eg 2% to the pace before sending it to FinalSurge/Stryd?

@jahofmann
Copy link
Contributor Author

Good idea, that wouldn't be hard to add.

Feel free to try my branch to see what results you're getting. For me, it looked consistent, but I was only looking at a few days with limited workout variety. So take it with a grain of salt.

@hearttheart
Copy link

Works! I think it would be good to add the explanation for the

pace_only: true

option in the config.yaml somewhere, took me some digging to figure it out.

Can't really comment on the quality of the power numbers as I don't have a Stryd account with Race Calculator so can't compare.

jahofmann and others added 2 commits March 26, 2025 08:46
	- Setting the configuration option 'pace_only' disables the integrated power conversion
	- This is useful for users without access to Stryd's Race Calculator
	- Stryd automatically converts the paces to power in their platform
	- Fixes gazpachoking#33 and gazpachoking#30
@jahofmann
Copy link
Contributor Author

I've added the new parameters and some comments about them to the config example.

@gazpachoking
Copy link
Owner

Awesome work! I'm going to merge this as is, hopefully some day I'll have time to get back on track with running and fully test this new stuff out.

@gazpachoking gazpachoking merged commit e6d289e into gazpachoking:master Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants