Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REQ] BH i-Nexor Bike support? #2441

Open
LunarstarPony opened this issue Jul 10, 2024 · 241 comments
Open

[REQ] BH i-Nexor Bike support? #2441

LunarstarPony opened this issue Jul 10, 2024 · 241 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@LunarstarPony
Copy link

LunarstarPony commented Jul 10, 2024

Saw that the BH AirMag is supported so I wonder if the BH I-Nexor is supported as well?

If it's not would it be possible to support it? I would able to provide logs.

For now the bike doesn't even shows up in the Manual Devices section in the app, so couldn't really force it to connect. Interesting enough tho the phone seems to recognize the Bike as a Bluetooth Headset?
Screenshot_20240711-001825

@LunarstarPony LunarstarPony added the enhancement New feature or request label Jul 10, 2024
@cagnulein
Copy link
Owner

hi @LunarstarPony so the device is a bluetooth 2.0 right?

@cagnulein
Copy link
Owner

are you sure the device reported here is the tresdmill? it founds like an headset

@LunarstarPony
Copy link
Author

It's the BH Fitness i-Nexor using the M2 Control, accordign to this photo I found it's Bluetooth 3.0?

@LunarstarPony
Copy link
Author

image

@LunarstarPony
Copy link
Author

It's a exercise Bike, and yes I can confirm that is indeed bike

@cagnulein
Copy link
Owner

cagnulein commented Jul 10, 2024 via email

@LunarstarPony
Copy link
Author

I'll give it a try later and currently the only app that I found supports it is Kinomap

@cagnulein
Copy link
Owner

cagnulein commented Jul 10, 2024 via email

@LunarstarPony
Copy link
Author

Before I can capture the thing in a bit here's some additional info about the Original i-Nexor, there's a New i-Nexor Dual tho I'm not sure if their the same?

https://www.youtube.com/watch?v=27xcaxGZ4WE

@cagnulein
Copy link
Owner

cagnulein commented Jul 10, 2024 via email

@LunarstarPony
Copy link
Author

btsnoop_hci.log
Here's one I do a long time ago when trying to fgure it out I'll get a new one later

@cagnulein
Copy link
Owner

cagnulein commented Jul 10, 2024 via email

@LunarstarPony
Copy link
Author

Can take a look t thi one mean while waiting, pretty sure I pair it and change theresistant a few time

@LunarstarPony
Copy link
Author

Alright!

cagnulein added a commit that referenced this issue Jul 11, 2024
@cagnulein
Copy link
Owner

ok, I did a first implementation @LunarstarPony

https://github.com/cagnulein/qdomyos-zwift/actions/runs/9887310090

enable both "BH SPADA Compatibility" and "BH SPADA Wattage" setting and restart QZ.

Google is very slow in these days, reviewing the app on the store, even the beta ones. For this reason, in order to check right now if the patch that I did is right, you can use the android build in the link (check at the bottom of the page in about 1 hour). In order to test it you need first to remove the current QZ version on your phone, install the one that you downloaded.
This version is a 15 minutes trial (you can restart it as many times as you want) and I can unlock it if you want, send me an email to [email protected] mentioning this ticket and that you are on android.

Let me know if you have any questions

cagnulein added a commit that referenced this issue Jul 11, 2024
@LunarstarPony
Copy link
Author

Alright! I'll give it a test in an hour!

@LunarstarPony
Copy link
Author

So the app seems to able to find it now but it doeswn't do anything

@cagnulein
Copy link
Owner

@LunarstarPony
Copy link
Author

The Tiles show up but they all do nothing, usually when the Zinomap is connected the Display will Show BT but the Bike doesn't seems to aware anything is connected

@LunarstarPony
Copy link
Author

debug-Thu_Jul_11_18_27_59_2024.log

This should be it?

@LunarstarPony
Copy link
Author

LunarstarPony commented Jul 11, 2024

While I'm here quick question, would it be possible to export the live exercise data out to things like Home Assistant or something?

Want to make something that would allow me to show and control the bike directly from VRChat using OSC since that's where I usually do my workout but Kinomap doesn't seems to have any API Available for it to export live data.

@cagnulein
Copy link
Owner

cagnulein commented Jul 11, 2024 via email

@LunarstarPony
Copy link
Author

No worries Not in a hurry! Also Good to know that's possible x3

@cagnulein
Copy link
Owner

hi @LunarstarPony i was checking your log, the services discovery process was on progress. please leave qz open for at least 2 minutes and send me a fresh log. This process is required only the first time.
Let me know

@LunarstarPony
Copy link
Author

debug-Thu_Jul_11_19_07_09_2024.log

This should be the correct log? The BT Does shows up a lilttle bit this time, but seems to disconnect soon after

@LunarstarPony
Copy link
Author

And it also doesn't show any value either on the tiles

@cagnulein
Copy link
Owner

log checked

in the working log i saw these that i don't see in the not working log

Tue Sep 17 19:49:14 2024 1726573754053 Debug:   Server descriptor change notification "0100"
Tue Sep 17 19:49:14 2024 1726573754061 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002acd-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754082 Debug:   Server descriptor change notification "0200"
Tue Sep 17 19:49:14 2024 1726573754088 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002ad9-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754102 Debug:   Server descriptor change notification "0100"
Tue Sep 17 19:49:14 2024 1726573754108 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002ada-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754125 Debug: ./treadmillErgTable.h void treadmillErgTable::collectTreadmillData(float, uint16_t, float, bool) discarded S 0 W 0 I 0
Tue Sep 17 19:49:14 2024 1726573754131 Debug: devices/bluetoothdevice.cpp void bluetoothdevice::update_hr_from_external() WearOS Companion Heart: 0
Tue Sep 17 19:49:14 2024 1726573754212 Debug:   Server descriptor change notification "0100"
Tue Sep 17 19:49:14 2024 1726573754221 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002ad2-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754313 Debug:   Server descriptor change notification "0100"
Tue Sep 17 19:49:14 2024 1726573754324 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002acd-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754344 Debug:   Write server characteristic with handle  4 "0c0100000000000000000000" (service: "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754352 Debug:   Write server characteristic with handle  16 "640200000000000000000000" (service: "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754357 Debug:   Write server characteristic with handle  22 "0200000000000000" (service: "{0000180d-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754361 Debug: ./treadmillErgTable.h void treadmillErgTable::collectTreadmillData(float, uint16_t, float, bool) discarded S 0 W 0 I 0
Tue Sep 17 19:49:14 2024 1726573754363 Debug: devices/bluetoothdevice.cpp void bluetoothdevice::update_hr_from_external() WearOS Companion Heart: 0
Tue Sep 17 19:49:14 2024 1726573754406 Debug:   Server descriptor change notification "0200"
Tue Sep 17 19:49:14 2024 1726573754413 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002ad9-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754513 Debug:   Server descriptor change notification "0100"
Tue Sep 17 19:49:14 2024 1726573754521 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002ada-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754533 Debug: ./treadmillErgTable.h void treadmillErgTable::collectTreadmillData(float, uint16_t, float, bool) discarded S 0 W 0 I 0
Tue Sep 17 19:49:14 2024 1726573754541 Debug: devices/bluetoothdevice.cpp void bluetoothdevice::update_hr_from_external() WearOS Companion Heart: 0
Tue Sep 17 19:49:14 2024 1726573754608 Debug:   Server descriptor change notification "0100"
Tue Sep 17 19:49:14 2024 1726573754614 Debug:   serverDescriptorChanged: Matching descriptor "{00002902-0000-1000-8000-00805f9b34fb}" in char "{00002ad2-0000-1000-8000-00805f9b34fb}" of service "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754728 Debug: ./treadmillErgTable.h void treadmillErgTable::collectTreadmillData(float, uint16_t, float, bool) discarded S 0 W 0 I 0
Tue Sep 17 19:49:14 2024 1726573754738 Debug: devices/bluetoothdevice.cpp void bluetoothdevice::update_hr_from_external() WearOS Companion Heart: 0
Tue Sep 17 19:49:14 2024 1726573754813 Debug:   Server characteristic change notification "00"
Tue Sep 17 19:49:14 2024 1726573754821 Debug:   serverCharacteristicChanged: Matching characteristic "{00002ad9-0000-1000-8000-00805f9b34fb}"  on  "{00001826-0000-1000-8000-00805f9b34fb}"
Tue Sep 17 19:49:14 2024 1726573754836 Debug: virtualdevices/virtualtreadmill.cpp void virtualtreadmill::characteristicChanged(const QLowEnergyCharacteristic &, const QByteArray &) "characteristicChanged 10969 "
Tue Sep 17 19:49:14 2024 1726573754844 Debug: virtualdevices/virtualtreadmill.cpp void virtualtreadmill::characteristicChanged(const QLowEnergyCharacteristic &, const QByteArray &) "virtualtreadmill::writeCharacteristic Unknown Service  80 00 01"

so it seems that kinomap it even try to connect to it.

Screenshot_20240918-081623

Here c:

from this screen, are you able also to click connect when you are connected to the treadmill on qz?

@LunarstarPony
Copy link
Author

Could not see that image xD

Also Kinomap usually just automatically connect to the paired devices, there's not really a connect button on the UI(

@cagnulein
Copy link
Owner

it was the image that you sent me of nrfconnect :)

@LunarstarPony
Copy link
Author

I'll give it a go in a bit! Tho did you have any idea about a better app that can work with QZ? I mainly just need additional sensor(The HR on bike sucks) and also save data(graph and stuff), do not need all those automatic stuff

@LunarstarPony
Copy link
Author

Because I just found out the addition sensor can only be used in Kinomap if you have the premium (

@LunarstarPony
Copy link
Author

Also the quick note that my additional HR sensor is the Scosche Rhythm+ which support both BT Smart and ANT+

@cagnulein
Copy link
Owner

cagnulein commented Sep 21, 2024 via email

@LunarstarPony
Copy link
Author

Oh? QZ Supports external HR Sensor and Data Saving?

@cagnulein
Copy link
Owner

cagnulein commented Sep 22, 2024 via email

@LunarstarPony
Copy link
Author

How would I setup auto sync? was looking into it rn

@LunarstarPony
Copy link
Author

Oh! I think I foudn it!

@LunarstarPony
Copy link
Author

Also might need some help activating this version of QZ as well!

@cagnulein
Copy link
Owner

cagnulein commented Sep 22, 2024 via email

@LunarstarPony
Copy link
Author

Ya was still using the last version with the working OSC so I can yeet data to VRC xD Will Probably stay on this version unless there's a new version with working OSC

@LunarstarPony
Copy link
Author

As for Email [email protected]

@LunarstarPony
Copy link
Author

My main is [email protected] but I'd expect you need the one from google?

@cagnulein
Copy link
Owner

cagnulein commented Sep 22, 2024 via email

@LunarstarPony
Copy link
Author

LunarstarPony commented Sep 22, 2024

Unless it uses the Google Services, would it be possible to use the Yahoo one since the Google one is only used for anything that requires Google Login? (It's easier for me to keep track of what uses what)

@cagnulein
Copy link
Owner

done

@LunarstarPony
Copy link
Author

LunarstarPony commented Sep 22, 2024

Thanks! So for the Strava do I just press the connect to strava button and it will automatically upload? or is there other things that I need to turn on

@cagnulein
Copy link
Owner

cagnulein commented Sep 22, 2024 via email

@LunarstarPony
Copy link
Author

Gotcha! The next Biking session should be in 2 days I'll give it a go! < 3

@cagnulein
Copy link
Owner

cagnulein commented Sep 22, 2024 via email

@cagnulein cagnulein modified the milestones: 2.16, 2.18 Sep 27, 2024
@LunarstarPony
Copy link
Author

Strava seems to works quite well!

@cagnulein
Copy link
Owner

cagnulein commented Sep 29, 2024 via email

@LunarstarPony
Copy link
Author

Almost got the Unity Part for VRChat finished as well c:

@cagnulein
Copy link
Owner

unity part?

@LunarstarPony
Copy link
Author

Ya the part that would actually show the data receive in VRChat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants