Hello all!
I just had to register because I am stuck with my problem.
I get me a LiFePO4 battery from aliexpress (I can post a link if needed), it's quite nice, but it only communicates using the windows software you get from the vendor.
The battery can communicate with diverse inverters, so I suppose there is some kind of standard protocol for RS485 communication.
But I did not find anything and hacking serial communication is new to me, too![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
I don't know the type of BMS, the software shows DR-HUANY04, but I can't find anything with that name.
After looking at forum posts here, I don't think its seplos compatible. Converted to ASCII the request looks different.
The software also says "Protocol: DR-1363", nothing relevant found with google.
I sniffed the communication and I found that the software sends
7E 32 32 30 31 34 41 34 32 45 30 30 32 30 31 46 44 32 38 0D
to get data back.
The BMS replies with
7E 32 32 30 31 34 41 30 30 45 30 43 36 30 30 32 37 31 30 31 34 46 35 31 30 30 44 32 30 30 44 30 39 30 44 30 41 30 44 30 42 30 44
30 39 30 44 31 36 30 44 30 39 30 44 31 36 30 44 32 39 30 44 32 45 30 44 30 45 30 44 30 39 30 44 30 41 30 44 30 43 30 44 34 41 30
44 34 36 30 31 34 41 30 31 32 43 30 31 34 30 30 34 30 31 32 43 30 31 32 43 30 31 33 36 30 31 33 36 30 30 30 30 30 30 30 30 30 30
36 34 30 31 32 38 43 41 32 38 43 41 30 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 44 35 33 35 0D
7E 32 32 30 31 34 41 30 30 45 30 43 36 30 30 32 37 31 30 31 34 46 35 31 30 30 44 32 30 30 44 30 39 30 44 30 41 30 44 30 42 30 44
30 41 30 44 31 37 30 44 30 39 30 44 31 35 30 44 32 39 30 44 32 45 30 44 30 46 30 44 30 41 30 44 30 41 30 44 30 42 30 44 34 39 30
44 34 36 30 31 34 41 30 31 32 43 30 31 34 30 30 34 30 31 32 43 30 31 32 43 30 31 33 36 30 31 33 36 30 30 30 30 30 30 30 30 30 30
36 34 30 31 32 38 43 41 32 38 43 41 30 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 44 35 32 44 0D
7E 32 32 30 31 34 41 30 30 45 30 43 36 30 30 32 37 31 30 31 34 46 35 31 30 30 44 32 30 30 44 30 39 30 44 30 41 30 44 30 42 30 44
30 39 30 44 31 36 30 44 30 39 30 44 31 35 30 44 32 39 30 44 32 45 30 44 30 45 30 44 30 41 30 44 30 41 30 44 30 42 30 44 34 39 30
44 34 35 30 31 34 30 30 31 32 43 30 31 34 30 30 34 30 31 32 43 30 31 32 43 30 31 33 36 30 31 33 36 30 30 30 30 30 30 30 30 30 30
36 34 30 31 32 38 43 41 32 38 43 41 30 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 44 35 34 39 0D
(3 examples)
I can do this much, but I don't know how to get the data I want to know from the BMS.
I don't really need cell voltages, but I don't mind to "know" every data I can get out of this data reply.
I use a raspberry pi and node red and I need to know battery current and voltage, also charging states to be able to write the code for my charging script.
And of course temperatures etc would be interesting, too.
Does anyone recognize the protocol by looking at the data above? Google is no help, but since the battery can communicate with different inverter brands out of the box, there must be some standard?
One way to go could be getting a lot of these replies and compare what has changed and maybe calculate 16/32 bit values out of it and then compare them with screenshots of the BMS windows software, but I suppose that's a lot of trouble.
Thanks for hints and with best regards,
Nik
I just had to register because I am stuck with my problem.
I get me a LiFePO4 battery from aliexpress (I can post a link if needed), it's quite nice, but it only communicates using the windows software you get from the vendor.
The battery can communicate with diverse inverters, so I suppose there is some kind of standard protocol for RS485 communication.
But I did not find anything and hacking serial communication is new to me, too
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
I don't know the type of BMS, the software shows DR-HUANY04, but I can't find anything with that name.
After looking at forum posts here, I don't think its seplos compatible. Converted to ASCII the request looks different.
The software also says "Protocol: DR-1363", nothing relevant found with google.
I sniffed the communication and I found that the software sends
7E 32 32 30 31 34 41 34 32 45 30 30 32 30 31 46 44 32 38 0D
to get data back.
The BMS replies with
7E 32 32 30 31 34 41 30 30 45 30 43 36 30 30 32 37 31 30 31 34 46 35 31 30 30 44 32 30 30 44 30 39 30 44 30 41 30 44 30 42 30 44
30 39 30 44 31 36 30 44 30 39 30 44 31 36 30 44 32 39 30 44 32 45 30 44 30 45 30 44 30 39 30 44 30 41 30 44 30 43 30 44 34 41 30
44 34 36 30 31 34 41 30 31 32 43 30 31 34 30 30 34 30 31 32 43 30 31 32 43 30 31 33 36 30 31 33 36 30 30 30 30 30 30 30 30 30 30
36 34 30 31 32 38 43 41 32 38 43 41 30 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 44 35 33 35 0D
7E 32 32 30 31 34 41 30 30 45 30 43 36 30 30 32 37 31 30 31 34 46 35 31 30 30 44 32 30 30 44 30 39 30 44 30 41 30 44 30 42 30 44
30 41 30 44 31 37 30 44 30 39 30 44 31 35 30 44 32 39 30 44 32 45 30 44 30 46 30 44 30 41 30 44 30 41 30 44 30 42 30 44 34 39 30
44 34 36 30 31 34 41 30 31 32 43 30 31 34 30 30 34 30 31 32 43 30 31 32 43 30 31 33 36 30 31 33 36 30 30 30 30 30 30 30 30 30 30
36 34 30 31 32 38 43 41 32 38 43 41 30 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 44 35 32 44 0D
7E 32 32 30 31 34 41 30 30 45 30 43 36 30 30 32 37 31 30 31 34 46 35 31 30 30 44 32 30 30 44 30 39 30 44 30 41 30 44 30 42 30 44
30 39 30 44 31 36 30 44 30 39 30 44 31 35 30 44 32 39 30 44 32 45 30 44 30 45 30 44 30 41 30 44 30 41 30 44 30 42 30 44 34 39 30
44 34 35 30 31 34 30 30 31 32 43 30 31 34 30 30 34 30 31 32 43 30 31 32 43 30 31 33 36 30 31 33 36 30 30 30 30 30 30 30 30 30 30
36 34 30 31 32 38 43 41 32 38 43 41 30 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 33 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 44 35 34 39 0D
(3 examples)
I can do this much, but I don't know how to get the data I want to know from the BMS.
I don't really need cell voltages, but I don't mind to "know" every data I can get out of this data reply.
I use a raspberry pi and node red and I need to know battery current and voltage, also charging states to be able to write the code for my charging script.
And of course temperatures etc would be interesting, too.
Does anyone recognize the protocol by looking at the data above? Google is no help, but since the battery can communicate with different inverter brands out of the box, there must be some standard?
One way to go could be getting a lot of these replies and compare what has changed and maybe calculate 16/32 bit values out of it and then compare them with screenshots of the BMS windows software, but I suppose that's a lot of trouble.
Thanks for hints and with best regards,
Nik
Last edited: