cagnulein / qdomyos-zwift

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

[REQ] KETTLER TM support #1465

Closed gguman closed 1 year ago

gguman commented 1 year ago

Hello @cagnulein, thank you for your work!!!

As far as I know, the incline of Kettler treadmills cannot be changed from Zwift. Could you help add support for this vendor to your ideal app please

there are some speed up, speed down, incline up and down

Sincerely, All owners of TM Ketller

cagnulein commented 1 year ago

hi in the log provided did you change the inclination from the manufacturer app?

Il giorno lun 15 mag 2023 alle 17:10 gguman @.***> ha scritto:

Assigned #1465 https://github.com/cagnulein/qdomyos-zwift/issues/1465 to @cagnulein https://github.com/cagnulein.

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

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

gguman commented 1 year ago

hi in the log provided did you change the inclination from the manufacturer app?

Yes, incline was changed from Kinomap and TM angle changed. At the start I've changed the speed up and down, after that I've changed incline up and down

cagnulein commented 1 year ago

perfect i will check this tomorrow !

Il giorno lun 15 mag 2023 alle 17:21 gguman @.***> ha scritto:

inclination Yes, incline was changed from Kinomap and TM angle changed. At the start I've changed the speed up and down, after that I've changed incline up and down

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

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

gguman commented 1 year ago

perfect i will check this tomorrow !

Thank you. Will be waiting

cagnulein commented 1 year ago

hi @gguman I checked the log and it seems that the android phone that you used to collect the logs is cutting the frames. Do you have another android device?

gguman commented 1 year ago

Do you have another android device?

Don't have. Is there any app to save logs or what else can i do?

gguman commented 1 year ago

@cagnulein , could you check this log please? I've created it with adb. Inside should be commands to change incline up and down

cagnulein commented 1 year ago

perfect! this worked! I will add this in the next days!

gguman commented 1 year ago

Good news. Waiting!) Maybe someone will find it useful - How to get the Bluetooth Host Controller Interface logs from a modern Android phone

cagnulein commented 1 year ago

@gguman just a last information: could you please attach a screenshot from the nrfconnect app showing the services and the characteristics of this treadmill ? Thanks! I already started the implementation, I'm just missing these informations

cagnulein commented 1 year ago

@cagnulein , could you check this log please? I've created it with adb. Inside should be commands to change incline up and down:

btsnoop_hci.log

also could you the same for the speed changes?

gguman commented 1 year ago

nrfconnect app showing the services and the characteristics of this treadmill

Could you provide an example of the screen plz? Haven't used this app before

cagnulein commented 1 year ago

sure @gguman https://github.com/cagnulein/qdomyos-zwift/issues/690#issuecomment-1550247292

gguman commented 1 year ago

Screenshot_20230517-101808 Screenshot_20230517-101733 Screenshot_20230517-101718 Screenshot_20230517-101707 Screenshot_20230517-101654 Screenshot_20230517-101642 Screenshot_20230517-101631 Screenshot_20230517-101615 Screenshot_20230517-101603 Screenshot_20230517-101549 Screenshot_20230517-101531 Screenshot_20230517-101503 Screenshot_20230517-101447 Screenshot_20230517-101433 Screenshot_20230517-101413

gguman commented 1 year ago

@cagnulein, are these enough?

cagnulein commented 1 year ago

yes @gguman i guess so, let me continue the implementation. did you also check my question here https://github.com/cagnulein/qdomyos-zwift/issues/1465#issuecomment-1549256158 ?

cagnulein commented 1 year ago

@gguman nevermind i already found the information that I need. I'm adding it!

cagnulein commented 1 year ago

done! 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. Thanks

gguman commented 1 year ago

did you also check my question here #1465 (comment)

Do you still need this info? Can't reproduce speed control at the moment...

cagnulein commented 1 year ago

no, I don't need it because I guess it has classic FTMS control mode, this is what I implemented now. Remember to send me the email to have access to the private beta if you aren't on it already

gguman commented 1 year ago

@cagnulein, thank for your work. 2.13.46:

  1. start/stop TM - didn't work
  2. speed up/down - ok
  3. inclination - both buttons (- and +) decrease inclanation by different amount
cagnulein commented 1 year ago

great! what do you mean about a different amount? could you please create a debug log https://github.com/cagnulein/qdomyos-zwift/wiki/How-do-i-get-the-debug-log-in-case-something-doesn't-work%3F ?

gguman commented 1 year ago

I meant that both buttons - plus and minus in the app of the area "inclination" - decrease inclination. Expected behavior - plus=increase, minus=decrease Debug log can create a bit later

cagnulein commented 1 year ago

ok it should be easy to fix with a debug log thanks

Il giorno mer 17 mag 2023 alle 13:39 gguman @.***> ha scritto:

I meant that both buttons - plus and minus in the app of the area "inclination" - decrease inclination. Expected behavior - plus=increase, minus=decrease Debug log can create a bit later

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

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

gguman commented 1 year ago

If I correctly understand the instruction then debug below: debug-Wed_May_17_16_50_57_2023.log

cagnulein commented 1 year ago

hi @gguman you did right but you didn't replicate the issue here (i don't see any pressure in the inclination tile). could you please generate it again?

gguman commented 1 year ago

@cagnulein, could you check this one. First I tried to start TM from QZ without success then I started TM from button on it, second I tried to increase incline from QZ without success then I set incline 6% from TM after that I press buttons + and - from QZ and both of them decreased incline: debug-Wed_May_17_18_19_22_2023.log

https://github.com/cagnulein/qdomyos-zwift/assets/17738160/3d0aa3c2-b1e2-484c-b67a-7f3860b5ff7f

cagnulein commented 1 year ago

ok i guess i got the issue: does your treadmill has only the integer inclination or also support 0.5 increments via bluetooth?

Il giorno mer 17 mag 2023 alle 17:34 gguman @.***> ha scritto:

@cagnulein https://github.com/cagnulein, could you check this one: debug-Wed_May_17_18_19_22_2023.log https://github.com/cagnulein/qdomyos-zwift/files/11500101/debug-Wed_May_17_18_19_22_2023.log

https://github.com/cagnulein/qdomyos-zwift/assets/17738160/69d64e52-af2d-40e9-b852-8544ce65fc8f

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

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

gguman commented 1 year ago

Inclination changing by 0.5% for each press button on TM. incrementing via bluetooth can't check at now

cagnulein commented 1 year ago

ok i guess I got the issue, your treadmill doesn't follow the FTMS standard :D the developer of the firmware probably was drunk when it writes it :D anyway I will fix this tomorrow

gguman commented 1 year ago

I will fix this tomorrow

Glad to hear it!) Once more thing - I don't know is it in tie with the problem that you fixing or this is a OCR problem - I've tried to run with this instruction on Android (it is perfect scheme) but TM incline don't match with incline in Zwift. As example - when Zwift change incline from 0% to 1% then TM (via QZ) change incline from 0% to 1%, but when Zwift incline from 1% to 2% then TM incline changing from 1% to 0%. When incline in Zwift is negative value then TM triyng to incline to this absolute value. And there are a lot of mistakes of inclines while my attempt. It will be easy to say that TM incline almost always don't match with Zwift but... connection is working and incline changing!!!

I'm really hope that you can solve these problems. Ping me if you need my assist

cagnulein commented 1 year ago

it's exactly what i'm seeing in the log @gguman it seems that your treadmill sends some random values for the inclination.

what i would like to check tomorrow is reading your hci snoof and check if there are 30 steps. if so i can match the inclination values otherwise i need another hci snoof with the all 30 steps (maybe you can keep a pause from one step to another)

does it make sense to you?

gguman commented 1 year ago

does it make sense to you?

Sorry, don't understand but can assist if it will be needed and will be supported by instructions)

cagnulein commented 1 year ago

ok let me summarize tomorrow the logs and i will explain it better

have a nice evening!

Il giorno mer 17 mag 2023 alle 21:21 gguman @.***> ha scritto:

does it make sense to you?

Sorry, don't understand but can assist if it will be needed and supported by instructions)

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

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

cagnulein commented 1 year ago

ok @gguman could you please create a debug log from qz where you change the inclination step by step (0.5) from the treadmill directly? I would like to see if QZ reports the inclination correctly on the inclination tile. If so, as I assume, I can do the modification, otherwise I need the debug log to understand how the treadmill sends the inclination. Let me know

gguman commented 1 year ago

@cagnulein, I've changed incline from 0% to 12% (max for my model of TM) by step 0.5% for each 5 sec. After that I've return incline from 12% to 0% by the same strategy. Value of the incline in the QZ was equal the one in the TM thru the test. Log file attached: debug-Thu_May_18_12_20_56_2023.log

cagnulein commented 1 year ago

perfect @gguman I'm doing the mod about your treadmill control crazyness :D I should be ready to test it later today

cagnulein commented 1 year ago

2.13.47 released with the possible fix, let me know when you will try it!

gguman commented 1 year ago

Updated. When incline between 3.0% and 8.0% - QZ edit incline correctly. When incline less than or equal 3% - step of decreasing 1.0% and increasing incline don't work. When incline greater or equal 8% - neither decreasing nor increasing not work. About Zwift autoincline - the problems still there debug-Thu_May_18_18_00_52_2023.log

cagnulein commented 1 year ago

confirmed, the software guy that wrote the firmware of this treadmill was completely drunk. At this point I need a new hcisniff file where you're changing all the way the inclination, as you did here https://github.com/cagnulein/qdomyos-zwift/issues/1465#issuecomment-1552792461 but using kinomap (or the same app that you used here https://github.com/cagnulein/qdomyos-zwift/issues/1465#issuecomment-1548533412 ): i'm assuming that kinomap works well, isn't it?

gguman commented 1 year ago

Interesting... changing incline from Kinomap and Kinni are incorrect. Let me investigate this with TM vendor

cagnulein commented 1 year ago

@gguman ok everything is clear so. it means that your treadmill has a custom calibration. maybe you can find it in the manual

gguman commented 1 year ago

There are nothing about calibration in the manual

cagnulein commented 1 year ago

ok so try to contact the manufacturer. we can also test all the values but it would be a big job :)

Il giorno gio 18 mag 2023 alle 21:07 gguman @.***> ha scritto:

There are nothing about calibration in the manual

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

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

gguman commented 1 year ago

@cagnulein , bad news. The manufacturer replied - "an interactive connection between the app and the treadmill (so that the gradient changes depending on the landscape) is not possible and not intended" I made a video with the process of inclining from the Kinomap application. Can the process in your application be improved? kettler track s4 with kinomap app

cagnulein commented 1 year ago

yes simply provide me a hcisnoof using the kinomap app and change the inclination from the kinomap directly from 0 to max and to 0 again leaving 5 sec between each steps

Let me know!

Il giorno sab 20 mag 2023 alle 09:04 gguman @.***> ha scritto:

@cagnulein https://github.com/cagnulein , bad news. The manufacturer replied - "an interactive connection between the app and the treadmill (so that the gradient changes depending on the landscape) is not possible and not intended" I made a video with the process of inclining from the Kinomap application. Can the process in your application be improved? kettler track s4 with kinomap app https://youtu.be/bdf1pfiuQwo

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

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

gguman commented 1 year ago

Done. One more thing - model of my TM is Track S4 and it has max incline 12%, but Kinomap use 15% as max value. Mb this info can help. The process of inclining I share on youtube - https://youtu.be/bdf1pfiuQwo

cagnulein commented 1 year ago

perfect! i will check this later today! thanks!

Il giorno sab 20 mag 2023 alle 09:55 gguman @.***> ha scritto:

Done. One more thing - model of my TM is Track S4 and it has max incline 12%, but Kinomap use 15% as max value. Mb this info can help btsnoop_hci.log https://github.com/cagnulein/qdomyos-zwift/files/11521842/btsnoop_hci.log

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

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

gguman commented 1 year ago

Thank you. Pls ping me if you need my assist

gguman commented 1 year ago

my TM is Track S4 and it has max incline 12%

and each step of incline is 0.5%