Workout incompatible with Biketerra (Cadence)

Hi, I created a Workout in Intervals and synced it to Biketerra, but there seems to be an issue with the cadence.
I cannot specify a cadence range, unless I also have the ramp keyword.

This is what the workout looks like in Intervals:

And this is what Biketerra shows me:
image

This what I entered into the workout editor:

Warmup
-5m ramp 50-80% 85-95rpm

2x
-10m 80% 85-95rpm
-5m ramp 40% 85-95rpm

Cooldown
-5m ramp 80-50% 90rpm

Not sure if this issue is on the side of Intervals or Biketerra. Any Advise?

Thanks!

Im more curious to note about the NaN values instead.

Depends on if it’s Biketerra pulling the workouts or getting workouts pushed to it.

I would assume the ramp refers to the power, not the cadence. Cadence is a secondary target, while ramp refers to the power target (which is static).

Sure, the “ramp” keyword should only refer to the power, but as you can see in my screenshots, only those items that have the ramp keyword show a cadence. A even then, it’s only the middle of the cadence range.

The NaN values are in steps, where I say “ramp” but no power range, only one fixed value. Interestingly enough, It still creates a target rpm from this instruction.

Ah… yes. You were trying to highlight that. Tho the NaN means there’s some misinterpretation going on.

As for cadence. Using the middle value may just be a biketerra decision.

This line here: -5m ramp 40% 85-95rpm causes the NaN issue. The workout specifies a power ramp, but gives only one power value 40%, and the second is missing.

Intervals could handle this in a few ways:

  • fallback the second value to 40%, the same as the only one supplied
  • convert the ramp to a regular SteadyState interval
  • raise a syntax error

Biketerra could possible try to handle misformed zwo files with the same strategy.

About the Cadence Range, I guess it may not be supported by Biketerra.

I copy pasted the exact workout and sync’ed it into BreakAway.
It works absolutely fine.

In this case, I would say that there is translation issue happening at either when Intervals.icu sends the workout there or when BikeTerra pulls the workout & parses it when a webhook/manual pull is received

I’m parsing the JSON directly

Same workout, but I’ve removed the initial ramp so it shows the NaN part

Could you please export your workout to ZWO and share it?

And yes, @dmarinov is correct, a ramp needs both a min and max value, otherwise it’s not really a ramp.

But the cadence is something we could fix. We current expect a single value, but could support a range too (just need to see the ZWO).

Okay, understood. thanks for looking into it!
workout.zwo (804 Bytes)

How’s this look?

or, clicking the interval list to show Watts instead:

2 Likes

That looks nice, except now the cadence range is somehow not working when having a power ramp.

But thanks for the fast implementation, that’s awesome!

As some was saying. This isn’t a ramp. I know perhaps you were trying to make a point that you need the word ramp otherwise the cadence range isn’t being shown.

Next step to resolve this would be to try using the correct syntax.

You are right, this is exactly why I added this line.

Using a correct syntax, I get this:

Warmup
-5m ramp 50-80% 85-95rpm

2x
-10m 80% 85-95rpm
-5m 40% 85-95rpm

Cooldown
-5m ramp 80-50% 90rpm

grafik
Test.zwo (906 Bytes)

Note, how the cadence ramp is not available in the warmup and cooldown power ramps.

2 Likes

I have fixed this bug. The generated zwo for a ramp with no range now gets PowerHigh and PowerLow instead of just Power:

<Ramp PowerHigh="0.4" PowerLow="0.4" Duration="300"/>
4 Likes