@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.
@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.
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.
- 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:
multiply: 0.001) or register assignment be incorrect for this specific BMS?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
Now it works again - weird.
Wow, thanks for the tip. Just managed to get it to work after understanding ESPHome bluetooth proxy. Thank you!
@Working really well for me. Only issue is esp32 gets disconnected sometimes then need to reboot esp32.
very nice… wish they would incorporate the individual cell voltage sensors. Took me a while to create all 16 of them.
Have any one figure out how to get the total charge and discharge WH numbers? I want to add the default power dashboard to record the wh that’s used to charge and discharge the 100balance bms batteries.
If you are talking about default HA energy dashboard I have firstly power entity of my BMS converted to absolute values:
- sensor:
- name: "Battery Power Input"
unit_of_measurement: "W"
device_class: power
unique_id: Battery Input Power
state: >
{% if states('sensor.jhb_501806010289_moc')|float >= 0 %}
{{ states('sensor.jhb_501806010289_moc') }}
{% else %}
0
{% endif %}
- name: "Battery Power Output"
unit_of_measurement: "W"
device_class: power
unique_id: Battery Output Power
state: >
{% if states('sensor.jhb_501806010289_moc')|float < 0 %}
{{ -1* states('sensor.jhb_501806010289_moc')|float }}
{% else %}
0
{% endif %}
And later use integral helper to change this into energy. Mind you this is an example of old config I have where my power came from my inverter. Now the BMS_BLE integration provides me with energy in Wh so probably that could be used directly after a bit of mathematical processing.
FYI because I just stumbled upon this thread:
I wrote a custom component for this new DALY protocol (used by H/K/M/S-Series and 100Balance BMS), which supports most registers (if any important are missing, you can tell me and I can add them) and can request data from multiple BMS on one RS485 bus:
Yes, it’s for default HA Energy Dashboard. I’m also using the BMS_BLE integration but can’t figure out a way to track “used” watt. There’s only 1 field that shows WH (stored energy)
hello i would like to connect esp32 to 100 balance bms uart-uart communication. Can you give me an example configuration?
There is a full example in the readme of the github repo.
What address should I enter to connect to bms 100balance bms?
daly_hkms_bms:
the default address is 1, so your example is correct.