Question about correct Pylontech RT12100 support

I have a quick question about Pylontech support in Venus.

I’ve used 24V and 48V Pylontech batteries countless times in my installations, and as far as I understand, the charging voltages in Venus are hardcoded for these batteries to values lower than those reported via BMS-Can, mainly for over-voltage protection.

A few times, I’ve installed the 12V model—specifically the RT12100—and this battery reports a 14.1V limit in the Venus GUI. That seems a bit high, and I remember it caused over-voltage errors at some point, maybe a year ago or more. I manually lowered it to 13.9V in the DVCC settings, and after that, the issues stopped.

So I’m just wondering—has there been any change in the Venus OS implementation since then?

Thanks!

Try looking in settings>System Setup>Charge Control
turn on the slider “Limit managed battery charge voltage”, then enter the desired value in the box below.
The Charge voltage limit is the lower of this setting, the limit from the BMS and any limits programed into the chargers of the MPPT or inverters.
Whilst there are some tweaks that the Venus code applies to the Pylontech charge voltage, the voltage is not hard coded, generally it follows the requested voltage by the BMS.
If you scan the D-Bus values in the Venus software, then you can see what voltages are being applied.

Yes. This is what I did and have been doing ever since… it is described in my post. I was just wondering if this is still necessary.

in this page Victron & Pylontech UP2500, US2000, US3000, US2000C, US3000C, US5000, US5000B, UF5000, Pelio-L, UP5000, Phantom-S, Force-L1 & L2 [Victron Energy] it says this:

My system only charges the battery to 52.4V

When DVCC is enabled, the battery (via the CAN-bms) is responsible for the charge voltage. The Pylontech battery requests a charge voltage of 53.2V. We have however found that in practice this is too high.

The Pylontech battery has 15 cells in series, so 53.2V equates to 3.55V per cell. This is very highly charged and makes the system prone to go overvoltage.

It should also be noted that a LiFePO4 cell stores very little additional energy above 3.45V.

For this reason we opted to override the BMS and cap the voltage at 52.4V. This sacrifices almost none of the capacity and greatly improves the stability of the system.

Since the 12V model isn’t specifically mentioned, I was wondering if the same logic has been implemented at some point for this particular model.

Where can you do this? Thanks

My dealer now also has 24V version

  • Pylontech RT12100G31 12V 100Ah LFP Communication Heating IP67
  • Pylontech RT2450G31 24V 50Ah LFP Communication IP66

but the wiki page doesn’t list those

Typically I connect to the Venus OS with a Unix desktop and use ssh root@ to connect to the support cvonsole - note you need to be in superuser mode and have ssh enabled in the Venus os to do this.
Alternately some values are available in Settings>Debug&Develop>values> depending on what you have connected.
There is a windows power shell equivalent of ssh I believe, but I’ve not used that.

Ok… I have enabled Debug and I see the voltage which the battery itself is asking for:


For example 53.2V for US3000C

Do you know the path for the actual voltage Venus is using? This should be 52.4V as noted in the Wiki article for 15-cell battery.

Once I figure out that path, I can check on the 12V battery system

15 cells at 3.55 per cell (3.65-0.1V) is 53.25V. Why do you only want to charge to 52.4V?
What you are seeing above is the dbus value input from the BMS data.
IF you are using ESS mode, then the MPPT will have 0.4V added to that id DC export is allowed.
Other than that, do try to check what values are being passed to your chargers: MPPT, inverters.

Note also some BMS do use dynamic CVL (Charge voltage limit).

Have you seen the linked Victron wiki page for Pylontech?
52.4V is what Victron had hardcoded into Venus for these batteries.

This post is not about what I want. I was just wondering, where one can see this value in the system so I can check if this is also being applied for different Pylontech models which are not on their “officially supported” list.

Hi @peter
The “quirk”, like Victron name it, is applied only for the 48V battery.
Nothing like that for the 24V or 12V batteries.
So, for your question “…has there been any change in the Venus OS implementation since then?”,
the answer is: For 12V and 24V, no.
Reference, here: dbus-systemcalc-py/delegates/dvcc.py at master · victronenergy/dbus-systemcalc-py · GitHub
Lines from 47 to 99.

1 Like

Amazing @alexpescaru
Thank you. The code is pretty self explanatory.

But, as long as the min/max cell voltages are sent by the battery, I can’t see why one cannot adapt it for the 12V battery also.
The same code, only the base voltage, that 52.5V will be changed to 14V (3.5V x 4 elements)…
And, of course, the algo put on the 12V code branch.

Looks like they do…

Do you know if one can submit pull request to the Victron devs or they have to do it themselves?

Don’t really understand what you mean…
Why pull request?
You have those files on your Venus OS and you can modify them yourself after SSH on your system.

Yes, I know… sorry for not explaining it better… I meant that once tested locally, how would one go about submitting this to the devs so everyone can use it eventually.

This was a problem since forever.
Any modification made by the user will be overwritten by subsequent updates of the system, because seldom Victron includes such modification.
Independent developers should take measures themselves for this to not happen.
Or stop updating after you’ve made it work.
Although of such adjusting when charging could benefit all batteries that send min/max voltages and therefore avoid high voltage alarms and this is reason enough to include them.
Funny thing is that Victron started with this improvements but stopped after implementing on 48v.