Issue integrating 100balance BMS with ESPHome via RS-485

@Footz355, Now there is BLE implementation for the same and works great. You can try daly bms smart support ( blue version ) · Issue #145 · patman15/BMS_BLE-HA · GitHub

This is still in testing and will be released soon.

1 Like

Hi everyone,

I’m using an ESPHome configuration I found on the Home Assistant community forum to integrate my BMS. Everything is working as expected, except for the balancer current.

In my case, the balancer current (id: balancecurrent) shows as 30mA, but the BMS itself indicates it should be 0mA. This discrepancy makes me wonder if there’s an issue with the Modbus configuration, scaling, or interpretation of the values.

  • Hardware: ESP32 (ESP32-S2-Saola-1)
  • BMS Model: [Specify your BMS model here]
  • Firmware: ESPHome with Modbus integration
  • Configuration for the Balancer Current:
- platform: template
  id: balancecurrent
  name: "Balance Current" # 0x4E register
  filters:
    - multiply: 0.001
  accuracy_decimals: 0
  unit_of_measurement: "mA" # guessing
  device_class: battery
  state_class: measurement
  icon: mdi:scale-unbalanced

The value seems to be read from register 0x4E using Modbus.

My Questions:

  1. Has anyone experienced this discrepancy with the balancer current?
  2. Could the scaling factor (multiply: 0.001) or register assignment be incorrect for this specific BMS?
  3. Is there a better way to verify or debug the raw Modbus data to ensure accuracy?

Any guidance or suggestions would be greatly appreciated! If additional details are needed, let me know.

According to the register sheet unit is 0.1A, so the correct conversion to mA should be multiply 100, which doesn’t make sense?
Reading modbus serial data one way or another doesn’t affect accuracy anyhow.
Only thing missing here is CRC check. So data could be corrupted giving totally non-sense values.

Hi. I can not understand why it takes 5-10 minutes… So it happens every time you reboot esp32? I try to assemble the same but I do not use the RS485 yet (I use UART) and it worked some how 1 day but now it reads data partially

Does your solution work stable? I mean does it reboot itself periodycally?

My solution was ok some time

but after 8 hours it stopeed work as it was before.

Now it works again - weird.

Wow, thanks for the tip. Just managed to get it to work after understanding ESPHome bluetooth proxy. Thank you!

1 Like

@Working really well for me. Only issue is esp32 gets disconnected sometimes then need to reboot esp32.