ESPHome - Daly BMS using UART Guide

allright :slight_smile: il stay in touch :smiley:

Worked perfectly! Thank you!

I did add a female micro-usb module so that I didn’t have to cut the provided cable. I feel like I would like the ability to go back to the original bluetooth adapter even though I probably never will.

Hi all,
after struggling for quite some time to get this running (while doing everything precisely as mentioned here) I stumbled upon another discussion that solved the communication not working for me, so I wanted to share my experiences. For me the values in HA would appear but not show any data (something like “not available”).
FIX: In some cases it may be necessary to decouple the BMS and the ESP electrically via an ADUM1201 (or similar). The reason being that some DALYs do not have enough power to correctly pull down the RX pin and thus communication simply fails. Since the different DALYs use widely different chips and configurations, some might work without, but mine (8s 100A) would not.
Simply connect the ADUM1201 between BMS and ESP, 3.3V and ground are shared connections between all three components. Here is the site that shows it in detail: https://github.com/softwarecrash/DALY-BMS-to-MQTT

Thank you for finding the fix. As i mention in my post under ‘Wiring’ that i had trouble connecting the 3.3v.
My solution at that time was powered from the standard Micro USB to my ESP board.

I need to buy several ADUM1201 to test out, Thanks again!

Hi, thanks for the guide. I like the approach to communicate with the BMS using the ESP microcontroller, this way it gets Wifi capability and no need for long wires.

I created my own add-on to communicate with the BMS over bluetooth directly (so it doesnt need extra hardware) . https://github.com/fl4p/batmon-ha . Please let me know what you think

Hi. I am trying to connect two BMS to a ESP32. I did open a extra topic for this to keep this part small.

Just hope anyone has a good idea to solve this …

Hi There,

Firstly, cuddos to who wrote this little integration, love how simple it is and how well it works. No issues for me to get it running on an ESP32 and talking to my Daly BMS & HA.

However, I do have a question / observation.

While I normally get all metrics send to HA, at times I notice the ESP32 doesn’t report on battery voltage and battery current.
To clarify, when I look at the terminal output of the ESP32, on ESPHome interface, I see all the values (like temp and individual cell voltages) but it doesn’t report on total pack voltage or current.
(Hence I know it’s the code on ESP32 doing this, the issue is not within HA)

Is this normal behaviour? Does the logic in the code only report back once the value changes? Or should all metrics be send all the time ?

Cheers, Yuri

Hi Fabian,

I like your way to solve this and I have tried hard to get it to work but I always stops at ‘asyncio.exceptions.TimeoutError’ in sampling.py.

Maybe this is a separate discussion.

Hello
Very good job with this BMS.
However, I have a small problem with reading the data.
The reading of cells 1-3 is very rare, from 4 to 7 more often and from 10 to 16 no problem. maybe someone knows why there is a problem with reading the first cells from BMS?

Hello friends, great project, thank you very much.

But I have a problem.

Why isn’t the value continuously updated? You can see it in history.

As an example here is a screenshot of the voltage of cell 1. The value above was updated 5 hours ago, but in history there is a different value from 10min ago.

Actually I thought it was a live display like in the original app.

thank you for your help

image

Hi, did you get a solution? I have the same problem with “asyncio.exceptions.Timeouterror” with my Daly BMS over bluetoth with a Raspi4. Made an issue on github at fl4p/batmon but did not get an answer yet

I got some ESP-8266 that look just like yours Creatura, but I can’t get any reading from the BMS.

When I flash the same settings to some older ESP’s I have everything works, but these newer ones I can look at the log and they startup and never get any data.

I can install GitHub - softwarecrash/DALY-BMS-to-MQTT: ESP8266 Connector to get Daly BMS Data into MQTT systems and get a reading but there’s no intergration for HA, any idea’s on why ESPHome can’t get anything?

Well done!
Did you manage to share the same UART with the Daly Bluetooth dongle?
You mention it in the introduction but I did not see how you did it.
I hope it is possible because it makes no sense to lose the Daly Bluetooth functionality.

iit possible to read Daly data using ESP32 and then send it via Can to Deye inverter using pylontech protocol
Same as these folk did for JK here?

Hi! Is possible to connect 2 daly-bms on 1 ESP ?.

Yes. To esp32 only. I ask from Bing AI and he makes me config too.

Hi All - thanks to everyone who’s contributed to this feature/integration.
I have followed the steps above and, although it works fine in the begining and I get everything across to HA, after a while it feels like the Daly BMS goes into sleep mode and stops transmitting. This is not picked up immediately on HA, but I can see it when I run the log from ESPHome. Note that my battery pack currently doesn’t have any loads on (other than the ESP32) nor is it being charged, so it could be that this is the problem i.e. the BMS goes to sleep because nothing’s happening? But even so, I would like to be able to check my battery status, even when it’s iddle or even shut-down.
Has anyone else had a similar problem?
Is there a way to wake up the BMS (assuming it actually goes into sleep mode and this is the root of my problem)?

Thank you for your time.

Possible sharing code for all members if you found an solution

Standby timer on 65535 my BMS doesn’t get in any standby like a half year. Hope it helps

i’m a newbie. can someone give me a guide step by step or any video about it ? thank s.