cagnulein / qdomyos-zwift

Zwift bridge for smart treadmills and bike/cyclette
https://www.qzfitness.com/
GNU General Public License v3.0
385 stars 110 forks source link

[REQ] Auto-Resistance Adjustment for NordicTrack VR25 #1532

Closed makkonen closed 1 year ago

makkonen commented 1 year ago

Describe the solution you'd like VR25 bike connects (via ProForm TDF IP method) and reports wattage/cadence/etc, but resistance stays at 0. It would be amazing if I could use the auto-adjustment. (And I am pretty sure it is capable.)

Additional context Debug log: I'm not sure if this captures all the necessary detail, so please let me know if I can submit a better/cleaner one. I stepped through using the resistance + button every 10 seconds up from 1 to 26 (then hit the + button a few more times to ensure I was at max). I misclicked around level 18/19 and went up two steps in about a second. Then every 5 seconds stepped down with the resistance - button, back to 1. Then every 5 seconds used one of the 1-step resistance buttons to step to 2, 4, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, then back to 2 (iirc).

debug-Wed_Jun_21_08_10_56_2023.log

cagnulein commented 1 year ago

thanks @makkonen Good news! I can parse the resistance! About writing resistance from qz: can you try to send me a debug log where you try to press the inclination plus tile on qz? you have to be in the "manual" workout on your bike.

Let me know

makkonen commented 1 year ago

ok, I started again, manual ride on the bike, then did inclination up about 5 times and then down about 5 times. I saw no notable response either from QZ or on the bike display.

debug-Wed_Jun_21_09_55_34_2023.log

cagnulein commented 1 year ago

i guess I understood why the resistance is not moving: your bike has a motor for the inclination or the only motor is for the resistance?

Roberto Viola Software engineer and open source enthusiast http://robertoviola.cloud

Il giorno mer 21 giu 2023 alle ore 17:23 makkonen @.***> ha scritto:

ok, I started again, manual ride on the bike, then did inclination up about 5 times and then down about 5 times. I saw no notable response either from QZ or on the bike display.

debug-Wed_Jun_21_09_55_34_2023.log https://github.com/cagnulein/qdomyos-zwift/files/11819553/debug-Wed_Jun_21_09_55_34_2023.log

— Reply to this email directly, view it on GitHub https://github.com/cagnulein/qdomyos-zwift/issues/1532#issuecomment-1601049539, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALYWEQOMZXUD4I2LYWSPDXMMGXZANCNFSM6AAAAAAZOZS7LA . You are receiving this because you were assigned.Message ID: @.***>

makkonen commented 1 year ago

Just resistance. There is no inclination adjustment.

cagnulein commented 1 year ago

ok i will add a new setting for your bike in order to handle this! I will let you know in the next days!

cagnulein commented 1 year ago

@makkonen done! it will be available from the 2.13.84 You don't need to set any new setting, i auto changed the behaviour reading the bike informations send me an email to roberto.viola83 at gmail.com indicating this ticket and if you are on android or iOS and I will send you the new beta when it will be ready. Thanks

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

makkonen commented 1 year ago

I had some additional questions on this. (Maybe I should close and open a new issue, as they're not too closely related.)

QZ is functioning nearly perfectly now. Controls resistance, reads speed/wattage/etc. The speed readings do start to cut out occasionally after about 30-60 minutes on the bike... I think that's a known issue, but it doesn't seem to do me any harm, so I haven't run it down. Example: (Apologies, I don't have debug logs on any of this, but will happily gather them if needed)

Tue Jun 27 11_20_42 2023_speedInclination

More troubling, the wattage readings on the bike are complete trash. I think this is a combination of miscalibration, and other factors that I don't understand at all. (Note: none of this is a QZ problem -- the readings in-app match the readings on the bike display.)

1: When I got the bike, the internal set of nuts (lock nut and barrel nut) determining the closeness of the magnets was pretty close to max (no threads exposed). Wattage readings were extremely low (as expected if resistance was miscalibrated high). I backed the screw off significantly (8-9 full turns) and now the resistance level is significantly lower (good for my newbie legs) and wattage readings are slightly more sane, but still quite low. I average 22-25 watts for a 1hr Z2 ride, whereas I average ~105-115 watts for a 1hr Z2 session on my rower (waterrower with SmartRow, i.e. a true powermeter, so likely to be fairly accurate). I know these don't exactly correlate, but they make me suspect it's still not nearly correct.

2: I notice extremely weird wattage readings. When resistance is set to 1, wattage jumps up about 20 for the same cadence. There's no such discontinuity for resistance 2-10 or so (I haven't tested it higher to see if there are other weird jumps). You can see it here: Thu Jun 29 23_06_31 2023_resistance Thu Jun 29 23_06_30 2023_power

Also weird, it appears that, at least on the very low resistance levels I'm using (mostly 2-6) wattage goes up as cadences goes up, about to 80rpm, but then starts to decrease, and craters above 100rpm to the point where I recorded something like 7 watts while cycling at 105-110rpm in resistance level 2. I thought this was maybe some sort of calculation on first derivative (wattage down as you slow, wattage up as you speed up) but it seemed to hold at that level when I held at a higher cadence.

Finally, wattages are significantly higher at lower cadences and higher resistances, to the point where I can average 150w at the same heart rate if I ramp up the resistance to 15+ and cadence down to ~50-60. I think there are legitimate physiological bases for this, so I'm not making any judgments on it, but it seems like a big jump.

Anyway, my questions at this point are:

  1. Is there a way to calibrate this correctly without using separate power pedals (either inside QZ or on the bike itself)? I know people have submitted watt charts derived from garmin vector or assioma favero pedals, but I don't have any, and my efforts to rent/borrow some off craigslist have so far failed.
  2. Do the wattage readings I'm getting make sense? Perhaps I'm just misunderstanding something.
  3. Feature request: Could QZ do its own calibration? Given that we know the weight and size of the flywheel, and the rate at which it spins down from an arbitrary speed to 0 under each resistance level, we should be able to calculate the torque acting on the flywheel, and thus the torque required to counteract it. Unfortunately, it's been a long time since I've studied physics, and I cannot figure out the equations. (And it's possible there would be so many other confounding variables that it would be impossible to calculate anyway.) (I believe one of the Kickr devices that uses the actual wheel of a bicycle to apply resistance uses such a spindown test for calibration, so there's at least a little evidence it can be made to work.)
cagnulein commented 1 year ago

Hi @makkonen I'm about to getting to bed so quick answers on my side

  1. yes! you can set your power pedal under the accesories settings so you can override the power read from the bike with the one form the power pedal
  2. it could be, i don't know the effort that are you doing in the workout
  3. nope it's completely impossible. there are a lot of factor

I suggest to simply buy a favero assioma, calibrate the bike (creating a new power curve for this bike so i can import this in qz) and then return them

Let me know

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

cagnulein commented 1 year ago

@makkonen any news?