diy solar

diy solar

New Daly "Smart" BMS w/ Communication. (80-250A)

I'm trying to read out all values from my Daly Smart BMS 4S 100A 12V and integrate this values in my smart home system (openhab)

At the moment I can connect to BMS with the Android-App over Bluetooth and also with a windows 10 pc and the sinoweath software which is connect to the monitor port at BMS and USB at PC.

Now I try to get the data with a Linux-System first. I connected the USB-Port with it:
samuel@nb-lubuntu:~/daly$ dmesg | grep ttyUSB0
[ 18.276274] usb 3-1: ch341-uart converter now attached to ttyUSB0
samuel@nb-lubuntu:~/daly$
The UART-Adapter was detected by the system and is available over /dev/ttyUSB0

samuel@nb-lubuntu:/dev/serial$ ls -la /dev/serial/by-id/
insgesamt 0
drwxr-xr-x 2 root root 60 Mai 5 11:28 .
drwxr-xr-x 4 root root 80 Mai 5 11:28 ..
lrwxrwxrwx 1 root root 13 Mai 5 11:28 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0
samuel@nb-lubuntu:/dev/serial$

Later I want to develop a Java-App (because openhab is a java based system) to get all data from Daly BMS and maybe also for writing.

Here in the forum I found the RS485+UART PROTOCOL Documentation

But until now I failed by trying to communicate over /dev/serial/ttyUSB0 with the BMS.
Is someone here who already successfully communicate with the BMS. Independent from the language. Maybe with python or a simple terminal serial communication tool.
You might want to check here:

Thread 'Decoding the DALY SmartBMS protocol' https://diysolarforum.com/threads/decoding-the-daly-smartbms-protocol.21898/
 
I'm trying to read out all values from my Daly Smart BMS 4S 100A 12V and integrate this values in my smart home system (openhab)

At the moment I can connect to BMS with the Android-App over Bluetooth and also with a windows 10 pc and the sinoweath software which is connect to the monitor port at BMS and USB at PC.

Now I try to get the data with a Linux-System first. I connected the USB-Port with it:
samuel@nb-lubuntu:~/daly$ dmesg | grep ttyUSB0
[ 18.276274] usb 3-1: ch341-uart converter now attached to ttyUSB0
samuel@nb-lubuntu:~/daly$
The UART-Adapter was detected by the system and is available over /dev/ttyUSB0

samuel@nb-lubuntu:/dev/serial$ ls -la /dev/serial/by-id/
insgesamt 0
drwxr-xr-x 2 root root 60 Mai 5 11:28 .
drwxr-xr-x 4 root root 80 Mai 5 11:28 ..
lrwxrwxrwx 1 root root 13 Mai 5 11:28 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0
samuel@nb-lubuntu:/dev/serial$

Later I want to develop a Java-App (because openhab is a java based system) to get all data from Daly BMS and maybe also for writing.

Here in the forum I found the RS485+UART PROTOCOL Documentation

But until now I failed by trying to communicate over /dev/serial/ttyUSB0 with the BMS.
Is someone here who already successfully communicate with the BMS. Independent from the language. Maybe with python or a simple terminal serial communication tool.
I've had good results talking directly to the Daly over it's UART port. I've done some digging and have started to document some of the commands that control / query it's configuration.
 
Waking up the Daly without a power supply...
I found this info elsewhere, but did it last night so can confirm it worked for me.
AA battery (I used a 1.2V eneloop) between B- (+) and P- (-) will wake up the BMS.
BMS looks for +0.6V difference between the two.

The pin out on my 250A 4S looks different to many posted here so don’t know which are the shorting pins, but this was easier for me anyway.
What works reliably with my 4 12V/150A Dalys is to close the 2Pins on the only 2Pin connector on board for 2 seconds. To do this, it is enough to carefully insert a small screwdriver, which then touches both pins, or the corner of a busbar ... what is lying around.

Does anyone know the exact designation of these connectors? I would like to connect switches. I also find plugs on Amazon that look suitable. But the dimensions differ by millimeters. If someone knows the designation for these 2 pin connectors, that would be really helpful.
 
What works reliably with my 4 12V/150A Dalys is to close the 2Pins on the only 2Pin connector on board for 2 seconds. To do this, it is enough to carefully insert a small screwdriver, which then touches both pins, or the corner of a busbar ... what is lying around.

Does anyone know the exact designation of these connectors? I would like to connect switches. I also find plugs on Amazon that look suitable. But the dimensions differ by millimeters. If someone knows the designation for these 2 pin connectors, that would be really helpful.
I have some links to Amazon for the connectors.

Post in thread 'More DALY smart BMS issues' https://diysolarforum.com/threads/more-daly-smart-bms-issues.19751/post-243924

Note also to avoid confusion, how I counted the pin numbers for the 8 cell BMS.

Post in thread 'More DALY smart BMS issues' https://diysolarforum.com/threads/more-daly-smart-bms-issues.19751/post-256150
 
Last edited:
Good work, im glad some of the confusion around Daly SmartBMS is getting cleared up and others are having similar positive experinces. Yes, knowing the "123456" password helps and is neccessary to know.

Have you managed to get Charge and Discharge CMOS switching on/off to work? Ive been thinking of starting a blog to try to document my findings with this BMS and to collate information without having to read through 10's of pages of threads.

PS, I was once an Aussie in Sweden (Goteborg / Lund) many moons ago.
I have the 100a 4s smart BMS and I could turn it on and off through the android app, however on the 60a 4s smart BMS (the little one) I couldn't do it. Must be a software issue.
 
I built a 24v battery with a Daly 8s 24v 50a BMS. When connected the BMS gets extremely hot. Any ideas what could be wrong? I have double and triple checked the balance leads and they are correct.
 
I built a 24v battery with a Daly 8s 24v 50a BMS. When connected the BMS gets extremely hot. Any ideas what could be wrong? I have double and triple checked the balance leads and they are correct.
As mentioned, a picture is worth a thousand words. It would get more attention as a new thread in the beginner section as well.
 
I have a question re the Daly Smart 250a BMS..

Is it possible to use both the bluetooth and uart cable together? I can do minimal programming over bluetooth.. and from what I can gather there may be a driver at the end of this month to integrate the BMS with the Victron gear..

There seems to be many versions of these so would anyone be able to point me the the required pinouts for the UART?

1620868662216.png
 
On the UART cable, there are only three pins used: (using the colors from the picture) red, white and black. The red and white wires are the serial rx/tx and the black is a ground. The bluetooth cable adds an additional wire, the green (again, from the picture above). My suspicion is that is vcc to power the transmitter of the bluetooth adapter.
 
On the UART cable, there are only three pins used: (using the colors from the picture) red, white and black. The red and white wires are the serial rx/tx and the black is a ground. The bluetooth cable adds an additional wire, the green (again, from the picture above). My suspicion is that is vcc to power the transmitter of the bluetooth adapter.
Thanks.. So do I assume that its use either bluetooth or Uart (usb) not both at the same time or is the second black connecter to the right available also for uart?

Steve
 
Last edited:
Thanks.. So do I assume that its use either bluetooth or Uart (usb) not both at the same time or is the second black connecter to the right available also for uart?
Yeah. I can't see how you'd do both at the same time. I'm 97% sure that the BT cable just proxies whatever it gets, and doesn't do anything at all smart.

The connector to the immediate right of the UART/BT connector in your picture is the rs485/can connector on my model (16s/250a/UART+by+can+rs485).
 
I built a 24v battery with a Daly 8s 24v 50a BMS. When connected the BMS gets extremely hot. Any ideas what could be wrong? I have double and triple checked the balance leads and they are correct.
Same thing happened to the 14s 80a one I received last year. Ended up getting a replacement. I did have to pay for the shipping.
 
I've had good results talking directly to the Daly over it's UART port. I've done some digging and have started to document some of the commands that control / query it's configuration.
Thanks! That's interesting.

Which Port on the BMS do you use with your Code? The UART, where in my case the Bluetooth-Dongle is connected to? Or the Monitor-Port, which I can use with the Sinowealth Software. I would prefer to use the monitor port.

Do you compile your c++ code for an Arduino? Is it possible to compile it for lubuntu (debian)?
 
Dahli 16S 200ah with UART and BT.

Learned another hard one today. You can make lots of changes to these BMS's while they are active with no issues. But there is one or two that may damage equipment if you play with them while your solar system is active. After damaging the USB to UART cable I spent a couple hours figuring out what happened.
My XW Pro was putting out about 2,000 watts AC while pulling power through the Dahli BMS. I was tinkering and I needed to adjust "Cell Volt Low" setting using their PC software "PC Master". I adjusted it from 3.05 down to 2.8 giving my inverter and charge controller more of an opportunity to shut down if needed first rather than the BMS. You don't want your BMS to shut down for any reason if possible while your charge controller or inverter are under load. The moment I pressed the Set Icon the inverter shut down. I retraced all my steps even though my actual battery was at 18% SOC while under load I still had about a 6% margin. Well sure enough the abrupt disconnect of the battery while active use ruined the USB to UART cable instantly.
Fortunately I had another one but then I was very concerned about doing it again while trying to figure out what happened. So I wanted to as such make my own from things I had laying around and if it was isolated all the better.

DIY USB to UART if you burn up the one like I did.
I used a Waveshare which has isolation.
USB to RS232/485/TTL

You can find them on Amazon and they don't cost that much. After an hour of testing with some Com apps here is what I found that works perfect.

Set the com port on your Windows machine for this Waveshare device to 9600, N, 8, 1.
Use the TTL port, not the RS485 port.
Open the app, select the port, then open it. If it doesn't work you may have to reverse the send receive wires.

Now if this happens again at least I will not damage my USB to UART hopefully because I have isolation.

Now I really need to figure out how to go from TTL to wireless or hardwire ethernet without Arduino or Raspberry. In other words plug and play remote access via the web for these BMS's. I will start on that in a few days. All ears if you guys have any ideas.

Some pics:

20210526_202705.jpg
The cable I used to hook this up was cut off the one I burned up so you can see the color code for both pieces of equipment.

20210526_202751.jpg


20210526_203028.jpg
The original that I cooked before cutting off the USB side

20210526_203802.jpg
And something that makes haste of balancing new battery packs. Heltec 24S 5 amp active balancer with BT and RS485. Ultra simple to operate and you don't have to spend days top balancing high ah batt packs.
 
My apologies on spelling.

Daly BMS, not Dahli as in my above post and it's to late for me to modify it. Maybe a moderator can help me out. Not sure what is acceptable and what is not.

I wanted to mention though that today I tested a Daly BMS with UART using a USB to TTL adapter. Worked perfect. You can find them on Amazon and Ebay for a few bucks. Make sure you use 3.3 vdc and not 5.
 
Last edited:
No, it's a lie. The link that says "source code" is just an archive of the contents of the GitHub repo at that time--which contain only a few screen shots and text files (if you don't believe me, download it for yourself and see). The link that says dalylog_0.9.1.zip contains a compiled executable, not the source code.

And this isn't just a matter of my being an open-source zealot--I want to monitor my BMS, but I don't want to use a Raspberry Pi to do it. The BMS is within 3' or less of my VM host, on which I'm running a Linux VM that's already monitoring my MPP inverter. Its storage is much more reliable than the SD cards the Pi uses, it's already wired to my network, etc. There's no reason to use another device here--except that this software will only run on a Pi.

Of course, this is his code; he's entitled to release it under whatever conditions he chooses. But it's unfortunate that he's doing it this way.
Hi are you monitoring your MPP inveter using ardino.can you please shair the details
 
Hi are you monitoring your MPP inveter using ardino
No, as I said in the text you quoted, I'm monitoring it on a Linux server, though you could do the same thing using a Raspberry Pi. See:

As a bonus, it will also let you monitor the Daly Smart BMSs that are the subject of this thread.
 
No I am not. My goal is to use a Wireless to TTL allowing a client's BMS to be accessed remotely. This way we can monitor their devices for them. We will setup up a small wireless router at the clients location and it will be used just for reading the BMS. Our staff will monitor all batteries in the field real time for the first six months to a year if the client desires.
 
Back
Top