cagnulein / qdomyos-zwift

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

Unable to connect qz companion installed on NordicTrack Commercial S10i Studio Cycle #1743

Closed glotano closed 8 months ago

glotano commented 10 months ago

Describe the bug Unable to connect qz companion installed on NordicTrack Commercial S10i Studio Cycle. I tried setting qz companion on s22i, studio bike pro 22, other, configuring the app on the phone accordingly. I also tried simulating treadmill 2950 and 1750 but the service installed on the bike does not communicate with the app on the phone. As additional information, I add that I installed qz companion on the bike by installing the apk since the pc could not communicate with the bike OS via adb. It was finding port 5555 closed. I attach the "qz fitness" logs extracted from the phone and a print screen showing that the service on the bike starts regularly.

P.S.: sorry for this question, which might be obnoxious, as I know I just have to wait :-) I noticed in the log I attached, a lot of error like this one

"Warning: qrc:/Home.qml qrc:/Home.qml:331: ReferenceError: rootItem is not defined". I realized that the android installed on the bike console has a setting, under the developer section that I have never seen on other android, the entry is called "root grant" and it expects text input (I attach photo)

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information): Version of Android installed on the Bike

Smartphone (please complete the following information):

Append a debug log

debug-Mon_Oct_30_11_57_53_2023.log 20231030_113329_resized

Additional context Both during the tests I did yesterday and after resetting the bike again and reinstalling qz companion, I noticed that Ifit crashes from time to time (the application is unresponsive). Screenshot_20231030-134829_resized Screenshot_20231030-135217_resized 20231030_142609_resized

20231030_124351_HDR_resized

20231030_141050_resized

20231030_141057_HDR_resized

cagnulein commented 10 months ago

nope, the other bike version are writing wattage in the log directly, that's the main difference ;)

Il giorno mar 7 nov 2023 alle 23:30 glotano @.***> ha scritto:

@cagnulein https://github.com/cagnulein, I was thinking the following. Since, as you said, for the other versions of my bike qz app already calculates the wattage, couldn't you apply the same formula for mine? They differ only in monitor size, otherwise they are almost identical (at least for the features we are interested in), they differ in some details that we don't care about, type of pedals and whatnot. It's important to have taken the inclination (other than the cadence and resistance) into account when calculating the watts delivered, as I think it is the one bike that has it (maybe Peloton as well but not others). Please let me know.

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

glotano commented 10 months ago

@cagnulein, also the mine writes the wattage in iFit. Which setting have set on companion the owners of the s22 to write the wattage? The bike is exactly the same, only the monitor size changes. I have the feeling the owners of Nordictrack studio bikes, are using the bike as a threadmill generating the wattage of a runner.

glotano commented 10 months ago

@cagnulein I tell you this since the argument is quite simple. It's well established that the calculation of watts must be done through a formula since companion does not provide that value. That value is not written for any Nordictrack Studio Bike. It should be a calculation built into the app qz fitness, which in my opinion has not been done. It's evident from the fact that having the same values as input, KPH Grade CurrentGear Resistance if you set the app to "treadmill" the power value is returned (but for a runner) while if you set it to bike, it's not returned. Missing in the app is the proper formula to return the actual value expressed in Watts for a Bike. This problem affects all the Nordictrack Studio bikes. I think this is something you could implement to let the Nordictrack bikes to be really compliant with Zwift, providing to the app the real wattage for a cyclist and not for a runner. Please, if you will decide to implement the formula for Nordictrack bikes, don't forget that you should take in consideration also the inclination since that's probably the only bike that owns that feature and that obviously affects along with cadence, and resistance ont the power expressed in watt.

cagnulein commented 10 months ago

@cagnulein, also the mine writes the wattage in iFit. Which setting have set on companion the owners of the s22 to write the wattage?

Nothing particular, they wrote it by default! That's the issue :(

The bike is exactly the same, only the monitor size changes. I have the feeling the owners of Nordictrack studio bikes, are using the bike as a threadmill generating the wattage of a runner.

nope I can tell you for sure that's not the case. I have the log of the others bike. Maybe changing the workout type in ifit you can have the wattage on the log? You can try to experiment on this on your side

@cagnulein I tell you this since the argument is quite simple. It's well established that the calculation of watts must be done through a formula since companion does not provide that value.

yes i'm alrady doing this for other bikes and treadmills, but every bike is different so I need a table in order to add it if you can have wattage in the log.

This problem affects all the Nordictrack Studio bikes.

Nope, only yours as far as I know

think this is something you could implement to let the Nordictrack bikes to be really compliant with Zwift, providing to the app the real wattage for a cyclist and not for a runner. Please, if you will decide to implement the formula for Nordictrack bikes, don't forget that you should take in consideration also the inclination since that's probably the only bike that owns that feature and that obviously affects along with cadence, and resistance ont the power expressed in watt.

I can add it easily but I need the table from you!

glotano commented 10 months ago

@cagnulein, I will contact the S22 owners to understand what settings they use. Do you know where I can find the table?

cagnulein commented 10 months ago

@cagnulein, do you know where I can find the table?

you have to record it :)

a table with

cadence resistance level and power, something like this https://github.com/cagnulein/qdomyos-zwift/issues/1683#issuecomment-1754163437

glotano commented 10 months ago

@cagnulein , I have alredy some from my previous workouts but I will try to do a small session to provide you with data that can help you better than what I have now. I'm going to have a session with all the resistance and inclinations, trying to be as regular as possible about the cadence, in any case the data that will come out will be very detailed. I hope to have some time to do it this evening.

cagnulein commented 10 months ago

ok no rush from me, try also to collect more cadence for the same resistance, so we will have a more detailed table. Thanks

glotano commented 10 months ago

@cagnulein, I did a one-hour workout. The first 20 minutes I devoted exclusively to collecting the data I had to provide, and after that I alternated between the real workout and the data collection. I used all possible incline levels as well as resistance. I am passing you the raw file since unfortunately, opening it with excel I always have the same timestamp, while opening it through notepad (which for obvious reasons is inconvenient) shows that it is exactly the file related to the data collection that lasted an hour. The start time stamp, from notepad is 15:58:56.358 and the end time stamp is 16:59:04.358. You probably have a better way to open the file. I didn't remove any columns, so you have everything but the main ones are: ns1:Watts ns1:Resistance ns1:Cadence probably ns1:AltitudeMeters (my expectation was to found incline, instead) databike

The thing that I was so sorry about is that I couldn't find the column for inclination, the spin bike has tilt levels ranging from -10 to +20 which affect the watts output so much. I realized that instead they included the gain/loss altrimetric. I hope you can do something to include the tilt value, otherwise it would become a useless job. That is why I am also sending you the file generated by companion that should include that value. P.S.: please rename the extension file of the named 2023_11_08_16_11_Manual_Workout into tcx. I needed to add a fake extension (.log) to send it. Github doesn't allow to download the file with that extension

2023_11_08_16_11_Manual_Workout.log FitPro_08Nov2023.txt

cagnulein commented 10 months ago

Thanks, I'll check it out tomorrow

Il giorno mer 8 nov 2023 alle 21:31 glotano @.***> ha scritto:

@cagnulein https://github.com/cagnulein, I did a one-hour workout. The first 20 minutes I devoted exclusively to collecting the data I had to provide, and after that I alternated between the real workout and the data collection. I used all possible incline levels as well as resistance. I am passing you the raw file since putrously, opening it with excel I always have the same timestamp, while opening it through notepad (which for obvious reasons is inconvenient) shows that it is exactly the file related to the data collection that lasted an hour. The start time stamp, from notepad is 15:58:56.358 and the end time stamp is 16:59:04.358. You probably have a better way to open the file. I didn't remove any columns, so you have everything but the main ones are: ns1:Watts ns1:Resistance ns1:Cadence probably ns1:AltitudeMeters (my expectation was to found incline, instead) [image: databike] https://user-images.githubusercontent.com/149379537/281533984-117a1d8c-1758-4799-8130-45029349fffb.jpg

The thing that I was so sorry about is that I couldn't find the column for inclination, the spin bike has tilt levels ranging from -10 to 22 which affect the watts output so much. I realized that instead they included the gain/loss altrimetric. I hope you can do something to include the tilt value, otherwise it would become a useless job. That is why I am also sending you the file generated by companion that should include that value. P.S.: please rename the extension file of the named 2023_11_08_16_11_Manual_Workout into tcx. I needed to add a fake extension (.log) to send it. Github doesn't allow to download the file with that extension

2023_11_08_16_11_Manual_Workout.log https://github.com/cagnulein/qdomyos-zwift/files/13301055/2023_11_08_16_11_Manual_Workout.log FitPro_08Nov2023.txt https://github.com/cagnulein/qdomyos-zwift/files/13301083/FitPro_08Nov2023.txt

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

glotano commented 10 months ago

@cagnulein, thanks to you! Have a goodnight.

cagnulein commented 10 months ago

thanks @glotano the data seem fine, could you summarize them in a table as I posted previously? I think you can use chatgpt4 to create it for example or of course manually Let me know

stale[bot] commented 9 months 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 9 months ago

@glotano are you still interesting on this?

glotano commented 9 months ago

@cagnulein, the problem was not related to importing the data in a table. It can be done with Excel. I'm not a developer but the main problem in my opinion is how the log express the inclination. As said with this kind of bike there is to take into the account also the inclination (from -10 to +20). It affects the expressed wattage a lot, with the other two values (cadence,resistance). If you want to give it a try I attach the file, already imported into a table. I have excluded the irrelevant values. The main problem, in my opinion is how to create the formula taking into account the inclination. The fact that it is expressed in an altitude gain or a decrease, I think makes things more difficult for you. But, if you can do it, I would be glad. Thank you! IfitLog.xlsx

cagnulein commented 9 months ago

as far as i know, on your bike, when the inclination changes, it changes also the resistance, isn't it? if so we can just put off the game the inclination, and use the resistance and cadence only. Don't you think?

glotano commented 9 months ago

@cagnulein , If you only take into account cadence and resistance, you will not have the real power expressed in watts. My bike works the following way: by changing the inclination you have a change in the resistance felt on your legs (the physical effort) but not a change in the resistance value (since it's an input you decide, not an output like the wattage) and everything is reported, accordingly, in watts, because iFit takes into account cadence, resistance, inclination.

I give an example, if I set resistance at 5 and cycle with a cadence of 30, I will generate a power of x watts. By increasing the incline or decreasing it, while maintaining the same cadence and resistance, the power in watts expressed, will increase of x+y or decrease x-y . If you don't take into account the inclination, in the formula, the calculation of watts will not be the real one at all. What will happen is, I cycle with a cadence of 30 and with a resistance of 5 generating, say 100 watts, increasing the inclination to 10, I will generate 200 watts (as iFit does) but if you don't take into account the inclination, qzApp will always give me 100. No, that would not work at all.

cagnulein commented 9 months ago

ok that's strange. It means that it worked in a different way from all the other nordictrack bikes. But ok. So we have to find a way to read the power somehow. Can you experiment with adb if you can have that value? It also strange that this bike doesn't write this in the log since all the other one does. Maybe it's system language that gives a different behavior (italian instead of english? i'm just guessing)

glotano commented 9 months ago

@cagnulein, during my workout I took two pics to sommerize what I explained above. Please look at the wattage, same cadence, same resistance, with two different inclination level

20231127_180517_resized 20231127_180444_resized Unfortunately the value of the inclination is nowhere. The iFit software provides, in its logs, the altitude gain instead of the inclination level.

cagnulein commented 9 months ago

actually i can simple obtain the inclination from the delta of 2 altitude value, not a big job at all.

what do you think?

Il giorno lun 27 nov 2023 alle 18:52 glotano @.***> ha scritto:

@cagnulein https://github.com/cagnulein, during my workout I took two pics to sommerize what I explained above. Please look at the wattage, same cadence, same resistance, with two different inclination level

20231127_180517_resized.jpg (view on web) https://github.com/cagnulein/qdomyos-zwift/assets/149379537/5d5a56e7-a8a4-4126-957a-3238bd452592 20231127_180444_resized.jpg (view on web) https://github.com/cagnulein/qdomyos-zwift/assets/149379537/85f6d4af-9814-4a33-9e9a-93878295e008 Unfortunately the value of the inclination is nowhere. The iFit software provide the altitude gain instead of the inclination level.

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

glotano commented 9 months ago

@cagnulein. It would be a useless effort. We will keep each other updated in case one or the other has any ideas to get an accurate calculation of power output. Thanks Regards Giovanni

cagnulein commented 9 months ago

Sure, no problem.

Il giorno mer 29 nov 2023 alle 18:48 glotano @.***> ha scritto:

@cagnulein https://github.com/cagnulein. It would be a useless effort. We will keep each other updated in case one or the other has any ideas to get an accurate calculation of power output. Thanks Regards Giovanni

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

cagnulein commented 9 months ago

what we can do is bypassing the ifit completely and use the usb cable directly on qz. i already started it but i need a help debugging. if you want we can try you have some spare time

stale[bot] commented 9 months 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.