Hi all,
My name is Niels, and Iām currently developing Homey Pro apps to integrate Gazelle, Urban Arrow (Future), and Kalkhoff (Future) connect bikes.
Current Features (See table for more info)
The app is in its early stages. Itās not flawless yet, but the core functionality is working:
- View current battery charge level
- View current IOT battery charge level
- View charge status
- View estimated range
- View total odometer distance
- View current assist level
- View drive unit type
- View longitude and latitude (Disabled by default, enable in device settings)
- Various flows cards with Logic support
- Insights of most data points
The To-Do List
- Stability: General bug fixing and refining the connection.
- Expansion: Adding more data points if available. (BES3 and RIDE60)
- Translations: Currently only NL and EN available, expand with more.
- Multi-account support: Kinda works but is not user friendly. Encountered a connect platform bug.
Feedback Wanted!
Iād love to hear from the community. If you own one of these bikes or have ideas for features/flow cards that would make this app a āmust-haveā for you, please let me know!
P.S. This is my first time building a Homey app and Iām doing it in my spare time next to my full-time job.
Itās been a massive learning curve, and while Iāve made great progress, there is still plenty to discover! 
*Future use, left blank intentionally.
Small party
, the first live version for Gazelle is now available:
Hi Niels, great app.
OMG, Piet Pelle, I have not heard that slogan for agesā¦. LOL
After I have read the description, my question here, did not make any sense anymore.
It would be great to have the ability to start a flow when a certain number of total KM has been reached. To congratulate, but also to plan a check up with the bicycle repair guy.
Hi Niels.
After I added my bike, I wanted to also add my spouses bike.
But as that bike is connected to her own personal account, I can not find that bike when I add a second device.
Can you find out if it is possible to add a second device using a new/different connection?
Thanks for the kind words!
I added your flow idea to the todo list.
Adding the second bike form a different account should in theory be possible 
Access to the Ponbike API is granted on individual bikes.
Can you try logging out on https://consumer-account.pon.bike/ in the browser of the device you are using and then try again? That should result in getting back to the login screen during pairing instead of continuing the old session with your account.
Nope, logging out in the same browser does not help.
Trying to use homey pro in a private browser does not show the re-login page when adding a new device.
It appears the connection interface keeps using the one from the bike already connected.
Not sure what else to try?!
Thanks for trying!
I made some changes in the authorization flow and the login screen is (forcefully) shown every time now.
But I also think I stumbled into a bug at the ponbike side but that is hard for me to verify as I only have 1 connect bike.
Can you do a quick test for me with this test version and if it fails send a Diagnostics Report?
Hi Niels.
Just installed test version 1.0.3.
Now every time I add a Gazelle Device I get a login screen.
I had to try 3 times:
1st, I did not get the bike selection screen, but the full website, where I was logged in as my spouse
2nd, I did get the bike selection screen, but I forgot to actually āadd bikeā first before I confirmed.
3rd, I was actually able to add the bike to the connection, selecting all three options.
Now both our bikes are in, with the correct data for both.
Do you have screenshots, because for āless advancedā users the adding of the bike is not completely straight forward?!
I took screenshots of the whole process, and will sent them to you in a mail.
You are the best!
For try 1 and 3, exactly the same behavior I can see when testingā¦
Iāve create a ticket for the developers to check and hopefully solve the issue.
Hi Niels.
That sounds good.
Now I wanted to change the current flow I have for turning off the Charger when the battery is full.
Currently I measure the power that goes to the charger. When that drops I turn off the plug.
Now I wanted to change that and use the actual data from the bikes to do that.
I saw a whole lot of possible āWhenā cards I can use, and some are confusing.
My instinct would say to use WHEN the battery level has changed AND ⦠unfortunately there is no AND card available. I would have liked to add AND āCharging = Yesā.
Then about the different WHEN cards, can you explain the difference?!
I see where the confusion comes from, I implemented some custom flow cards but they where also auto-generated by the capabilities creating duplicates.
Iām working on a new test version which removes the custom ones making it more clear.
You can use the Logic cards to define the AND part of a flow.
I did this on purpose so it is possible to use the values in Logic calculations and comparisons creating endless options to use the data.
Yup, I think that worked, lets find out when we do a new charge cycle.
Thank you very much for the nice app. I am the happy owner of a 2025 Kalkhoff Image bike.
I have installed the app and included the bike without any problems.
This is the result:
The GPS coordinates and type of drive (BES3) are imported and visible but not the mileage (= zero)???
Hi Jacques,
Thank you for the feedback!
That could be the case for now unfortunately, currently Iām focusing on the Gazelle brand and app because I personally own a BES2 bike so that is easy for me to troubleshoot.
I did a quick check on the API and BES3 is supported BUT with limited information and some remarks.
One of them being: BES3 has an estimated Odometer based on GPS movement, it is therefore not accurate and only to be used as indication of activity.
Iāll add some things to the to-do list, including a chart with data points for each drive-type so it is easy to see what info you can expect.
Thank you for your reply.
Quick but important note on the soon to be released Gazelle Connect version 1.0.8.
I made some security improvements, unfortunately this also ābreaksā the current paired bikes.
Please use the ārepairā function or re-add the bike again to re-authorize.