No workout_step messages found

I try to import a .fit file downloaded from strava but i get the message:
No workout_step messages found
Is there a way to implement this so i can import outdoor rides to make a next week fitness prediction?
The .fit file is generated by the wahoo app and contains the following information:

Namiddagrit.fit

time_created manufacturer product type
9/13/2022, 5:08:37 PM wahoo_fitness 0 activity
manufacturer_id developer_data_index
wahoo_fitness 0
wahoo_fitness 1
wahoo_fitness 2
wahoo_fitness 3
wahoo_fitness 4
wahoo_fitness 5
wahoo_fitness 6
wahoo_fitness 7
wahoo_fitness 8
wahoo_fitness 9

Go to:

Offset

1–10 of 21

field_name units developer_data_index field_definition_number fit_base_type_id
calibration adc 0 0 sint32
field_name units developer_data_index field_definition_number fit_base_type_id
charge % 1 0 uint8
ascent m 12 0 uint16
field_name units developer_data_index field_definition_number fit_base_type_id
running_smoothness % 2 0 uint8
field_name units developer_data_index field_definition_number fit_base_type_id
time_ms ms 3 0 uint64
field_name developer_data_index field_definition_number fit_base_type_id
ant_device_num 4 0 uint16
field_name units developer_data_index field_definition_number fit_base_type_id
crank_length mm x 10 5 0 uint16
field_name units developer_data_index field_definition_number fit_base_type_id
glucose mg/dL 6 0 uint16
lat_gps semis 15 0 sint32
lon_gps semis 16 0 sint32
field_name units developer_data_index field_definition_number fit_base_type_id
avg_smoothness_x avg per/step 7 0 uint8
avg_smoothness_y avg per/step 8 0 uint8
avg_smoothness_z avg per/step 9 0 uint8
field_name developer_data_index field_definition_number fit_base_type_id
travel_assist_level 10 0 uint8
field_name units developer_data_index field_definition_number fit_base_type_id
lev_travel_assist_level_time_in_zone ms 11 0 uint32
field_name units developer_data_index field_definition_number fit_base_type_id
auto_lap_duration s 13 0 uint16
auto_lap_distance m 14 0 uint16
field_name developer_data_index field_definition_number fit_base_type_id
serial_number 17 0 string
field_name units developer_data_index field_definition_number fit_base_type_id
lap_distance_before_snap cm 18 0 uint32
field_name developer_data_index field_definition_number fit_base_type_id
workout_type 19 0 uint16
field_name units developer_data_index field_definition_number fit_base_type_id
Leg Spring Stiffness kN/m 20 9 float32
field_name units developer_data_index field_definition_number fit_base_type_id
Form Power W 20 8 uint16
field_name units developer_data_index field_definition_number fit_base_type_id
Air Power W 20 11 uint16
field_name developer_data_index field_definition_number fit_base_type_id
Running Effectiveness 0 1 uint16
field_name developer_data_index field_definition_number fit_base_type_id
running_stress_score 0 2 uint16
field_name developer_data_index field_definition_number fit_base_type_id
reanalyzer_lap_motion_type 0 3 uint8
field_name units developer_data_index field_definition_number fit_base_type_id
descent m 0 4 uint16
field_name units developer_data_index field_definition_number fit_base_type_id
fit_date_time s 0 5 uint32
name message_index high_bpm(bpm)
HR Zone0 0 99
HR Zone1 1 116
HR Zone2 2 127
HR Zone3 3 146
HR Zone4 4 254
name message_index high_value(watts)
PWR Zone0 0 84
PWR Zone1 1 114
PWR Zone2 2 136
PWR Zone3 3 159
PWR Zone4 4 181
PWR Zone5 5 65534
timestamp data event event_type
9/13/2022, 5:08:37 PM 0 timer start
timestamp product_name manufacturer product device_index
9/13/2022, 5:08:37 PM FITNESS wahoo_fitness 0 creator
sport sub_sport
cycling generic
wkt_name sport sub_sport
Cycling cycling generic
timestamp distance(m) calories(kcal)
9/13/2022, 5:08:37 PM 0 0
timestamp distance(m) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm)
9/13/2022, 5:08:38 PM 0 0 0 0 77
9/13/2022, 5:08:39 PM 0 0 0 0 76
9/13/2022, 5:08:40 PM 0 0 0 0 74
9/13/2022, 5:08:41 PM 0 0 0 0 72
9/13/2022, 5:08:42 PM 0 0 0 0 71
9/13/2022, 5:08:43 PM 0 0 0 0 70
9/13/2022, 5:08:44 PM 0 0 0 0 67
9/13/2022, 5:08:45 PM 0 1 0 0 68
9/13/2022, 5:08:46 PM 0 1 0 0 69
9/13/2022, 5:08:47 PM 0 1 0 0 69

Go to:

Offset

1–10 of 11

timestamp distance(m) power(watts) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm)
9/13/2022, 5:08:49 PM 0 0 1 0 0 71 11
timestamp data event event_type
9/13/2022, 5:08:50 PM 1 timer stop
field 253 field 5 field 7 field 33 field 39 field 41 field 3 field 4
1032016130 0 42 1 0 0 72 24
1032016131 0 84 1 0 0 73 37
1032016132 0 127 1 0 0 74 46
timestamp data event event_type
9/13/2022, 5:08:52 PM 1 timer start
timestamp distance(m) power(watts) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm)
9/13/2022, 5:08:53 PM 0 135 1 0 0 75 52
9/13/2022, 5:08:54 PM 0 86 1 0 0 75 57
9/13/2022, 5:08:55 PM 0 90 1 0 0 76 60
9/13/2022, 5:08:56 PM 0 117 1 0 0 77 63
9/13/2022, 5:08:57 PM 0 111 1 0 0 77 64
9/13/2022, 5:08:58 PM 0 90 1 0 0 78 67
9/13/2022, 5:08:59 PM 0 45 1 0 0 79 58
9/13/2022, 5:09:00 PM 0 0 1 0 0 80 40
9/13/2022, 5:09:01 PM 0 5 1 0 0 80 32
9/13/2022, 5:09:02 PM 0 33 1 0 0 82 68

Go to:

Offset

1–10 of 44

timestamp position_lat(°) position_long(°) distance(m) altitude(m) power(watts) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm) gps_accuracy(m) lat_gps(semis) lon_gps(semis)
9/13/2022, 5:09:37 PM 52.449211 4.837609 0 -0.6000000000000227 117 4 0 0 97 89 5 625743462 57714921
timestamp position_lat(°) position_long(°) distance(m) altitude(m) speed(m/s) power(watts) grade(%) vertical_speed(m/s) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm) gps_accuracy(m) lat_gps(semis) lon_gps(semis) ascent(m) descent(m)
9/13/2022, 5:09:38 PM 52.449264 4.837607 0 -0.6000000000000227 0 111 0 0 5 0 0 97 88 5 625744099 57714904 0 0
9/13/2022, 5:09:39 PM 52.449322 4.837603 12.08 -0.8000000000000114 6.003 109 0 0 5 0 0 97 91 5 625744782 57714853 0 0
9/13/2022, 5:09:40 PM 52.449383 4.837609 19.15 -0.6000000000000227 7.058 110 0 0 5 0 0 98 94 5 625745510 57714927 0 0
9/13/2022, 5:09:41 PM 52.449436 4.837600 25.17 -0.6000000000000227 6.49 104 0 0 5 0 0 102 93 5 625746147 57714819 0 0
9/13/2022, 5:09:42 PM 52.449493 4.837596 31.26 -0.6000000000000227 6.392 92 0 0 5 0 0 102 89 5 625746830 57714768 0 0
9/13/2022, 5:09:43 PM 52.449547 4.837585 37.49 -0.19999999999998863 6.109 87 0 0 5 0 0 102 88 5 625747467 57714637 0 0
9/13/2022, 5:09:44 PM 52.449600 4.837579 43.43 -0.6000000000000227 6.064 80 0 0 5 0 0 102 103 5 625748104 57714569 0 0
9/13/2022, 5:09:45 PM 52.449657 4.837575 49.81 -1 6.18 80 0 0 5 0 0 102 94 5 625748787 57714523 0 0
9/13/2022, 5:09:46 PM 52.449715 4.837567 56.29 -0.6000000000000227 6.273 101 0 0 5 0 0 102 92 5 625749470 57714426 0 0
9/13/2022, 5:09:47 PM 52.449772 4.837551 62.5 -0.39999999999997726 6.354 99 0 0 5 0 0 102 95 5 625750152 57714227 0 0

Go to:

Offset

1–10 of 6863

timestamp distance(m) altitude(m) speed(m/s) power(watts) grade(%) vertical_speed(m/s) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm) gps_accuracy(m) ascent(m) descent(m)
9/13/2022, 5:16:24 PM 2740.69 0.6000000000000227 6.39 0 -1.45 -0.096 49 0 0 131 0 5 0 3
9/13/2022, 5:16:27 PM 2746.2 0 6.219 0 -1.37 -0.089 50 0 0 126 0 5 0 3
9/13/2022, 5:16:29 PM 2748.73 0 6.033 0 -1.68 -0.107 50 0 0 125 0 5 0 3
9/13/2022, 5:16:31 PM 2750.78 0 5.916 0 -1.62 -0.101 51 0 0 125 0 5 0 4
9/13/2022, 5:16:32 PM 2751.81 0 5.793 0 -0.43 -0.027 51 0 0 124 0 5 0 4
9/13/2022, 5:16:34 PM 2753.93 0.19999999999998863 5.664 0 0 0 51 0 0 121 0 5 0 4
9/13/2022, 5:16:36 PM 2756.06 0.19999999999998863 5.664 0 0 0 52 0 0 118 0 5 0 4
9/13/2022, 5:16:38 PM 2757.91 0 5.523 0 0 0 52 0 0 116 0 5 0 4
9/13/2022, 5:16:39 PM 2758.72 0 5.372 0 0 0 52 0 0 114 0 5 0 4
9/13/2022, 5:16:41 PM 2759.9 0.19999999999998863 3.558 0 0 0 53 0 0 113 0 5 0 4

Go to:

Offset

1–10 of 59

timestamp data event event_type
9/13/2022, 5:16:45 PM 0 timer stop
field 253 field 5 field 2 field 6 field 7 field 9 field 32 field 33 field 39 field 41 field 3 field 4 field 31 ascent(m) descent(m)
1032016605 276061 2501 0 0 0 0 53 0 0 111 0 5 0 4
1032016606 276061 2501 0 0 0 0 53 0 0 110 0 5 0 4
1032016607 276061 2501 0 0 0 0 53 0 0 109 0 5 0 4
1032016608 276061 2502 0 0 0 0 53 0 0 108 0 5 0 4
1032016609 276061 2502 0 0 0 0 53 0 0 105 0 5 0 4
1032016610 276061 2502 0 0 0 0 53 0 0 103 0 5 0 4
1032016611 276061 2502 0 0 0 0 53 0 0 101 0 5 0 4
1032016612 276061 2502 0 5 0 0 53 0 0 100 0 5 0 4
1032016613 276061 2502 0 20 0 0 53 0 0 100 0 5 0 4
1032016614 276061 2502 0 25 0 0 53 0 0 99 3 5 0 4

Go to:

Offset

1–10 of 150

field 253 field 0 field 1 field 5 field 2 field 6 field 7 field 9 field 32 field 33 field 39 field 41 field 3 field 4 field 31 lat_gps(semis) lon_gps(semis) ascent(m) descent(m)
1032016615 625845726 57403102 276061 2502 0 25 0 0 53 0 0 99 19 5 625845726 57403102 0 4
1032016616 625845771 57402578 276061 2500 0 91 0 0 53 0 0 98 41 5 625845771 57402578 0 4
1032016617 625845771 57401765 276061 2500 4414 280 0 0 53 0 0 97 75 5 625845771 57401765 0 4
1032017086 626170720 57335472 622829 2508 80 0 0 0 127 0 0 144 0 5 626170720 57335472 1 5
1032017103 626170902 57335706 622829 2511 0 0 0 0 127 0 0 113 0 5 626170902 57335706 1 5
1032017112 626171085 57335962 622829 2512 0 104 0 0 127 0 0 96 0 5 626171085 57335962 1 5
1032017113 626171267 57336314 622829 2512 0 130 0 0 127 0 0 95 29 5 626171267 57336314 1 5
1032017114 626171585 57336826 622829 2511 0 272 0 0 127 0 0 95 48 5 626171585 57336826 1 5
1032017115 626171904 57337435 622829 2512 4243 452 0 0 127 0 0 95 61 5 626171904 57337435 1 5
1032017252 626227291 57277252 690951 2505 0 0 0 0 139 0 0 105 0 5 626227291 57277252 10 12

Go to:

Offset

1–10 of 56

timestamp data event event_type
9/13/2022, 5:16:58 PM 0 timer start
9/13/2022, 5:24:35 PM 1 timer stop
9/13/2022, 5:24:39 PM 1 timer start
9/13/2022, 5:24:45 PM 1 timer stop
9/13/2022, 5:25:16 PM 1 timer start
9/13/2022, 5:27:01 PM 0 timer stop
9/13/2022, 5:27:37 PM 0 timer start
9/13/2022, 5:33:47 PM 0 timer stop
9/13/2022, 5:34:05 PM 0 timer start
9/13/2022, 5:50:54 PM 0 timer stop

Go to:

Offset

1–10 of 29

timestamp distance(m) power(watts) grade(%) vertical_speed(m/s) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm) ascent(m) descent(m)
9/13/2022, 5:27:00 PM 6909.43 0 0 0 139 0 0 121 0 10 12
field 253 field 5 field 7 field 9 field 32 field 33 field 39 field 41 field 3 field 4 ascent(m) descent(m)
1032017221 690943 0 0 0 139 0 0 121 0 10 12
1032017222 690943 0 0 0 139 0 0 121 0 10 12
1032017223 690943 0 0 0 139 0 0 119 0 10 12
1032017224 690943 0 0 0 139 0 0 117 0 10 12
1032017225 690943 0 0 0 139 0 0 116 0 10 12
1032017226 690943 0 0 0 139 0 0 115 0 10 12
1032017227 690943 0 0 0 139 0 0 115 0 10 12
1032017228 690943 0 0 0 139 0 0 115 0 10 12
1032017229 690943 0 0 0 139 0 0 116 0 10 12
1032017230 690943 0 0 0 139 0 0 116 0 10 12

Go to:

Offset

1–10 of 198

timestamp distance(m) power(watts) grade(%) vertical_speed(m/s) calories(kcal) vertical_oscillation(mm) stance_time(ms) heart_rate(bpm) cadence(rpm) ascent(m) descent(m)
9/13/2022, 6:19:04 PM 28572.89 0 0 0 537 0 0 102 0 22 31
9/13/2022, 6:33:34 PM 34707.52 0 0 0 642 0 0 117 0 24 31
9/13/2022, 7:06:04 PM 50043.43 0 0 0 938 0 0 115 0 50 64
field 253 field 0 field 1 field 5 field 2 field 6 field 9 field 32 field 33 field 39 field 41 field 3 field 31 lat_gps(semis) lon_gps(semis) ascent(m) descent(m)
1032023508 625731356 57737637 5170796 2493 0 0 0 964 0 0 102 5 625731356 57737637 76 95
timestamp start_time total_elapsed_time(s) total_timer_time(s) total_distance(m) total_work(J) total_moving_time(s) time_in_hr_zone(s) time_in_power_zone(s) total_calories(kcal) avg_speed(m/s) max_speed(m/s) avg_power(watts) max_power(watts) total_ascent(m) total_descent(m) normalized_power(watts) avg_altitude(m) max_altitude(m) avg_grade(%) max_pos_grade(%) max_neg_grade(%) min_altitude(m) avg_vertical_oscillation(mm) avg_stance_time(ms) event event_type avg_heart_rate(bpm) max_heart_rate(bpm) avg_cadence(rpm) max_cadence(rpm) lap_trigger sport sub_sport min_heart_rate(bpm)
9/13/2022, 7:11:18 PM 9/13/2022, 5:08:37 PM 7361.404 6984.807 51707.85 925418 6984.807 152.878 1107.376 964 7.403 14.304 133 653 76 95 151 0.39999999999997726 6.199999999999989 -0.02 6.83 -5.41 -3.6000000000000227 0 0 lap stop 127 158 94 135 session_end cycling generic 67
timestamp event event_type
9/13/2022, 7:11:18 PM session stop_disable_all
timestamp start_time total_elapsed_time(s) total_timer_time(s) total_distance(m) total_work(J) total_moving_time(s) time_in_hr_zone(s) time_in_power_zone(s) total_calories(kcal) avg_speed(m/s) max_speed(m/s) avg_power(watts) max_power(watts) total_ascent(m) total_descent(m) num_laps normalized_power(watts) training_stress_score(tss) intensity_factor(if) threshold_power(watts) avg_altitude(m) max_altitude(m) avg_grade(%) max_pos_grade(%) max_neg_grade(%) min_altitude(m) avg_vertical_oscillation(mm) avg_stance_time(ms) event event_type sport sub_sport avg_heart_rate(bpm) max_heart_rate(bpm) avg_cadence(rpm) max_cadence(rpm) min_heart_rate(bpm) workout_type
9/13/2022, 7:11:18 PM 9/13/2022, 5:08:37 PM 7361.404 6983.262 51707.85 925418 6983.262 152.878 1107.376 964 7.405 14.304 133 653 76 95 1 151 195.4 1.006 150 0.39999999999997726 6.199999999999989 -0.02 6.83 -5.41 -3.6000000000000227 0 0 session stop cycling generic 127 158 94 135 67 0
timestamp total_timer_time(s) local_timestamp num_sessions type event event_type
9/13/2022, 7:11:18 PM 7361.404 1032030678 1 manual activity stop

Is the FIT File

  1. a workout file?
  2. a completed outdoor ride?

if #1, I’m not entirely sure if FIT workout files are supported yet. I know it’s been requested
if #2, you should be able to just upload the FIT file directly and it will get parsed by intervals.icu

Ways to get completed Workouts to Intervals

  1. Wahoo → Strava → intervals
  2. Wahoo → DropBox → Intervals
1 Like

Yes, it is an outdoor ride, i try to import it into the Add Calendar Entry for next week to predict my fitness level.

You can’t import an activity file as a planned workout.b
If you just want to predict Fitness, create a future workout with the load of the former ride.

1 Like

if you want the exact same ride (more or less) as well as use the ride to predict your fitness, you can create a workout Based on your ride by

  1. import the ride into intervals
  2. open the workout library
  3. drag and drop the imported workout int the workout library (this will create a workout based on the outdoor ride)
  4. drag this workout onto your calendar

Alternatively, BreakAway: Indoor Training App Now with Intervals.icu Calendar integration (Workout Of The Day) also supports converting outdoor workouts directly into either slope based or erg based workouts

but if you only want to predict fitness, just enter the load manually into the calender and it will calculate it. No need to import any workouts.

1 Like

Thanks!
Currently i create zwo workouts with the free zwift workout editor: https://www.zwiftworkout.com/ but it would have been nice to simple drag an existing workout to the next week.

Thanks! The problem is that fit files are not supported by intervals atm.
I will have a look at the Breakaway app.

Why not create your workouts with the intervals.icu workout builder and download them as .zwo files. That way you will start to build a library of workouts and you can then also use them to predict fitness by dragging and dropping them onto calendar.

If you already have a library of .zwo workouts from the free zwift editor you can also add these to the intervals.icu library and import them into the calendar.

1 Like

That’s what i’m already doing, but it would have been nice to import an exact copy of a workout.

I think I’m missing something in all these discussion.

Your Ask :
Able to import an Outdoor Ride (FIT) into Intervals.icu and then have that ride converted to a workout for you to drag and drop into any days in the calendar.

Is that what you mean?

If yes, then these would solve your situation wont it?

Or are you referring NOT to actual outdoor rides, but workouts in the FIT file format? (similar like ERG / ZWO / MRC formats)

You can also create workouts within intervals.icu using its workout builder.

1 Like

I haven’t looked at app4g yet (is that an mobile app only or does it also work on the PC?

Intervals.icu can import workouts from fit files (activity and workout). In both cases the file needs to contain workout_step messages.

If your activity file doesn’t have those (i.e. it doesn’t include the workout) then you can do as @app4g suggests. Upload to your calendar, get the intervals right and then drag it onto a library folder to create a workout.

1 Like

Yes. iOS only. No subscription & fees needed.

1 Like

Why do the strava fit files contain no workout data?

Can you help define exactly what are these FIT files from strava?

  1. Completed workouts FIT files?
  2. Planned Workouts FIT files?

I don’t have a strava premium sub, so I can’t download any FIT files from strava, nor download/plan any workouts on Strava. (I’m not sure if there’s this option as I never did read about it since I don’t have a premium sub anyways)

It’s a completed workout file (in my first message at the top):
Namiddagrit.fit

Here is the raw data of the workout:
https://runalyze.com/tool/fit-viewer/2b914eb60ae36f852d1f3de5d0260a63/view

Had to google what “workout steps” means…
from the FIT specs File Types | FIT SDK | Garmin Developers

workoutStep = The Workout Step message is used to define the instructions for each step of the workout.

But you say that your workout is a completed workout, hence it’s not a Planned Structured Workout, hence, it should not have the need for “workout step”.

Sorry… no clue whats happening w your file. I can upload any of my FIT files (either generated from Garmin Watch or from the BreakAway App) and it works just fine.

possibly share the fit file.

1 Like

This is not the raw FIT file. This is already decoded and is not useful for uploading.

Hmm ok, i’m not an expert… :slight_smile:
Just to make sure we talk about the same thing… i want to upload the file into the Add Calendar Entry.

Yes… Exactly what i am referring to as well…

Works…

share your RAW fit file… then we can try to help…