Shimano motor sensor 'Assist Mode' issue (Android app version 4.35.0)

swissarmy shared this problem 42 days ago
Solved

Hello!

First of all, thank you for adding the option to display the Shimano motor parameters on the screen.

I found a small issue, though.

My e-bike is powered by a Shimano EP-801 motor.

When the motor is set to regular BASIC MODE, the active 'sensor cell' correctly shows the current mode that the motor is in (OFF/ECO/TRAIL/BOOST).

However, when the motor is set to FINE TUNE MODE, the active sensor cell does not show the number of the current mode. It shows either OFF or --.

There are up to 15 patterns in this mode, so if you could display them, please don't do it like '15/15' as this is how it works on the Shimano display, and it's not perfect because it's only correct if you have 15 active modes.

For example, if you set six modes using the E-tube app, selecting levels: 2/5/8/10/11/15, the Shimano display shows them as follows:

1/6, 2/6, 3/6, 4/6, 5/6, 6/6.

I would strongly recommend showing them with the exact numbers as in the E-Tube app, so that the sensor cell shows:

2

5

8

10

11

15

This helps us to determine how much power we are getting from the motor at the level we have set, because we know that a low numbers mean less power and 15 means maximum power.

To summarise, please resolve the problem with displaying the assistance level for the fine tune mode, and make sure that the number of the ASSISTANCE LEVEL is shown (and not just a level as 'one of xx').

Thanks!

Replies (5)

photo
1

Hi, thank you for the detailed report and the EP-801 specifics — that's exactly the kind of feedback that helps. Our Shimano support is built from reverse-engineered Bluetooth data, and right now we only decode the assist levels that the motor reports in Basic mode. In Fine Tune mode the motor sends the level in a format we haven't decoded yet, which is why the cell shows OFF or --.

Could you help us capture the raw data so we can add it? On a beta build:

1. Make sure you're on the latest Locus Map Beta.

2. Go to Sensors, open your Shimano STEPS bike, open its settings, and turn on "Enable raw capture" (visible on beta builds only).

3. Take a short ride (or 15 minutes of pedalling) with the motor in FINE TUNE mode, and cycle through several of your configured levels (e.g. 2, 5, 8, 10, 11, 15).

4. After disconnecting, grab the log file from /Locus/Logs/ named sensor_Shimano…_<date>.log and send it to us, together with a note of which level the bike display showed at each moment (e.g. "switched to level 8 at ~3 min").

With that capture we can decode the fine-tune levels and show the real assistance number. Thanks a lot for helping improve this!

This comment is in trash! Restore
photo
1

Hello,

I didn't have much time, so the ride was really short.

Every 10 seconds or so, I switched to the next level of assistance, starting with OFF, then 3, 4, 5, 6, 7, 9, 11, 13, 15, 13, 11, 9, 7, 6, 5, 4, 3, and finally back to OFF.

If there is not enough data in the current log file, please let me know and I will record a longer one later.

Regards,

swissarmy

This comment is in trash! Restore
photo
1

Hi, and thank you

your capture was exactly what we needed. We decoded the Fine Tune data, and a fix is coming in one of the next beta builds: the assist cell will now show your current level instead of OFF/--.

One limitation: the motor only sends the position of the level over Bluetooth (1, 2, 3 … up to how many you've configured), not the actual E-Tube numbers like 2/5/8/10/11/15. Those exact numbers live only in the E-Tube app and never reach us, so we can't display them. What you'll see is the position, the same number the Shimano display shows as the first digit (e.g. "3" when it shows 3/9).

Thanks again for helping!

This comment is in trash! Restore
photo
1

Hello,
Could you please take a look at my findings? There are two new log files and two screenshots showing the assistance level used. The procedure was as follows: turn on the e-bike, then select levels 1, 2, 3, 4, 3, 2 and 1, and turn it off again. Each level was set every 5 seconds. In the second log, I jumped through all 15 levels, starting from 'OFF', then '1', then '2', and so on.

There is also a simple interpretation of the AI which might be helpful.

Thanks!

This comment is in trash! Restore
photo
1

Just to be clear, I went through four levels in the first log and the REAL level of assistance was set as follows:

1 level – level 2 in E-tube app

2 level – level 6in E-tube app

3 level – level 10 in E-tube app

4 level – level 14 in E-tube app

It was therefore OFF - 2 - 6 - 10 - 14 - 10 - 6 - 2 - OFF.

This comment is in trash! Restore
photo
photo
1

Hello,

Please take a look at the screenshots I provided. They are from the STRide app, which shows the exact name of the finetune profile and the correct level of assistance as soon as it connects to the motor, so there is definitely a solution. Additionally, the colour changes from green to blue and yellow as the level increases.

If you would like me to create another log, please let me know the exact procedure I can follow.

Thanks!

This comment is in trash! Restore
photo
1

Hello swissarmy,

thanks, this helped a lot. One, hopefully, the last piece is still missing. I need one more recording from you.

Could you record one more where you switch between two different saved profiles mid-recording? For example:

  1. Start the raw recording in Locus.
  2. Ride/sit on 4modesL5 for ~10 s.
  3. Switch the active profile to 9modesL5, wait ~10 s.
  4. Switch back to 4modesL5, wait ~10 s.
  5. Note roughly when you switched.

Just selecting a different profile is all that's needed — no need to edit anything. That switch is what lets us find the "active profile" field, so Locus can show the profile name too.

Thanks a lot!

EDIT: I've asked for a short ride > sorry, not needed. There seems to be no space for a "range" value.

This comment is in trash! Restore
photo
1

Hello,

I have attached the log you mentioned.

The procedure I followed was:

I turned on the bike (mode 15modesL5), set first level of assistance and pedalled for ~10 seconds, then stopped. I then switched to the 9modesL5 profile (level 1 was already set) and pedalled for 10 seconds. Stopped the bike and turned it off.

This comment is in trash! Restore
photo
1

Amazing, this helped, thanks! It should be improved in the next app version.

There will be also new variable "Assist profile", that should carry the "9modesL5" value.

This comment is in trash! Restore
photo
1

Hey,

There will be also new variable "Assist profile", that should carry the "9modesL5" value.
I don't quite follow. '9modesL5/15modesL5' is the name I set, and it's only my info that there are 9 or 15 levels of assistance, with 'assistant start' set to level 5.

In short, it's a completely custom profile name.
By variable 'assist profile', do you mean a cell that simply displays the name of the profile in use?

I have attached another log file in which the procedure I followed was:

I turned on the bike (finetune mode, name of the profile '9modesL5'), set first level of assistance and pedalled for ~10 seconds, then stopped. I then switched to the second mode (basic mode, with only 3 levels - ECO/TRAIL/BOOST; name of the profile 'FULLPOWER', level 1 has changed automatically to ECO and pedalled for 10 seconds. Stopped the bike and turned it off.

I hope this clears things up.

This comment is in trash! Restore
photo
1

Yes, I mean this. If all will be correctly working, you will be able to place into dashboard a "Assist profile" field that will display this custom name you have set.

This comment is in trash! Restore
photo
1

Hello,

I've tested the latest beta version (4.35.0.3_1216_beta.apk, released on 24 July), and the field showing the level of assistance displays a number representing the level out of the total used, but not the power level (e.g. 3/15).

Is this intentional, or will it be corrected? I thought it would show the actual power assist level.

This comment is in trash! Restore
photo
Leave a Comment
 
Attach a file
You can't vote. Please authorize!