December 11, 20241 yr Author Hi, ESPhome works on events on the CAN bus with the on_frame: keyword. However you can throttle the sensor component on ESPHome. https://esphome.io/components/sensor/index.html#throttle Hope this helps Edited December 11, 20241 yr by ZS1SCI
December 11, 20241 yr 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.
December 13, 20241 yr 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. This is at native 58.4V charge request voltage. I hope this helps Regards
December 13, 20241 yr Author and here is a snap from the current setup with Neey balancers + voltage hack(55.2V) Edited December 13, 20241 yr by ZS1SCI
December 13, 20241 yr 54 minutes ago, ZS1SCI said: I've modified the charge voltage to 55.2V with ESP in the middle. Hi. Please tell me how you change the voltage.
December 13, 20241 yr Author On 2024/12/13 at 8:47 AM, IvanZah said: Hi. Please tell me how you change the voltage. Hi By altering the CAN message from BMS before it hits the inverter. https://github.com/Psynosaur/MitM-Deye Let me know if you have any questions Edited December 14, 20241 yr by ZS1SCI
December 14, 20241 yr 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.
December 15, 20241 yr 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
December 15, 20241 yr 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. This 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 December 15, 20241 yr by JFFP94
December 16, 20241 yr 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.
December 17, 20241 yr 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
December 21, 20241 yr 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((((
January 12, 20251 yr 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 ? 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 January 12, 20251 yr by Dariusz
January 16, 20251 yr 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 ? 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 January 16, 20251 yr by ZS1SCI
February 11, 20251 yr 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?
February 23, 20251 yr 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.
February 24, 20251 yr 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
March 1, 20251 yr 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. will provide some feedback Edited March 1, 20251 yr by ZS1SCI
March 1, 20251 yr Author MOehahahaha its works XD Edit: will update code to send this heartbeat to activate cell information https://github.com/Psynosaur/esphome-deye-bms/issues/3 Edited March 1, 20251 yr by ZS1SCI add reference
March 3, 20251 yr 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/releasesRegarding the variations in soc, perhaps see if there is a potential major cell voltage delta in each or one of the packs.DISCHARGE MOSFET ISSUESo 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 ISSUESee 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 examples16% => 2%One week later it happened again, then I drained both to 2.9V.14%=2%It would seem that there is some logic in the FW that resets the SOC to 2% when any of the cells reach 2.9VIt happened the other day again, but much smaller gap6%=>2%There are observations and theory in my reply and your milage may vary. Edited March 3, 20251 yr by ZS1SCI grammarz
March 7, 20251 yr 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 improvementIt 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.
March 8, 20251 yr 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 improvementIt 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.MmmhThat is still strange behaviour.197W on both, split nice and evenly (0.3A difference) under very little loadDid they update everything online?Cheers
March 8, 20251 yr 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 improvementIt 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).Strange indeed
July 3, 2025Jul 3 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
July 19, 2025Jul 19 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,AllexHey, I have not reverse engineered the RS485 bus as much as the CAN specIs 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.