mjarkk / vanmoof-web-controller

Change the speed limit of a VanMoof S3 or X3 via a website
https://mooovy.app
GNU Lesser General Public License v2.1
82 stars 14 forks source link

Support for firmware update 1.9.1 #46

Closed stefanstranger closed 6 months ago

stefanstranger commented 1 year ago

For my S3 I see a firmware update with version 1.9.1

Will Mooovy.app still work after this firmware update?

Regards, Stefan

sanderDijkxhoorn commented 1 year ago

I would assume it would, you won’t be able to access the 37 KMPH option tho.

(We have not tested if it does since we are sticking on the lowest version possible with our bikes)

pponce commented 1 year ago

@stefanstranger How did you get firmware 1.9.1 for S3? Do you have any information on what was updated or changed?

My S3 says it has the latest firmware and is version 1.8.2. Very curious about this new firmware.

pponce commented 1 year ago

Also @sanderDijkxhoorn Is there a way to capture this new firmware for others to install?

sanderDijkxhoorn commented 1 year ago

Also @sanderDijkxhoorn Is there a way to capture this new firmware for others to install?

There is a way to capture it not sure about installing, you might be able to intercept the download and replace the download with your custom download you want.

I made a branch to intercept it not sure if I got up online I might be able to share it later but might not be doable this week.

pponce commented 1 year ago

No rush. Glad you captured it! Would be great if it were possible to upgrade to it our selves. Any idea what was updated? Fixed?

sanderDijkxhoorn commented 1 year ago

No rush. Glad you captured it! Would be great if it were possible to upgrade to it our selves. Any idea what was updated? Fixed?

I have no idea, I am still on a old firmware version, the updates should have changelogs.

stefanstranger commented 1 year ago

If you want to know what the latest available firmware is you can just call this REST API

curl  -X GET   'https://my.vanmoof.com/api/v8/getDesiredUpdateVersionInfo/<bikeId>'   --header 'Accept: */*'   --header 'Api-Key: fcb38d47-f14b-30cf-843b-26283f6a5819'   --header 'Authorization: Bearer <access token>' | jq -r

image

With the REST API call you will get your bike id:

curl  -X GET   'https://my.vanmoof.com/api/v8/getCustomerData?includeBikeDetails='   --header 'Accept: */*'   --header 'Api-Key: fcb38d47-f14b-30cf-843b-26283f6a5819'   --header 'Authorization: Bearer <access token>' | jq -r

With the following command you can get your access token

username="john.doe@outlook.com"
password="<enter your password>"
accesstoken=$(printf '%s:%s' "$username" "$password" | base64)
curl  -X POST \
  'https://my.vanmoof.com/api/v8/authenticate' \
  --header 'Accept: */*' \
  --header "Authorization: Basic $accesstoken" \
  --header 'Api-Key: fcb38d47-f14b-30cf-843b-26283f6a5819' |  jq -r .token

Here the bash script to retrieve your bike info

username="john.doe@outlook.com"
password="<enter your password>"
accesstoken=$(printf '%s:%s' "$username" "$password" | base64)
bearertoken=$(curl  -X POST 'https://my.vanmoof.com/api/v8/authenticate' --header 'Accept: */*' --header "Authorization: Basic $accesstoken" --header 'Api-Key: fcb38d47-f14b-30cf-843b-26283f6a5819' | jq -r .token)
curl -X GET 'https://my.vanmoof.com/api/v8/getCustomerData?includeBikeDetails=' --header 'Accept: */*' --header 'Api-Key: fcb38d47-f14b-30cf-843b-26283f6a5819' --header "Authorization: Bearer $bearertoken" | jq -r
pponce commented 1 year ago

I’m very new to this project but will spend some time to figure out how to do this. Is there anyway to trigger a firmware update for my s3? The app says I’m on the latest version but obviously not. Would like to apply the improvements for the battery function to avoid drain.

attilatdeak commented 1 year ago

Its workng with 1.9.3 too. For bt commands there is no change.

nicosandller commented 7 months ago

Updated to 1.9.3 and was able to confirm the bike is still running the same configuration I had with 32 km/h max and boost button!

mjarkk commented 6 months ago

Good to hear everything still works on firmware 1.9.3