quantsini / pymoof

Connect to your Vanmoof SX3 using python
MIT License
37 stars 8 forks source link

Auth broken with Firmware 1.8.1 #7

Open thomasbaetge opened 2 years ago

thomasbaetge commented 2 years ago

With the new FW it seems that authentication to the bike doesn't work anymore. auth free functions like frame number still work.

Could you please look into this??

mjarkk commented 2 years ago

I recently made a website where someone can change their bike's speed limit, my code is somewhat based on this library and I'm also wondering if recent versions still work.
Can you test if vanmoof-web-controller.vercel.app works?

thomasbaetge commented 2 years ago

I can confirm that the API is still working. However, with the latest FW 1.8.1 the bike will go into some BT standby after around a day, so connection is no longer possible without waking the bike up physically once. It will still be found and transmit the frame number, just authentication requests won't work. After waking it up, all is good again.

mjarkk commented 2 years ago

Does the vanmoof or the moofer app still works in this state? If so it might be worth inspecting what the app sends to make bluetooth communication work again

thomasbaetge commented 2 years ago

Yep, the VM App still reports the battery state, when the API won't anymore. There may be a 'magic word'.

thomasbaetge commented 2 years ago

I stand corrected, the app doesn't work either. It seems connected but is reporting it's last seen battery level. So currently my App shows 95% whereas the Raspberry (that was last connected and queries the battery state every 3 hours) reports 94%. Can't be a rounding issue, the bike reports an integer value.

mjarkk commented 1 year ago

I have been working on a tool to aerially debug the commands send between your device and vanmoof bike as long as you can make a bluetooth sniff file.

It might help in finding what moofer / the vanmoof app does what this tool doesn't.

mjarkk/decode-vanmoof-blt-packages