Pylontech CAN bus Reporting

Does anyone know how to interpret the info that Pylontech sends over the CAN bus to my GX device.

Below is a screenshot:

I’ve never seen it report anything other than 0101, 0102 or 0103. I have three US3000 batteries (one C and two Bs). Jaco updated the firmware for me, so I believe the Bs should be communicating as well.

My guess is that the code is for the battery unit (1, 2 or 3) and then it isn’t reporting which specific cell in the unit has the bank’s overall max/min/high temp or low temp, only its value.

That would make sense, because I’ve seen that both the max and min voltage cells where indicated as 0101, but with different voltages.

Would appreciate some insight!

I could be mistaken but the way I interpret my own dashboard:


I think the 01 is the bank number, I have only one battery bank but you can have multiples. The 04 means the lowest cell voltage is in the fourth cell in that bank.

Hmmm, then I shouldn’t be able to observe the following:

Have you ever observed the last digit to exceed 7? I see you have 7 modules. If so, it might just point to the module that contains the cell and not the exact cell.

I have never seen the last digit exceed 07, the data doesn’t show the exact cell in the battery, only the battery or module.

My understanding is that in your screenshot, the data shows the lowest cell is in bank 01 and battery 03, the highest cell is in bank 01 battery 03. So at the moment the highest and lowest cells are in the same battery, battery 03 or module 03.

Ah okay, then we just used different terminology but are saying the same thing. I meant the following:
I have 3 Modules
Each Module is a Bank of 16 cells

So I don’t think it shows you the specific cell’s number. Only the Module in which the cell can be found.

Yup, that is what it does. The idea was that in a large battery, where you have a problem with one module consistently having a high cell (to the point that it becomes a warranty swap), you’d be able to locate the module that contains the cell. That’s the idea at least, I’m not sure if it is always practical. The CAN-bus frame is 7-bit ascii, the manufacturer can put anything in there, for example the first/last 8 digits of the serial number of the module would be a good way. It is deliberately vague/open so that each manufacturer can do their own thing, simply because not everyone uses the same topology.

1 Like

So now since I have the information, I had a look at it when the bank reached 100% SoC. At the moment:
Lowest voltage: 3.488V
Highest voltage: 3.529V.
It changes over time, bringing the lowest up a bit and the highest down a tad. When discharging, or before fully charged, the cells are much much closer. Like within 0.01V.

Whereabout would I want the top balanced position to end? Within 0.02 V for example?

Stop worrying so much. It is perfectly normal to have one cell jump out. What you observe, where they are all pretty close until they are full, is exactly how an LFP battery works. 3.53V for the highest cell is a pretty good place to be, and anything above 3.45V is basically full. The cells will age differently and this is never going to be exact.

Haha not worrying as much as wanting to know what to look out for. So effectively if all are above 3.45V when the top one jumps out, all is well?

Yup. What you don’t want to see is some cells below 3.4V while another is above 3.5V.

I’ve had a case where my lowest cells were around 3.35V and the highest one wanted to jump over 3.75V. It took two weeks for that battery (a BYD Premium) to finally settle. But settle it did.