woliver avatar image

Hello Victron-staff please help us with ESS Phase compensation!

Hi Victron (@mvader), we are discussing in several threads a nearly similar question without an expert comment by victron-staff:

This main problem of an „symmetrical“ or „balanced“ ESS in a three phase grid-parallel setup is absolutely essential for the German and Austrian market. Please let us know what you think about it! Thank you very much!

MultiPlus Quattro Inverter ChargerESS3 phaseNode-RED
1 comment
2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi Woliver,

As a new Victron user/installer and new to this forum I wonder if there is an update on this topic? I am currently commissioning a 3 phase MP2 3000 system with 13kWp solar and 45kWh battery. However the lack of phase compensation is a big issue and without a solution to this I need to look at other options. Is the Nodered solution/WA stable and achievable for beginners?

Thanks for the advice.

Kind regards,


3 Answers
Guy Stewart (Victron Community Manager) avatar image
Guy Stewart (Victron Community Manager) answered ·


I have seen the posts, and have some opinions of my own for what can be done.

But please note, the creation of many similar posts directly calling out Victron employees demanding answers (even very politely :) is counter to the intention of this community and the very first line of the written community guidelines.

I understand the appeal of trying to talk directly to the CEO via this community channel and convince him of the importance of the feature.

However, for changes like this I can promise you, the absolute best way to get a result is to follow the normal lines of support, contact your dealers (who you buy from), or if you are a dealer - then contact your Victron sales manager.

When the sales managers are hearing from many voices and many customers that a feature is essential for their market, then they have the real power to make it a priority for the development team.

Where Victron is very active in this community is where I can have a direct influence - such as improving documentation to better explain or describe how things are. I am happy to hear how this could be improved so at least customer expectations are matching the current reality.

2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi Guy (no need to answer)

I’ve just started up my 3-phase ESS system using MP II 48/3000/32 units. We are at least 5 households aiming to have similar systems using Victron products. We all have incommon that we are building the systems ourself. Components are ordered from suppliers around europe, and there is no system desiger that can make our voices heared throu the channel you recommend. The only way I know of is this community :)

Hi Guy,

First of all, thank you very much for your comment and sorry for this desperate attempt getting help. It was by no means my intention to violate the forum rules, but unfortunately this topic comes up from time to time without any help from Victron himself. Therefore, we apologize again for trying to get the attention of M. Vader (he said that his day has only has 24 hours so maybe there is one hour for this Problem ;-) ).

The actual problem itself has already been discussed in detail, why I would just like to explain only the essential points again.

This problem actually only exists in power grid parallel systems with a 3-phase Victron system, i.e. a three-phase power grid with a three-phase Victron structure. All loads are on the Victron input side, which are monitored by an energy meter (EM24).

Furthermore, you have to know the special regulation and billing rules in the German and Austrian power grid. For us, it doesn't matter whether you buy on one phase and sell electricity on another phase. If the sum of all three phases at the metering point is zero (EM24: sum L1 + L2 + L3 = 0), there are no electricity costs for us, which is our goal, since the electricity purchase costs are five times as high as the sales revenue. Our electricity meters only count the total power of all three phases. If the total is not equal to 0, there is a counting register for consumption direction and a separate counting register for feed-in direction. At the end of the year these counting registers are billed separately, for each kWh consumption you pay approx. 0.3 € and for each kWh feed-in you receive approx. 0.07 €.

Furthermore, the grid-side inverter power in asymmetrical single-phase operation is limited to a maximum of 4.6 kVA per phase, in Austria even less. It does not matter what is actually fed-in at the grid connection point, but the purely maximum possible connected load of the inverter is decisive for approval. As a result, a three-phase system with Multiplus2 5000 is not approved by the grid operator; for him there are three individual units, each with more than 4.6 kVA. As a result, the only option left is the smaller MP2 3000 system. This in turn has the consequence that currently only loads of up to 2.4 kW can be balanced per phase, which is usually not enough for a common household and there is always an additional power supply by the grid on this one phase.

It would therefore be desirable that the full 7.2 kW system power would be available for load balancing. This would only be possible if all three Victron MP2 feed in symmetrically for this application, i.e. with the same power (L1 load = +4000 W à MP2 L1 = -1333 W; MP2 L2 = -1333 W; MP2 L3 = -1333 W). The phase control would then not have to be done individually for each MP2, but there is an identical power control register for all three MP2s. As a side effect, all three MP2s would always be loaded equally, which reduces wear. At the moment one MP2 is running at its limit and the others are not doing nothing instead of supporting the MP2, which is about to thermal overload.

Now many forum users from other countries asked us why a "grid-tie-inverter" is not used instead of the Victron system. Here are a few suggestions which still speak in favor of the Victron system and made our decision on Victron despite the missing symmetrical ESS function:

- Very good scalability of the overall system, thanks to the modular component structure, which means that later retrofitting is also possible.

- Use of different interfaces (modbus TCP, CAN, VRM-Portal API, ...)

- Durability and support

- No manufacturer binding when choosing the battery storage

- Simple retrofitting of already existing photovoltaic systems without battery storage (this is particularly interesting for the German market, since from 2021 many PV systems will be excluded from the state feed-in subsidy and economic continued operation only makes sense with a retrofittable storage solution.

- Three-phase backup supply in the event of a power failure (although the German power grid is very stable, the Germans love to be prepared for the worst-case scenario ;-) )

- Very diverse system (can also be used as a pure island system if required)

Thx for writing it up, I agree completely.

I hope very much that I could do some persuasion and that this function might be included in a future GX firmware. If not, we would be very interested here in the forum why it shouldn't be technically possible, maybe some customers will switch then to another system in the future. The main goal is still to keep the total electricity meter at 0 and thus the electricity bill at 0 costs, which is currently not possible for us with this system.

Thank you in advance for your help!

Thank you for clarifying!

The problem, at least here in Sweden, is that battery systems are either sold buy Solar panel installer companies that favor their own "turn-key-battery" systems. Priced 10 times that of a victron system.

Victron, at least in my community, is a DIY brand. You buy the batteries from China, you buy the inverters from the lowest bidder in Europe. You build it your self and pay some guy a whiskey or two for plugging it in to the grid.

We, the DIY community, are left on our own - without the power of big companies. This forum is our only channel to Victron.

I hope you understand, and please send this message to whom it might concern.
I apologize for myself and everybody else, but please understand our frustration. We have a 7000 EUR system that don't work optimally and nobody with the power to help us is willing

Thank you

When the sales managers are hearing from many voices and many customers that a feature is essential for their market, then they have the real power to make it a priority for the development team. 

Hi Guy,

in the past I got the impression that this approach was not very effective. For an issue, which shown up as a real issue later, I had more than 15 calls and emails with my dealer and later with the relevant account manager. At the end I was still with my problem.
Effectively you jumping in after a post here in the forum and addressing that topic with your support was much more effective and target oriented.

In terms of potentially new product features I have seen for other manufactures that they use a vote option in their forum/support area. Effectively that feature indicates how strong the need is given for each individual request. I think that such functionality would be much more meaningful than a subjectively filtered opinion of dealers and account manager.

Hi @thomasw-1,

Perhaps my answer was a bit simplistic, and more a response to the potential risk I saw of people piling on, then trying to pressure Matthijs with @ mentions in numerous different by similar posts, about their various issues, which are important to them but difficult to gauge the company level impact.

Absolutely there is value to people coming to community as well as lodging their issue with their dealer. Those two forces combined are the key - a practical and physical push back through the sales channel - combined with further research, documentation, corroboration and collaboration though this community.

The community provides an opportunity for others to share their similar experiences and further, and more deeply investigate causes, work arounds, and ultimately solutions. This is an extremely valuable process for both customer and Victron.

But that does not require specific @mention demands for official response (in nearly all cases), and I really do not want to encourage that as a culture here, because it will have the opposite effect in the long run.


Voting was considered, and decided against (the functionality still exists but is disabled). My concern was that it might give the false impression that there would be some kind of democratic decision making in product or feature development. The reality of that process is somewhat different ;)

I appreciate the note that my intervention was effective in your case. That was my intention for starting this site too, to act where I could as an advocate and quickly escalate where I saw appropriate, or solve directly where possible. Ideally solve in a way that helps others not come into the trouble in the first place. But I, (and others I expect) definitely do not want to feel publicly pressured into doing so where I do not think it would be effective.

I came into Victron as an end-user with issues, then became a victron installer/distributor with issues, to now someone at Victron empowered to identify and help fix issues, but I too have only a limited access to the resources of the company. Through that 10 year journey I've got my own sense of what it takes at certain times for certain kinds of problems to get the result. Indeed, sometimes a phone call direct to the CEO is the right move, but for others, 100 different phone calls -> to 10 different dealers -> to 1 sales manager is the more effective trigger.

markus avatar image
markus answered ·


Thank you and all the others here for putting the energy into that.

And there is now some background action going on, with regards to the problem. To be fair, this problem is a locally limited one and maybe therefore not so easy to understand for people with different "electricity billing culture"

I now hope, there will be good news for us soon.

In the meantime, until there is an official solution for that, there would be a method to control the Multis power with NodeRED:

Look at this:


I am going to search for a way to create a control logic in NodeRED to distribute the power evenly over all Multis in a three phase system. Maybe with some help of @Mark, it will not going to take too long, we will see.

Maybe some others will be even faster... ;o)

Thanks again, best Regards


2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

I have created a working proof of concept. I have to admit, I am not a good programmer.

(I am no programmer at all ;o)

There is of course room for improvements. It does work, the regulation is a little bit slower than normal ESS mode and a bit less exact. But for a proof of concept, I am quite satisfied:




This is the "code" of the logic function node:

var Grid_Power = flow.get('Grid_Power') || 0;

var Grid_Setpoint = flow.get('Grid_Setpoint') || 0;

var Phase_Power = flow.get('Phase_Power') || 0;

if (Grid_Power > Grid_Setpoint) {

Phase_Power += -20;

} else {

Phase_Power += 20;


if (Phase_Power > 2500) {

Phase_Power = 2500;


if (Phase_Power < -2500) {

Phase_Power = -2500;


msg.payload = Phase_Power;


return msg;

ESS has to be set to "external control" to have the Multis follow the control logic.

Even grid export of excess DC PV does work with this. I am not exactly sure why, but it does.

Best Regards,


flow.jpg (73.1 KiB)
overview.jpg (28.3 KiB)
venusmultis.jpg (27.1 KiB)

This flow can be imported to NodeRED (unzip first) (1.5 KiB)

PS.: use at own risk, this is no official solution. Just my DIY thinkering

Further discussions about this should be held in Modification Space.

This is fantastic.

Thanks for noticing

I will try it out a little later, i am only a litte afraid to change it to external control mode. Doing something wrong is dangerous. I have to read the manual. But interesting thing with the NodeRED. Recently some of my pupils did a project with NodeRed, i didn't know that we can use it with Victron. I will read it by interest, but i hope that we will get an additional setting in the ESS menu for symmetrical invert + symmetrical charge

best regards.

guys, you have to thank Markus who has the "contact" to Victron and understands our problem!!

thank you Markus for your time on the phone and helping me to implement the prototype via node-Red.

I made now a small change to the calculation algorithm, and it works for now very well. I will observe it the next days.

your function with some changes:

var Grid_Power = flow.get('Grid_Power') || 0;
var Grid_Setpoint = flow.get('Grid_Setpoint') || 0;
var Phase_Power = flow.get('Phase_Power') || 0;

if (Math.abs(Grid_Power) > Math.abs(Grid_Setpoint))

if (Phase_Power > 2500) {
Phase_Power = 2500;

if (Phase_Power < -2500) {
Phase_Power = -2500;

msg.payload = Phase_Power;

return msg;

1616010225721.png (68.6 KiB)

it looks now, as i got a Victron system that is worth 3 times more than the system i had before :-)

hopefully the update comes, but as everyone sees, some rows of code is all what it needs to triple the worthiness of the system ...

for now, it is working like it should:



1616010847877.png (33.9 KiB)
1616010885153.png (43.2 KiB)

Perhaps we should keep a low profile on "work-around solutions".
If a work-around solution solves the problem temporarily, it lowers the priority (if any) for a real and permanent solution.

I haven't tried the node-red way, but for that I would need a node-red version of the firmware right?
And I would need to set external control (mode 3) for ESS?
Then I would loose all possibilities to change settings or set charge timers or set limitations on charging/discharging, right?

Question: Does the node-red script also solve charging? Today I had an excess of 1000W from panels, but charging was only at 85%, since one phase had a heater going.

Below, blue charging battery, green exporting to grid, red importing.
At 18.00 we boiled potatoes, and the dishwasher was running... almost full battery and 7.2kW of available power, and had to buy electricity

1616013985366.png (44.3 KiB)

Yes, i dont want to reduce priority and provide a work-around. This WA is not suitable for normal customers, too dangerous to put something wrong.

But it is a Proof-of-Concept aiming two things:

1. Showing how many rows of code need to be implemented by the professional programmer.

2. Its a kind of early field test, awaiting problems, that i can report to Markus, who will be in direct contact to the programmer.

Yes, with this WA you loose all your ESS functionalities, because you need to change to external control.

Yes, it controlls to invert symmetrical and to charge symmetrical. Charging symmetrical is also very important as you just showed us, if you have an AC solarproduction e.g. by Solaredge inverter on on phase, e.g. 4.6kW - you only have the power of around 35A*50V to put it into the battery. With symmetrical charge, we triple the system load power.


- Change to VenusOS large. Needs update via USB stick. All old settings stay, you dont have to do the configuration of your system parameters again. The update took around 5min and worked. It needs a VenusGX newer than HQ1842, which is year 18, week 42. Otherwise, it is getting very difficult (need to change partition tables, etc.)

- Download from: and follow installation settings for node-red.

- Open node-red via webbrowser.

- Import the prototype flow.

- Delete all the blue Victron nodes and make them new, otherwise the copy-pase doesn't work.

- Deploy the programm and inject the starting parameter, by pushing with the mouse on the injection nodes.

- Change to external controll on the remote console

All at your own risk and observer the system behaviour very carefully.

For the programmer: -->
Here you see the "symmetrical" charge, as our "new" 3 phase system should behave
(tripeling the charge power of the actual system)

In the prototype it works:



img-9914.jpg (150.0 KiB)
img-9915.png (518.2 KiB)
img-9912.png (293.4 KiB)

This flow will discharge the batteries until some external system disables the battery.

The flow must include a cut-off SoC (disable discharge) node too, like ESS had. "Stop at SoC xx%"

I tried the flow, and it works, but I will not dare to run it unattended without discharge stop at a percentage

An alternative flow could be to alter the "Grid set point", then the ESS mode 2 features would still work. (It wouldn't be "even phase distribution", but it would result in ZERO bill too

Yes. It is also my concern that the discharge doesn't stop, but yesterday night my battery was still not low enough to observe the behaviour and during sleeping i changed to ESS. In my case i have an external BMS via CAN bus connected which should than turn off the Multiplus. On the other side, this additional implementation would't be a problem.
I will let it as it is and will look how it bahaves when the battery is full and when it is empty.

On the other side, the lower voltage for stopping discharge is programmed not in the Venus GX, i think this is configured directly via VE-Config, isnt it. I am not sure. But of course the SOC node is important, if someone will not discharge always to 0 percent.

Without implementing extra logic, the discharge should stop, when the Voltage values set in VE.Configure under "Inverter" are met.

Hi magpern, just wanted to tidy up and clean my old posts, which i did, but unfortunately i took the wrong one - with some of your answers.

By the way. My solution works now very fine --> with your proposed conrol algorithm + disable/enable charger/inverter by SOC or I used my BMS data.

For re-use: high RISK, change system to get your actual SOC from your source.

Look at the video, works also with very fluctuating production like these days.



You can change the flow to refresh all 2sec. better than every 3sec.


MP_Power_Total = MP_Power1+MP_Power2+MP_Power3;
msg.payload = Number(Phase_Power);
return msg;



if (DCL==0||SOC<=Min_SOC){Inverter = 1;}
else {Inverter = 0;}
msg.payload = Inverter;
return msg;


if (CCL==0||SOC>=Max_SOC){Charger = 1;}
else {Charger = 0;}
msg.payload = Charger;
return msg;

just added the flow again:


1616155953370.png (42.9 KiB)
1616155988190.png (46.5 KiB) (614 B) (4.8 KiB)

That explains why I couldn't find things in the thread!

Wow! This is fantastic! I tried to do some flows myself, but failed. In debug mine worked, but in real life it did not. Was just a few seconds from blowing my main fuses!

I will try this out!

Unfortunately I don't have a BMS that can send DCL/CCL (yet). And the BMS (ChargeryBMS) has a python plugin to the venusOS which I can alter to send DCL/CCL, but the plugin does not work on v2.70-large. But that is another problem!

Oh, i used ChargeryBMS before i changed to REC-BMS. I changed because i couldn't get the Python plugin running- i tried it some days. The Rec-BMS is realy satisfying, i compared all and for me it is the safest one existing.

You just need to look at the CHARGER/INVERTER node, there you have to set your specific "SECURITY" parameter.

For example, you can take pack-voltage, which i think is more accurate than SOC form VE-Bus node to switch on/off inverter & charger abilities.

For me, it is easy to experiement because i have 60kWh battery, my small 3xMP2 are like a drop on the hot stone, when they give full power.

I have a 28kWh battery, so I can get alot of power too.
Problem was, PV produced 10500W, and victrons exporting 7.2kW... I have a 20A fuse (max 13800W). Exporting 17000W on a 13800W fuse.... only seconds

I think you just saved a node, not the entire flow - could you check

added it to the original post: flow3

Fantastic! For the first time ever, I can charge my car and my house battery at the same time!
(I had to alter the flow a little, since I don't have the DCL/CCL.)


1616159374133.png (45.1 KiB)
Show more comments

just came below my set SOC and i deleted the SOC thing, for me the BMS controlls it with the DCL.

If you use SOC or packVoltage or whatever you need to give a kind of comeBack Threshhold otherwise it will switch on/off when battery is full/empty.

I dont need it because i go with DCL / SCL

I've been using you flow for over 2 month now, and it works flawlessly. It makes the 3 victron inverters work as ONE 3-phase unit, with even distribution. Electricity bill is almost zero. 11kWh was imported in April, but I guess it is because victron has the hardcoded slow change of inverter output. The script reacts immediately, but inverter is slow to change. (which is weird, since the sun can shine and covered by clouds in one second, making the PV go from 17kW to 2kW in 0.5 sec, but victron needs to ramp down a few watts per second???)

My node-red knowledge is very limited, and all I do turn up in failure.

Would it be to much to ask you to alter the script to include a active DVCC adjustment. Like a poor-man's BMS?

If SoC reached 80% reduce to 50A charge, 90% reduce to 20A, 95% reduce to 10A, at 97% reduce to 5A (and if from 97 to 95 change to 10A etc)
(or voltage if SoC is not measured)

It will probably take you 10 minutes, me hours...

Hi Wolfgang,
in your video sequence I observed that your remote console updates grid and AC-out values in a 1 second intervall. On mine I see only an update every 3 seconds. Is there an easy way to modify that behaviour?

Hi Markus,

I tried also already some similar tests on setpoint controlled by node red.
In all my tests however I struggled that setpoints larger than 1.600W were simply ignored by my Multiplus-II devices.

It seems that for that issue (see that post) Victron staff provided a fix for a single user. Unfortunately neither the user nor Victron shared information, what firmware version should fix the problem.

So be prepared that Multiplus-II devices might show some obscure behaviour.

Hi Thomas,

I have MP2 units and can go full power. I am on FW 481.


FW 474 and setpoint to max. is working.

mvader (Victron Energy) avatar image
mvader (Victron Energy) answered ·

Hey all, just a note: your shout for attention was seen for sure. Thanks all for raising it. We’ll be looking at this. Can’t promise when; its not something that one can look at just the odd afternoon to fix: needs some real time.

2 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Thank you for your understanding! Where can we send you a bottle of wine to thank you for giving us hope and your attention!

Hahaha no need for that, don’t worry. Have a good night!

mvader (Victron Energy) avatar image mvader (Victron Energy) ♦♦ mvader (Victron Energy) ♦♦ ·

Ps dont forget the thanks to Guy!

Start a go-fund-me page for whiskey!

Thank you!

If you need some use-cases I am happy to provide a few. It is not just discharging that is a 3-phase problem, charging as well.

I have studied DBus messages for the Hub4 for many scenarios and I have many suggestions.

"Even phase distribution"
"Assisted phase distribution"

Do a shout out if use-case help is wanted!

Hi, thank you very very much for paying attention! We will hope the best!

This is great news, can't wait for this improvement to be available should completely remove my importing of power!

Hi @mvader any news on this issue? Is this change request still on the to-do list?

kind regards,