Jump to content

Reading Battery Data into ESPhome


Sc00bs

Recommended Posts

Hi Guys

I found this Github collection for connecting up ESPHome with Battery BMS's that I thought some of you guys might find useful.

I have BSL batteries so I am just trying to work out how to enable comms on the RS485 port works, I think it has to be done using PBMS Tools, anyone know? 

 

It includes repositories for:  

 

esphome-jk-bms Public

ESPHome component to monitor and control a Jikong Battery Management System (JK-BMS) via UART-TTL or BLE

 

 

esphome-basen-bms Public

ESPHome component to monitor a Basen Battery Management System via BLE

 

 

esphome-ant-bms Public

ESPHome component to monitor and control a ANT-BMS via UART

 

ESPHome component to emulate a SMA/Victron compatible BMS via CAN bus

 

esphome-jbd-bms Public

ESPHome component to monitor and control a Xiaoxiang Battery Management System (JBD-BMS) via UART-TTL or BLE

 

ESPHome component to monitor a Tianpower Battery Management System via BLE

 

ESPHome component to monitor a Seplos Battery Management System (Seplos-BMS) via UART or RS485

 

ESPHome component to monitor and control a PACE Battery Management System (PACE-BMS) via RS485 (Modbus)

Link to comment
Share on other sites

Not sure which BMS the Sunsynk's use, maybe someone else can comment.

I seem to remember some of the models BMS's no being compatible so there may be models with different models of BMS

All the inverters using PBMS tools seem to use the Pace BMS's, PBMS sort of makes sense now, lol. 

 

Link to comment
Share on other sites

Been looking for documentation on the Sunsynk battery modbus implementation but so far have only found the document for the inverters. Was hoping to use the rs-485 port but might make more sense to use the CAN bus instead as the batteries are already communicating via CAN with themselves and the inverter. Was thinking of connecting a USB CAN analyser to my laptop to record the communication between the inverter and the batteries. Might get some useful information to figure it out.

Edited by Gambit
Link to comment
Share on other sites

From what i can see, the SS Inverter does not pull all the battery data from the BMS.
Looking at Solar Assistant, it uses the battery RS232 port to retrieve the battery data.
I don't have SA, just looking at the info - SA Battery Config
SA connect to the inverter via RS485 and a separate RS232 it communicates to the battery.

I found some battery comms in the SS protocol that i want to try and use to extract battery cell data.

Edited by Zodiac69
Link to comment
Share on other sites

  • 2 months later...

So i went down the wrong rabbit hole, assuming that the Sunsynk Battery data was accessible via the RS485 Modbus as this would have been the preferred way.
After some interaction with Sunsynk, i was informed that they do not support communicating with the battery via the RS485 Modbus port,

Looking at Solar Assistant, they use RS232 to communicate with the battery, i then started looking for info on the protocol. I tested many BMS software programmes and finally found one that worked instantly -  PBms Tools V2.4
So my Sunsynk 10.65kW battery has a Pace BMS.
Now that i know what to look for i found the Protocol document. I also reached out to Sunsynk support, and they confirmed that it is Pace BMS by sending me the same protocol document.

Here is a post by Tertiush where he posts about a Python script he made to communicated with the Pace BMS.
Here is the link to his Github repository. 

If there is some clever ESPHome gurus that can implement this on ESPHome, then we can use the same ESP32 for RS485 to the inverter and RS232 to the batteries.

I captured some data between the software and my battery.

What i found was that he software just repeat these four (4) calls, over and over. I have attached some data but not my Serial No.

~250146C10000FD9A # Software Version
~25014600602850313653323030412D4132313038342D312E3035F57F
~250146C20000FD99 #SerialNumber
######
~25014642E00201FD30 #PackAnalogData
~25014600D07C0001100D230D220D230D220D240D230D1F0D260D220D210D240D160D230D220D230D22060B960B950B940B940BA20BC70000D21D4C640436B100604E2061E332
~25014644E00201FD2E #2WarnInfo
~25014600E04E000110000000000000000000000000000000000600000000000000000000802410000000000001EEC8

 

 

PACE-BMS-RS232-communication-protocol-20180705.pdf

Link to comment
Share on other sites

Hi @Zodiac69

I found these repositories which speak to the Battery using ESPhome so no need to re-invent it :-) 

Depending on how your PACE BMS is setup you may be able to speak to it via the RJ45 RS485 port or otherwise the RS232 port, i think that this depends on the firmware on the BMS as it definitely works with some but not others. I could not find anywhere to switch it on with my BSL batteries. 

https://github.com/syssi/esphome-pace-bms 

He has repositories for communications with a lot of other BMS's as well. 

 

 

Link to comment
Share on other sites

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...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...