Renogy DCC50S Display

Hello again everyone, sorry to bump this thread again - But I have made great progress with the status module. It now talks to the DCC50S, and also my Renogy Rover over RS232 (As my panel is over the voltage limit on the DCC unit).

My work is here, for anyone interested: Tiggilyboo/vanny-hub (see RS232 branch for solar charge controller as well)

I came back to ask however if anyone has had any more luck with the Renogy Smart Battery? I am trying to figure out the modbus 485 over RJ45 pinout (it does not seem to be the same as the DCC50S unit? Unless I'm mistaken), I can start spamming read requests to figure out some basic figures from there...
Hi, unfortunately Renogy wouldn't give out the battery mappings due to safety concerns :confused:. I have got a Python driver to get a load of stats but it's not quite refined as not all the mappings are in there yet. It outputs the data to an MQTT Subscriber but could be anything I guess

Cheers, nearly there with all my devices in one reporting unit! It has been a blast to work on.
 
Hi
you can use the pylon console to retrieve data of your Renogy Smart battery.
maybe more sample to do reverse ing of modbus.


pylon_debug>pwr
@
power volt(mV) 13236
max bat volt(mV) 3314
min bat volt(mV) 3303
current(mA) -1710
max bat temp(mC) 20000
min bat temp(mC) 20000
percent(%) 85
coulum(mC) 306517290
capability(mC) 359748000
dsg_cap(C) 2632791
chg_cap(C) 4029859
life 7
soh(%) 100
status nor
system error nor
cfet on
dfet on
cell balance 0000
Command completed successfully!
$$
pylon_debug>
 
hi

i tested with arduino mega connected to the renogy smart batt with a rs485 and recorded the traffic.
my pc is also connected to the rs485 with a usb/rs485 and uses the renogy firmware update application.

Renogy firmware update app sends a 0x18, wait 10 sec , sends info[d]
after this point the bms is on debug mode.
command info, pwr, bat, you can check other commands from pylontech


hex record

10:24:02.375 -> ,18/
10:24:06.348 -> /
10:24:08.368 -> /
10:24:12.211 -> /
10:24:12.680 -> ,69,6E,66,6F,D,70,79,6C,6F,6E,5F,64,65,62,75,67,3E,18,69,6E,66,6F,D,A,40,D,A,55,6E,6B,6E,6F,77,6E,20,63,6F,6D,6D,61,6E,64,D,A,24,24,D,A,70,79,6C
10:24:12.680 -> ,6F,6E,5F,64,65,62,75,67,3E,D,A,69,6E,66,6F,D,70,79,6C,6F,6E,5F,64,65,62,75,67,3E,69,6E,66,6F,D,A,40,D,A,56,45,4E,44,4F,52,20,20,20,20,20,20,20,20
10:24:12.915 -> ,20,20,20,20,3A,52,45,4E,4F,47,59,D,A,50,52,4F,44,55,43,54,20,20,20,20,20,20,20,20,20,20,20,3A,52,42,54,31,30,30,4C,46,50,31,32,53,2D,47,31,D,A,50,52
10:24:12.915 -> ,4F,44,55,43,54,20,53,4E,20,20,20,20,20,20,20,20,3A,50,50,54,41,48,30,31,30,35,30,42,30,38,32,37,30,D,A,42,41,54,54,45,52,59,20,53,20,20,20,3A,FFFFFFFF,FFFFFFFF,FFFFFFFF
10:24:12.915 -> ,FFFFFFFF,FFFFFFFF,A,53,4F,44,4E,20,20,48,30,30,30,32,38,31,38,48,56,53,4E,20,20,3A,30,34,30,A,20,52,49,20,20,20,56,31,D,55,44,49,20,20,20,4D,20,20,30,30,30,33,30
10:24:12.961 -> ,A,4F,56,53,4E,20,20,31,D,41,4D,3A,31,A,44,52,20,20,34,A,4D,50,54,42,44,20,39,30,43,53,45,4F,20,55,3A,35,30,43,6D,64,63,6D,65,64,75,65,66,6C,D,24,A
10:24:12.961 -> ,6C,5F,62,3E/
10:24:16.976 -> /

ascii record


10:24:59.351 -> / //0x18
10:25:03.335 -> /
10:25:05.350 -> /
10:25:07.366 -> /
10:25:09.381 -> /
10:25:09.897 -> info
pylon_debug>info
10:25:09.897 -> @
10:25:09.897 -> Unknown command
10:25:09.897 -> $$
10:25:09.897 -> pyl
10:25:09.897 -> on_debug>
10:25:10.084 -> info
pylon_debug>info
10:25:10.084 -> @
10:25:10.084 -> VENDOR
10:25:10.084 -> :RENOGY
10:25:10.084 -> PRODUCT :RBT100LFP12S-G1
10:25:10.084 -> PR
10:25:10.084 -> ODUCT SN :pPTAH0
10:25:10.084 -> BATTERY SN
10:25:10.084 -> :⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
10:25:10.084 -> BMS BOARD SN :H10040
10:25:10.084 -> T2008521448
10:25:10.084 -> HW VERSION :V10R04C002
10:25:10.084 -> SW VERS
10:25:10.084 -> ION :V0.1.4
10:25:10.131 -> BUILD TIME :Mar 2020
10:25:10.131 -> 09:33:06
10:25:10.131 -> BOOT VERSION :V1.3
10:25:10.131 -> FACTORY TIME
10:25:10.131 -> :20-11-0 19:43:20
10:25:10.131 -> DEVICE ADDR :48
10:25:10.131 -> COMM
10:25:10.131 -> PORT BAUD :9600
10:25:10.131 -> CONSOLE PORT BAUD :115200
10:25:10.131 -> Comm
10:25:10.131 -> and completed successfully!
10:25:10.131 -> $$
10:25:10.131 -> pylon_debug>
10:25:12.147 -> /
 
hi chris. thanks for sharing your progress. what exactly is the pylon console? do you have a link? thanks :)
 
hi

i tested with arduino mega connected to the renogy smart batt with a rs485 and recorded the traffic.
my pc is also connected to the rs485 with a usb/rs485 and uses the renogy firmware update application.

Renogy firmware update app sends a 0x18, wait 10 sec , sends info[d]
after this point the bms is on debug mode.
command info, pwr, bat, you can check other commands from pylontech


hex record

10:24:02.375 -> ,18/
10:24:06.348 -> /
10:24:08.368 -> /
10:24:12.211 -> /
10:24:12.680 -> ,69,6E,66,6F,D,70,79,6C,6F,6E,5F,64,65,62,75,67,3E,18,69,6E,66,6F,D,A,40,D,A,55,6E,6B,6E,6F,77,6E,20,63,6F,6D,6D,61,6E,64,D,A,24,24,D,A,70,79,6C
10:24:12.680 -> ,6F,6E,5F,64,65,62,75,67,3E,D,A,69,6E,66,6F,D,70,79,6C,6F,6E,5F,64,65,62,75,67,3E,69,6E,66,6F,D,A,40,D,A,56,45,4E,44,4F,52,20,20,20,20,20,20,20,20
10:24:12.915 -> ,20,20,20,20,3A,52,45,4E,4F,47,59,D,A,50,52,4F,44,55,43,54,20,20,20,20,20,20,20,20,20,20,20,3A,52,42,54,31,30,30,4C,46,50,31,32,53,2D,47,31,D,A,50,52
10:24:12.915 -> ,4F,44,55,43,54,20,53,4E,20,20,20,20,20,20,20,20,3A,50,50,54,41,48,30,31,30,35,30,42,30,38,32,37,30,D,A,42,41,54,54,45,52,59,20,53,20,20,20,3A,FFFFFFFF,FFFFFFFF,FFFFFFFF
10:24:12.915 -> ,FFFFFFFF,FFFFFFFF,A,53,4F,44,4E,20,20,48,30,30,30,32,38,31,38,48,56,53,4E,20,20,3A,30,34,30,A,20,52,49,20,20,20,56,31,D,55,44,49,20,20,20,4D,20,20,30,30,30,33,30
10:24:12.961 -> ,A,4F,56,53,4E,20,20,31,D,41,4D,3A,31,A,44,52,20,20,34,A,4D,50,54,42,44,20,39,30,43,53,45,4F,20,55,3A,35,30,43,6D,64,63,6D,65,64,75,65,66,6C,D,24,A
10:24:12.961 -> ,6C,5F,62,3E/
10:24:16.976 -> /

ascii record


10:24:59.351 -> / //0x18
10:25:03.335 -> /
10:25:05.350 -> /
10:25:07.366 -> /
10:25:09.381 -> /
10:25:09.897 -> info
pylon_debug>info
10:25:09.897 -> @
10:25:09.897 -> Unknown command
10:25:09.897 -> $$
10:25:09.897 -> pyl
10:25:09.897 -> on_debug>
10:25:10.084 -> info
pylon_debug>info
10:25:10.084 -> @
10:25:10.084 -> VENDOR
10:25:10.084 -> :RENOGY
10:25:10.084 -> PRODUCT :RBT100LFP12S-G1
10:25:10.084 -> PR
10:25:10.084 -> ODUCT SN :pPTAH0
10:25:10.084 -> BATTERY SN
10:25:10.084 -> :⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
10:25:10.084 -> BMS BOARD SN :H10040
10:25:10.084 -> T2008521448
10:25:10.084 -> HW VERSION :V10R04C002
10:25:10.084 -> SW VERS
10:25:10.084 -> ION :V0.1.4
10:25:10.131 -> BUILD TIME :Mar 2020
10:25:10.131 -> 09:33:06
10:25:10.131 -> BOOT VERSION :V1.3
10:25:10.131 -> FACTORY TIME
10:25:10.131 -> :20-11-0 19:43:20
10:25:10.131 -> DEVICE ADDR :48
10:25:10.131 -> COMM
10:25:10.131 -> PORT BAUD :9600
10:25:10.131 -> CONSOLE PORT BAUD :115200
10:25:10.131 -> Comm
10:25:10.131 -> and completed successfully!
10:25:10.131 -> $$
10:25:10.131 -> pylon_debug>
10:25:12.147 -> /
Does this mean the battery isn't modbus? I can't see any modbus framing there. (the DCC50S is modbus)
 
hi chris. thanks for sharing your progress. what exactly is the pylon console? do you have a link? thanks :)
Renogy bms is made by pylontech or maybe all battery is made by pylontech.
I use renogy battery firmware upadate software, I connect my PC to the up port with usb/rs485 . After i start the connection at 115200 baud. After the connection established, I stop the connection. After use putty serial com6 . From there I have access to the console debug of the battery. I know few command pwr shows power state, bat shows cell status, info shows serial number stuff.

Does this mean the battery isn't modbus? I can't see any modbus framing there. (the DCC50S is modbus)
My assumption is the initial mode is molbus , the debug console info said the device addr :48, port baud 9600.

I will do more serial capture...
 
Great, thanks for the detailed explanations. I'll try and capture the traffic between battery and the bluetooth dongle. I suspect it uses modbus only.
 
capture between the batt and btoo, at 9600 n81

my battery node is 48 0x30

13:14:06.752 -> test2
13:14:10.080 -> 30, 3, 13, 88, 0, 11, 5, 49, 30, 3, 22, 0, 4, 0, 24, 0, 24, 0, 24, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
13:14:10.455 -> 0, 0, 0, 0, C1, E4, 30, 3, 13, 99, 0, 5, 55, 43, 30, 3, A, 0, 3, 0, E6, 0, E6, 0, E6, 0, E6, 9D, 52, 30, 3, 13, B2, 0, 6, 65, 4A, 30, 3, C, 0,
13:14:10.877 -> 0, 0, 91, 0, 1, 86, 38, 0, 1, 86, 50, 5E, CD, 30, 3, 13, F0, 0, 4, 44, 9F, 30, 3, 8, 0, 0, 0, 0, 0, E, 0, A, 8F, EF, 30, 3, 14, A, 0, 2, E5,
13:14:11.298 -> D8, 30, 3, 4, 30, 30, 31, 34, C1, B8,
30, 3, 13, 88, 0, 11, 5, 49, 30, 3, 22, 0, 4, 0, 24, 0, 24, 0, 24, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
13:14:19.313 -> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, C1, E4, 30, 3, 13, 99, 0, 5, 55, 43, 30, 3, A, 0, 3, 0, E6, 0, E6, 0, E6, 0, E6, 9D, 52, 30, 3,
13:14:19.735 -> 13, B2, 0, 6, 65, 4A, 30, 3, C, 0, 0, 0, 91, 0, 1, 86, 38, 0, 1, 86, 50, 5E, CD, 30, 3, 13, F0, 0, 4, 44, 9F, 30, 3, 8, 0, 0, 0, 0, 0, E, 0,
13:14:20.110 -> A, 8F, EF, 30, 3, 14, A, 0, 2, E5, D8, 30, 3, 4, 30, 30, 31, 34, C1, B8,
 
BATT LEVEL 99.97% 0X270D
MAX CAPACITY 99.92ah 0X2708
VOLT 14.6V 0X92
AMPS .23A 0X17
TEMP 23 0X17
CELL1 3.6 0X24
CELL2 3.6
CELL3 3.6
CELL4 3.6



13:14:06.752 -> test2
13:14:10.080 ->
30, 3, 13, 88, 0, 11, 5, 49, COMMAND
30, 3, 22, 0, 4, 0, 24, 0, 24, 0, 24, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, C1, E4,
36 0 36 0 36 0 36 ?CELL VOLT X10
30, 3, 13, 99, 0, 5, 55, 43, COMMAND
30, 3, A, 0, 3, 0, E6, 0, E6, 0, E6, 0, E6, 9D, 52,
230 0 230 0 230 0 230 157 82 ?CELL TEMP X10

30, 3, 13, B2, 0, 6, 65, 4A, COMMAND
30, 3, C, 0, 0, 0, 91, 0, 1, 86, 38, 0, 1, 86, 50, 5E, CD,
145 0 1 134 56 0 1 134 80 94 205 ?BATT VOLT X10?

30, 3, 13, F0, 0, 4, 44, 9F, COMMAND
30, 3, 8, 0, 0, 0, 0, 0, E, 0, A, 8F, EF,
14 0 10 143 239

30, 3, 14, A, 0, 2, E5, D8, COMMAND
30, 3, 4, 30, 30, 31, 34, C1, B8,
48 48 49 52 193 184
 
Last edited:
30, 3, 14, 2, 0, 8, E4, 1D,
30, 3, 10, 52, 42, 54, 31, 30, 30, 4C, 46, 50, 31, 32, 53, 2D, 47, 31, 0, 91, ,E8,
___________R B T 1 0 0 L F P 1 2 S - G 1 [BATT MODEL]
 
30, 3, 13, B2, 0, 6, 65, 4A,
30, 3, C,FE, D2, 0, 84, 0, 1, 7F, 5, 0, 1, 86, 50, DC, 5C,
__________________13.2v 98,053%LEVEL 99.92%MAX CAP
 
30, 3, 13, B2, 0, 6, 65, 4A,
0x30= node 48
0x03= Function Code 3
0x6= No. Holdings Registers
0x654A= Starting Address

30, 3, C, FE, 68, 0, 84, 0, 1, 32, 8B, 0, 1, 86, 50, CC, 84,
0xFE68 = -4.08amps
0x84= 13.2v
0x01328B= 74.7%
ox018650= 99.92%
 
30, 3, 14, 2, 0, 8, E4, 1D,
30, 3, 10, 52, 42, 54, 31, 30, 30, 4C, 46, 50, 31, 32, 53, 2D, 47, 31, 0, 91, ,E8,
___________R B T 1 0 0 L F P 1 2 S - G 1 [BATT MODEL]
 
30, 3, 14, A, 0, 2, E5, D8,
30, 3, 4, 41, 54, 2B, 43, 4F, 4E, 3D, 53, 54, 4F, 50, 23, 30, D, A,
_________A T + C O N = S T O P 3 0 cr lf
 
30, 3, 13, B2, 0, 6, 65, 4A,
0x30= node 48
0x03= Function Code 3
0x6= No. Holdings Registers
0x654A= Starting Address

30, 3, C, FE, 68, 0, 84, 0, 1, 32, 8B, 0, 1, 86, 50, CC, 84,
0xFE68 = -4.08amps
0x84= 13.2v
0x01328B= 74.7%
ox018650= 99.92%
Correction
30, 3, 13, B2, 0, 6, 65, 4A,
0x30= node 48
0x03= Function Code 3
0x13B2= Starting Address
0x0006= No. Holdings Registers
654A= checksum

This should gives the battery amps, volts, level%, max level%

When I test this parameters, still not work, no return error.:(
 
Last edited:
Correction
30, 3, 13, B2, 0, 6, 65, 4A,
0x30= node 48
0x03= Function Code 3
0x13B2= Starting Address
0x0006= No. Holdings Registers
654A= checksum

This should gives the battery amps, volts, level%, max level%

When I test this parameters, still not work, no return error.:(
How is this CRC being calculated?

I know from my DCC50S, if the CRC is wrong there will be no reply.

If I plug your hex into this calculator; Online CRC-8 CRC-16 CRC-32 Calculator the Modbus CRC16 result is 4A65.

My knowledge isn't enough to say what the byte order should be, but swapping them has got to be worth a try?
 
Back
Top