[APP][PRO] Bosch eBike - Monitor your Bosch Smart System eBike in Homey

Am I correct in thinking that this app is only of use if you also have the Connect module on your bike? Otherwise most of the data will only be updated when your smartphone is near the bike. For example charging data will not update “live”.

I have update the first post with all the information now to be more clear.

In a nutshell this uses Bosch APIs (Cloud), not local access to the bike as that is not possible/does not exit. While such information (battery, range Kms) is only provided from your bike to Bosch Cloud (Flow app) while having the Connect Module and/plus the Flow+ subscription this information will only be available if the 2 are existing, so yes it is a requirement.

Yes you need to do this process during maxium 60 seconds, retrieve the code and add the device/bike

Now the connect module is required the app has for me less value. My bike Kalkhoff Image (2026)is standard equiped with a gps tracker. So to install the connect module has no added value for me. ( except for your app of course).

You know some bikes do come with the connect module pre-installed already. I have 2 bikes (MTB and City) from 2022 and 2023 respectively had it and it was not advertised. The brands do sell those GPS services, yours and for example Riese und Müller are doing it but there are reports that it’s not reliable and does not work in all countries than the option from Bosch itself. Double check and if not I’m sorry to see you go.

Hello,
I just can’t seem to make any progress.
I keep getting stuck at the red line in Chrome.

No line appears:

What am I doing wrong?

I managed to do it.
You have to copy the entire URL (in red) as the answer!! :wink:

image


:+1:t2:

@Goncalo_Barradas,

Hi,
Maybe you could also update the driving modes? :+1:t2: :wink:

https://www.bosch-ebike.com/de/produkte/fahrmodi

There is now also a cloud-free option.
You can read the API directly from the bike using an ESP bridge:

Update:

Hello,
I don’t think it’s necessary to display all the driving modes.
That would just be too much and make things too cluttered.

Leave it as it is—that’s my opinion.

Thanks, the app is working for me.

@Goncalo_Barradas

Hello,
Unfortunately, the mileage doesn’t match the driving modes.
Perhaps due to update 1.36?
Is there any way I can help?
Best regards

Flow+ - App:

homey-App:

Update:

Hi Goncalo,
The statistics from the Bosch cloud are actually not that straightforward.
There is also an adapter in ioBroker that accesses the Bosch cloud and retrieves the data.
Each riding mode has its own identifier here.
For every trip, there is a “Trip” folder where a subfolder is created for each mode.


The most recent trip is always labeled “01”.
I have completed 9 trips so far.

Perhaps that helps.

Right now, the values ​​in your Homey app are completely jumbled.
Here is the comparison from today:


Grüße :wink:

Hi Goncalo,

I’m working on BikeBridge, an open-source Android project focused on Bosch Smart System interoperability.

We’ve independently reverse engineered most of the BLE Live Data Interface (LDI) using HCI captures, Bosch’s official LDI specification and the Home Assistant implementation.

I noticed you’ve done extensive work on the Bosch cloud API for Homey.

I think our projects are highly complementary:

  • you focus on the cloud side,
  • we’re focusing on the local BLE side.

I’d love to exchange findings if you’re interested.

One question in particular:

During your reverse engineering, did you ever investigate the local BLE communication or the LDI subscription sequence?

Even if not, perhaps we can help each other.

There is a similar project here.
I registered the bridge in Homey using the ESPHome controller app:

I had previously installed this Bluetooth bridge (ESP32).
Unfortunately, Bosch only allows you to add a single device.
I am now using just the Sonoff charging limiter and the Bosch Flow+ app with the ConnectModule; Flow+ is free for the first year.

Hello,

Sorry I haven’t been around on this app/project recently.
Let me take a look and come back to you.

Cheers

Hello,

I only ever looked to the cloud API side of things.
The intention was really to not depend on anything local but we can discuss it further if you would like. Send me a PM

Cheers,
Gonçalo

Hello,
The ESP32 solution using the firmware from “xunil99” can now also be easily imported into Homey using the “ESPHome Controller | Homey” app.
Goncalo’s app also works very well for me.
I no longer use the ioBroker adapter.
In addition, I use the Sonoff for charge monitoring.

Best regards

Any chance to get info / alerts when bike alarm occurs?

Good question! Unfortunately not at the moment. The eBike Alarm notifications are pushed by Bosch directly to the official Flow app — there’s no cloud API where the alarm event can be read by third parties (this is a known limitation across all unofficial integrations, including the Home Assistant ones). The API does expose whether the alarm feature is enabled, but not live alarm events, and the app polls every 5 minutes, so it couldn’t serve as a real-time theft alert anyway. I’m keeping an eye on it — if Bosch ever exposes alarm events, a flow trigger card for it would be a great addition. In the meantime the Flow app’s own push notification remains the fastest alert.

Perhaps the Bluetooth on the Purion, Kiox, or ConnectModule could be utilized somehow?
At least as long as the e-bike is parked near the house.
Or maybe the GPS from the ConnectModule?
I’m currently using a Bluetooth beacon as an extra security measure.

Quick update in reply :waving_hand:

I’ve been investigating what could be done out of the Bosch cloud API, and there’s some promising stuff: I’m currently working on showing the bike’s last known location (with a map widget for the dashboard), movement/theft alert flow cards based on it, and last ride details as a widget and flow trigger.

Early days — it all depends on unofficial APIs, so no promises on timing or on everything making it in. Testing on my own bike first; I’ll post here when there’s something ready to try. :person_biking:

:person_biking: v1.1.1 now on Test — Location, theft alerts, ride tracking & dashboard widgets

Hi all! Remember when I said I was investigating what more could be squeezed out of the Bosch cloud? It turned into a big update. v1.1.1 is now available on the Test channel — link at the bottom.

:world_map: eBike Location widget

Your bike’s last known position on a map, right on your dashboard, with an accuracy circle and a lock button (tap :locked: to enable pan/zoom, tap again so the page scrolls normally). Bikes without a ConnectModule get their position from the end of their last recorded ride, so this works for every Smart System bike with ride history.

:bar_chart: eBike Last Ride widget

Your latest ride with its GPS track, Flow-app style: distance, riding time, avg. speed, avg. power, cadence, ascent and calories. The map can be toggled on/off in the widget settings, and with multiple bikes you pick which bike each widget shows when adding it.

:high_voltage: New Flow cards, with some ideas

“eBike battery rises above X%” — the missing counterpart to “drops below”.

WHEN battery rises above 80% → THEN turn off the charger wall plug — no more charging to 100% every time.

“eBike location changed (possible alarm)” — fires when the bike reports a new position while it’s idle (not charging, not being ridden). Since the ConnectModule only wakes up when powered on, charging, or its motion alarm triggers, an unexpected report usually means someone is moving your bike.

WHEN possible alarm → AND I am home → THEN flash all lights + send notification with the map link

“eBike location updated” — the unfiltered version: fires on every position report, with latitude/longitude/accuracy/map-link tags, for building your own logic.

WHEN location updated → AND bike is more than 500 m from home → THEN notify me (proper geofencing!)

“A new ride was recorded” — fires when a ride syncs to the Bosch cloud, with distance/duration/speed/calorie tags.

WHEN new ride recorded → THEN send “Nice ride! {distance} km at {avg speed} km/h :tada:” — or log every ride to a spreadsheet.

:light_bulb: Tip: enable Bosch’s eBike Lock feature. It prevents a thief from simply powering on and riding away, and it makes the alarm detection here much more meaningful.

:warning: Honest fine print

  • Location features need a ConnectModule with eBike Alarm set up (except the ride-based fallback).
  • Everything is built on unofficial Bosch APIs — things can change on Bosch’s side without warning. Treat the alerts as a great extra next to the official Flow app notifications, not a replacement: checks run every 5 minutes, so the Flow app push will always be faster.
  • This update requires Homey Pro (Early 2023) or newer (widgets need firmware v12.3+). Older Homeys stay on 1.0.x.
  • The app now asks for one extra permission (Homey API access) — it’s used purely to link the widget’s bike selection to the right device.

:folded_hands: Testers wanted

I’d like confirmation — especially: does your location and ride history show up correctly? Does the “possible alarm” card behave (no false alarms during normal rides/charging)? Any bike where the ride map stays empty?

Unfortunately cannot test much regarding flows/triggers as my bikes were stolen a couple of months ago.

Test link: homey.app/a/com.bosch.ebike/test/

Happy riding! :person_biking:

Will this work? Was it what you were looking for?

:high_voltage: New Flow cards, with some ideas

“eBike battery rises above X%” — the missing counterpart to “drops below”.

WHEN battery rises above 80% → THEN turn off the charger wall plug — no more charging to 100% every time.

“eBike location changed (possible alarm)” — fires when the bike reports a new position while it’s idle (not charging, not being ridden). Since the ConnectModule only wakes up when powered on, charging, or its motion alarm triggers, an unexpected report usually means someone is moving your bike.

WHEN possible alarm → AND I am home → THEN flash all lights + send notification with the map link

“eBike location updated” — the unfiltered version: fires on every position report, with latitude/longitude/accuracy/map-link tags, for building your own logic.

WHEN location updated → AND bike is more than 500 m from home → THEN notify me (proper geofencing!)

“A new ride was recorded” — fires when a ride syncs to the Bosch cloud, with distance/duration/speed/calorie tags.

WHEN new ride recorded → THEN send “Nice ride! {distance} km at {avg speed} km/h :tada:” — or log every ride to a spreadsheet.

:light_bulb: Tip: enable Bosch’s eBike Lock feature. It prevents a thief from simply powering on and riding away, and it makes the alarm detection here much more meaningful.

Hi, great effort! It looks looks fantastic and it works for me