Skip to content
View in the app

A better way to browse. Learn more.

Power Forum - Renewable Energy Discussion

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Deye SE-G5.1 Pro batteries

Featured Replies

  • Replies 108
  • Views 45.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Hey there I couldn't resist, build a CAN BUS reader for a Pi running in the garage alongside the solar assistant. https://github.com/Psynosaur/Deye_Battery_CAN_BUS API outputs the followin

  • Good morning I've finally managed to get the batteries in a more stable state: The wacky behavior was noticed after Deye did a remote firmware update on my batteries, which changed the charg

  • Hi @ZS1SCI   I am looking to install the exact same system. I am an enthusiast at best, but still a novice as this will be my first and only system. The above information has been reall

Posted Images

Hello @ZS1SCI,

I just registered on this forum to thank you for the amazing job that you have been doing!

Could you please give me a graphic of SOC vs BMS voltage for these batteries? Basically I just need see their voltage during one cycle of charging/discharging.

  • Author
On 2024/12/11 at 4:51 PM, JFFP94 said:

Hello @ZS1SCI,

I just registered on this forum to thank you for the amazing job that you have been doing!

Could you please give me a graphic of SOC vs BMS voltage for these batteries? Basically I just need see their voltage during one cycle of charging/discharging.

Hi

I've modified the charge voltage to 55.2V with ESP in the middle.

but here is some historic data before I went crazy.

image.thumb.png.194bf2355017343c9eb2d9773769e521.pngThis is at native 58.4V charge request voltage.

 

I hope this helps :)

 

Regards

  • Author

and here is a snap from the current setup with Neey balancers + voltage hack(55.2V)

image.thumb.png.4ab271dbbcb2f630d38ea481f10bfc1d.png

Edited by ZS1SCI

On 2024/12/13 at 5:09 PM, ZS1SCI said:

Let me know if you have any questions :)

Thank you, I understand. But in my case it is not so. My inverter does not support working with BMS. Only manual settings.

  • Author
11 hours ago, IvanZah said:

Thank you, I understand. But in my case it is not so. My inverter does not support working with BMS. Only manual settings.

Hi

What inverter do you have?

I'm sure you can set it to AGM mode, 55.2V bulk and equalization(90mins) and 53.6V for float.

Those are the parameters I set via CAN

Regards

On 2024/12/13 at 5:53 AM, ZS1SCI said:

Hi

I've modified the charge voltage to 55.2V with ESP in the middle.

but here is some historic data before I went crazy.

image.thumb.png.194bf2355017343c9eb2d9773769e521.pngThis is at native 58.4V charge request voltage.

 

I hope this helps :)

 

Regards

Thank you so much for your time, but actually what I want is total voltage Value, like your 58.4V. Basically I want see If I can use this batteries without communicate with BMS 😅

Btw, you know how to send RS485 commands to inverters logger? I got the command that I need from solarman support but they didnt gave any settings for communication and who is replying to emails knows less than me, and after ask to engineer just give me a very incomplete information. 😅

Edited by JFFP94

On 2024/12/13 at 5:09 PM, ZS1SCI said:

Let me know if you have any questions :)

Hi.

Tell me please, how did you manage to make two CAN modules friends via UART ports? I use the Wemos D1 mini board. If there is only one esp32_can, it works. I add the second esp32_can and both do not work. Maybe the problem is in the ESP32 board? Here is part of my yaml:

esphome:
  name: deye-bms
  friendly_name: deye-bms
  #comment: ESPHome_For_Deye_SE-G5.1Pro

esp32:
  board: wemos_d1_mini32
  framework:
    type: arduino
    
# Enable logging
logger:
  baud_rate: 0 # disable UART logger
  level: WARN

# Enable webserver
web_server:
  port: 80
  version: 3
  log: true
  ota: false

# Enable Home Assistant API
api:
  encryption:
    key: "************************"

ota:
  - platform: esphome
    password: "*****************"

wifi:
  ssid: *******
  password: *******************

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "deye"
    password: "*********"

#spi:
#  id: MspSpi
#  clk_pin: GPIO18 # Change to your wiring needs
#  mosi_pin: GPIO23 # Change to your wiring needs
#  miso_pin: GPIO19 # Change to your wiring needs

canbus:
  ###############################################
  # Порт IN (250KBPS), зовнішній модуль MCP2515 #
  ###############################################
  #- platform: mcp2515
  #  id: mcp2515_can
  #  spi_id: MspSpi
  #  cs_pin: GPIO17 # Change to your wiring needs
  #  mode: LISTENONLY
  #  clock: 8MHZ
  #  use_extended_id: True
  - platform: esp32_can
    id: in_can
  #  use_extended_id: True
    tx_pin: GPIO23 # CAN HIGH YELLOW
    rx_pin: GPIO22 # CAN LOW LIGHT-YELLOW
    can_id: 100
    bit_rate: 250KBPS
    on_frame: 


    # Напруга комірок
    - can_id: 0x02098001
      ...
      ...
      ...

            
  ###################################################
  # Порт PCS (500KBPS), внутрішній CAN на ESP32_CAN #
  ###################################################         
  - platform: esp32_can
    id: pcs_can
    tx_pin: GPIO05 # CAN HIGH BLUE
    rx_pin: GPIO04 # CAN LOW LIGHT-BLUE
    can_id: 200
    bit_rate: 500KBPS
    on_frame:

    # Параметри заряду/розряду аккумулятора
    - can_id: 0x351  
    ...
    ...

Thank you for your answers.

  • Author
21 hours ago, IvanZah said:

Hi.

Tell me please, how did you manage to make two CAN modules friends via UART ports? I use the Wemos D1 mini board. If there is only one esp32_can, it works. I add the second esp32_can and both do not work. Maybe the problem is in the ESP32 board? Here is part of my yaml:

esphome:
  name: deye-bms
  friendly_name: deye-bms
  #comment: ESPHome_For_Deye_SE-G5.1Pro

esp32:
  board: wemos_d1_mini32
  framework:
    type: arduino
    
# Enable logging
logger:
  baud_rate: 0 # disable UART logger
  level: WARN

# Enable webserver
web_server:
  port: 80
  version: 3
  log: true
  ota: false

# Enable Home Assistant API
api:
  encryption:
    key: "************************"

ota:
  - platform: esphome
    password: "*****************"

wifi:
  ssid: *******
  password: *******************

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "deye"
    password: "*********"

#spi:
#  id: MspSpi
#  clk_pin: GPIO18 # Change to your wiring needs
#  mosi_pin: GPIO23 # Change to your wiring needs
#  miso_pin: GPIO19 # Change to your wiring needs

canbus:
  ###############################################
  # Порт IN (250KBPS), зовнішній модуль MCP2515 #
  ###############################################
  #- platform: mcp2515
  #  id: mcp2515_can
  #  spi_id: MspSpi
  #  cs_pin: GPIO17 # Change to your wiring needs
  #  mode: LISTENONLY
  #  clock: 8MHZ
  #  use_extended_id: True
  - platform: esp32_can
    id: in_can
  #  use_extended_id: True
    tx_pin: GPIO23 # CAN HIGH YELLOW
    rx_pin: GPIO22 # CAN LOW LIGHT-YELLOW
    can_id: 100
    bit_rate: 250KBPS
    on_frame: 


    # Напруга комірок
    - can_id: 0x02098001
      ...
      ...
      ...

            
  ###################################################
  # Порт PCS (500KBPS), внутрішній CAN на ESP32_CAN #
  ###################################################         
  - platform: esp32_can
    id: pcs_can
    tx_pin: GPIO05 # CAN HIGH BLUE
    rx_pin: GPIO04 # CAN LOW LIGHT-BLUE
    can_id: 200
    bit_rate: 500KBPS
    on_frame:

    # Параметри заряду/розряду аккумулятора
    - can_id: 0x351  
    ...
    ...

Thank you for your answers.

Hi

The ESP32-C6 can have up to two esp_can busses.

For this project it is better to have MCP2515(InterCan) and one ESP_CAN(PCS).

The C6 is merely for the ESP in the middle.

On 2024/12/15 at 8:37 PM, JFFP94 said:

Thank you so much for your time, but actually what I want is total voltage Value, like your 58.4V. Basically I want see If I can use this batteries without communicate with BMS 😅

Btw, you know how to send RS485 commands to inverters logger? I got the command that I need from solarman support but they didnt gave any settings for communication and who is replying to emails knows less than me, and after ask to engineer just give me a very incomplete information. 😅

I'm sure you'd be able to use it without BMS communication.

I have not yet sent commands to the RS485 of the inverter logger .

Regards

 

On 2024/12/17 at 8:39 PM, ZS1SCI said:

For this project it is better to have MCP2515(InterCan) and one ESP_CAN(PCS).

I have already installed the 3rd module MCP2515. But unfortunately I have not received data from the IN port. I don't know how to deal with this((((

  • 3 weeks later...

Hi @ZS1SCI

I have a question for you regarding the communication with the battery and the LVESS program. Are you using CANalyst-II for this ?  

 

image.png.a33b9d3091d892b269c4371fef22abc7.png

 

Like the predecessors in the topic I cannot read the voltages of the individual cells. Of course I am connected to interCan however the IDs I get are quite different to yours. The battery software is AA56 2008 I wonder where to look for the problem ....

EDIT: Perhaps there is something interesting in the LVESS logs?  

Edited by Dariusz

  • Author
On 2025/01/12 at 2:12 AM, Dariusz said:

Hi @ZS1SCI

I have a question for you regarding the communication with the battery and the LVESS program. Are you using CANalyst-II for this ?  

 

image.png.a33b9d3091d892b269c4371fef22abc7.png

 

Like the predecessors in the topic I cannot read the voltages of the individual cells. Of course I am connected to interCan however the IDs I get are quite different to yours. The battery software is AA56 2008 I wonder where to look for the problem ....

EDIT: Perhaps there is something interesting in the LVESS logs?  

Hi there

Yes i am using this device. 

What version of the LVESS CAN software are you running?

Perhaps its outdated for your model of battery? 

Are you also running the same model of battery as I am? 

Im also on 2008 firmware. 

Cheers 

 

Edited by ZS1SCI

  • 4 weeks later...
On 2025/01/16 at 11:02 PM, ZS1SCI said:

Hi there

Yes i am using this device. 

What version of the LVESS CAN software are you running?

Perhaps its outdated for your model of battery? 

Are you also running the same model of battery as I am? 

Im also on 2008 firmware. 

Cheers 

 

Hi,

Can you please share your latest LVESS software? Cann't find it and I want to have it in my library in case i need to debug my batteryes. My story is below.

 

I recently bought two Deye SE-G5.1 Pro B batteryes (AA56, firmware 2008), tied them up to a Deye 8kW inverter, very easy to setup and all is fine with them. Can handle a 3kW load easily and have been completly off-grid for the past two days.

So far so good. Now, by the third battery cycle i noticed that they discharge unevenly, the first day was like 1% difference in soc, thats ok, the second was 4%, got my attention, third day 9%, got me alerted.

Today i drained them all the way to 5%, fully charged on PV and my house consumption was idling 200 ish watts (around 4A from batteryes) after sunset. At 9pm the soc difference was 19%. One battery was at 53.3V and the other at 53.0V. Checked status in Solarman and to my surprise only one battery was discharging (MOS state 0031), the other was doing nothing (MOS state 0021). I started a 2kw outdor heater and the idling battery started to provide power, more amps than the other to catchup, and has been in dischargind state ever since regardless of AC loads. 

I allready wrote to Deye about it yesterday, got no response yet, but this behaviour does not sound good. It seems on light AC loads the batteryes can not work in parallel. The BMS'es seem to be comminicating and balancing fine on high loads, but this light load condition after a full charge is something weird. I bet Deye never tested it.

What are your thoughts, anyone noticed this on their systems?

 

  • 2 weeks later...

Hi. I also could not get cell voltage data via mcp2515 and interCAN. But after I connected to the batteries via LVESS using CANalist II and interCAN, I started receiving data via mcp2515 too. I think that some command is needed to start the necessary registers. I also tried connecting via two tja1050 boards, but in this case only interCAN worked for me, and pcs did not work with this connection.

  • Author

 

20 hours ago, Saboter said:

Hi. I also could not get cell voltage data via mcp2515 and interCAN. But after I connected to the batteries via LVESS using CANalist II and interCAN, I started receiving data via mcp2515 too. I think that some command is needed to start the necessary registers. I also tried connecting via two tja1050 boards, but in this case only interCAN worked for me, and pcs did not work with this connection.

Hi

In my case this might have been invoked by the first or second battery in my array, so the heartbeat signal might have gone unnoticed for intercan

I will see which frame this might be and perhaps implement it when found. 

Cheers

  • Author

Good day

I think this will activate the cell information

Extended frame ID 0x18A2FF80 DLC=>1 Data=> 01 every 1 second

Extended frame ID 0x18A20080 DLC=>1 Data=> 01 only sent when connecting via Deye app

Testing it on the esphome now, restarted the batteries and my MCP2515 also does not read cell voltages.
image.png.45b79150cb36fcfeeb22e0ec929e2d79.png

will provide some feedback 

Edited by ZS1SCI

  • Author
On 2025/02/11 at 11:28 PM, PVman said:

Hi,

Can you please share your latest LVESS software? Cann't find it and I want to have it in my library in case i need to debug my batteryes. My story is below.

 

I recently bought two Deye SE-G5.1 Pro B batteryes (AA56, firmware 2008), tied them up to a Deye 8kW inverter, very easy to setup and all is fine with them. Can handle a 3kW load easily and have been completly off-grid for the past two days.

So far so good. Now, by the third battery cycle i noticed that they discharge unevenly, the first day was like 1% difference in soc, thats ok, the second was 4%, got my attention, third day 9%, got me alerted.

Today i drained them all the way to 5%, fully charged on PV and my house consumption was idling 200 ish watts (around 4A from batteryes) after sunset. At 9pm the soc difference was 19%. One battery was at 53.3V and the other at 53.0V. Checked status in Solarman and to my surprise only one battery was discharging (MOS state 0031), the other was doing nothing (MOS state 0021). I started a 2kw outdor heater and the idling battery started to provide power, more amps than the other to catchup, and has been in dischargind state ever since regardless of AC loads. 

I allready wrote to Deye about it yesterday, got no response yet, but this behaviour does not sound good. It seems on light AC loads the batteryes can not work in parallel. The BMS'es seem to be comminicating and balancing fine on high loads, but this light load condition after a full charge is something weird. I bet Deye never tested it.

What are your thoughts, anyone noticed this on their systems?

 

You can get the latest LVESS software here:

https://github.com/Psynosaur/Deye_LowVoltageBmsUpperComputer/releases

Regarding the variations in soc, perhaps see if there is a potential major cell voltage delta in each or one of the packs.

DISCHARGE MOSFET ISSUE

So far when a cell on battery 2 reached 3.6V before battery 1(100% SOC mark), then I've found battery 2 does not discharge and battery 1 takes all the load until a manual power cycle of both batteries.

SOC DRIFT ISSUE

See if you can drain them to 2.9V if the SOC is above 2% it normally resets to 2% SOC,

Then charging up from this factory recalibration routine for lack of better term, the discharge curves are more in line with one another.

I've done this on both when they where nearly empty to drain them to 2.9V.

The first cell to hit 2.9V triggers this behaviour.

Perhaps that can get them both in line a bit more, as the upper recalibration ("100%" SOC) might be off due to potential imbalance.

Here are some examples

16% => 2%

image.png

One week later it happened again, then I drained both to 2.9V.
14%=2%

image.png

It would seem that there is some logic in the FW that resets the SOC to 2% when any of the cells reach 2.9V

It happened the other day again, but much smaller gap

6%=>2%

image.png

There are observations and theory in my reply and your milage may vary.

Edited by ZS1SCI
grammarz

Thanks for the links, much appreciated.

In the meantime I've chatted with Deye Europe Support about the SoC drift issue. My cell voltages are all OK. I also discharged them to 5% in case one of them was a bit lazy in providing current, but that led to a 20% drift the following night.

After some tests, the problem is due to low load conditions and Deye support confirmed that under these circumstances only one battery will provide power (usually the master) and if more current is needed the second battery will kick in. If both batteries get activated they will remain active and eventually will balance voltages. I did an all night low load test to see how far one battery will discharge before cutting out. I can confirm that the master discharged to 52.0V (~58% SoC) and then the slave battery took over and master was set to idle. They eventually balanced out each other the following day when the sun came up.

Deye also update by BMS firmware to V2.0.0.B and inverter HMI to 0000-C375. They said that 40% drift is too much and 10% is OK. The drift is still there after the upgrade, but now the batteries balance out charge within a couple of hours if they drift to far apart which is an improvement

It appears the BMS logic is to discharge batteries one by one which actually suits my needs since i plan to fit 9 for a total of 45kWh, but i will be using energy only from one or two batteries daily and use the rest twice a week to charge my EV at night.

  • Author
6 hours ago, PVman said:

Thanks for the links, much appreciated.

In the meantime I've chatted with Deye Europe Support about the SoC drift issue. My cell voltages are all OK. I also discharged them to 5% in case one of them was a bit lazy in providing current, but that led to a 20% drift the following night.

After some tests, the problem is due to low load conditions and Deye support confirmed that under these circumstances only one battery will provide power (usually the master) and if more current is needed the second battery will kick in. If both batteries get activated they will remain active and eventually will balance voltages. I did an all night low load test to see how far one battery will discharge before cutting out. I can confirm that the master discharged to 52.0V (~58% SoC) and then the slave battery took over and master was set to idle. They eventually balanced out each other the following day when the sun came up.

Deye also update by BMS firmware to V2.0.0.B and inverter HMI to 0000-C375. They said that 40% drift is too much and 10% is OK. The drift is still there after the upgrade, but now the batteries balance out charge within a couple of hours if they drift to far apart which is an improvement

It appears the BMS logic is to discharge batteries one by one which actually suits my needs since i plan to fit 9 for a total of 45kWh, but i will be using energy only from one or two batteries daily and use the rest twice a week to charge my EV at night.

Mmmh

That is still strange behaviour.

197W on both, split nice and evenly (0.3A difference) under very little load
image.png

Did they update everything online?

Cheers

  • Author
9 hours ago, PVman said:

Thanks for the links, much appreciated.

In the meantime I've chatted with Deye Europe Support about the SoC drift issue. My cell voltages are all OK. I also discharged them to 5% in case one of them was a bit lazy in providing current, but that led to a 20% drift the following night.

After some tests, the problem is due to low load conditions and Deye support confirmed that under these circumstances only one battery will provide power (usually the master) and if more current is needed the second battery will kick in. If both batteries get activated they will remain active and eventually will balance voltages. I did an all night low load test to see how far one battery will discharge before cutting out. I can confirm that the master discharged to 52.0V (~58% SoC) and then the slave battery took over and master was set to idle. They eventually balanced out each other the following day when the sun came up.

Deye also update by BMS firmware to V2.0.0.B and inverter HMI to 0000-C375. They said that 40% drift is too much and 10% is OK. The drift is still there after the upgrade, but now the batteries balance out charge within a couple of hours if they drift to far apart which is an improvement

It appears the BMS logic is to discharge batteries one by one which actually suits my needs since i plan to fit 9 for a total of 45kWh, but i will be using energy only from one or two batteries daily and use the rest twice a week to charge my EV at night.

Even stranger is you report low current as an issue, where as I observe there is no issue with low currents, discharging(pic above post) or charging(below).
image.png

Strange indeed

  • 3 months later...

Hello all ,

there is any 485 protocol for Deye BMS available ?

I have extracted some date from protocol, but not all of them. Also I have some problems with checksum algo.

Regards,

Allex

  • 3 weeks later...
  • Author
On 2025/07/03 at 3:44 PM, alexam3001 said:

Hello all ,

there is any 485 protocol for Deye BMS available ?

I have extracted some date from protocol, but not all of them. Also I have some problems with checksum algo.

Regards,

Allex

Hey, I have not reverse engineered the RS485 bus as much as the CAN spec

Is there something specific you're looking for?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.