question

erichabg avatar image
erichabg asked

How to control charge current of Multiplus with node-red on Cerbo GX

For some years I have controled my Multiplus (old Version not II) with a raspberry pi via two DAC and the assistants for "Charge current control" and "Input current limit control".

Since now an extension of the solar plant took place, I wanted to use a Cerbo GX instead of the Raspberry Pi and do without the DA converters but regulate this purely via software. More precisely, by means of Node-red on the Cerbo GX.

But unfortunately I miss the possibility to regulate the charging current (of the Multiplus charger).

I have installed the "large" einstein- Firmware (V2.82) on the Cerbo GX and I have enabled node-red and I'm using the node-red-contrib-victron node.
Devices are: Cerbo GX, Multiplus 24/3000, BMV-700, MPPT250/60, MPPT 75/15.

The AC charger node reports "There are no ac charger services available. Please check that a ac charger is connected or try a different node." The "multi control" node has no input for charger settings too.

Question now is: How can I control the Multiplus charge limit with node-red?

Multiplus 24/3000/70-16 (Type Id 2612) FW is 209

Regards

Erich

chargerNode-RED
3 comments
2 |3000

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

jw1971 avatar image jw1971 commented ·
I do this by just reducing the AC input current limit on the multiplus to reduce the charger output. The downside is this also reduces the AC input for AC loads causing higher inverter loads.


I’ve not found a way to tell the system to prioritize the MPPT over the Multi and keep DVCC active and everything properly connected. .


0 Likes 0 ·
shaneyake avatar image shaneyake jw1971 commented ·
If you install the large firmware, you can use NodeRed to control the ESS setpoint. If you use battery power as your control input instead of grid power and set a limit of 0W, the system will hold the battery at 0W till the grid is at 0W and the send all excess into the battery, once you are 5% above minimum SOC then you go back to normal ESS.


Setting low input current limit while using ESS can cause unintended/erratic behavior of the system, just FYI.

0 Likes 0 ·
tom-pb avatar image tom-pb shaneyake commented ·
Hi Shane,

i cannot find the setting in nodered to do this. I have a ESS system setting node but that gives me 12 valuetypes to choose from. I would like to either give back or take from the grid on command. Do you have an example of this for me? Would be greatly appreciated!

0 Likes 0 ·
15 Answers
mrhappy avatar image
mrhappy answered ·

Hi Erich.

I have venus large with node-red on a Raspberry Pi, and I use modbus to control the charge current on my Multiplus-II. I believe it could be done the same way in your system, with your particular IP address of course:

screenshot-2022-04-07-182531.pngscreenshot-2022-04-07-182524.png


Hope you get it working,

MrHappy


2 |3000

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

erichabg avatar image
erichabg answered ·

MrHappy you make me happy! :-)

Thank you for this good infos!

I will try it at once!

Thanks!

Erich


2 |3000

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

erichabg avatar image
erichabg answered ·

Hello MrHappy!

I see that there are many available modbus nodes?

Which of them are you using? node-red-contrib-modbus ?


2 |3000

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

erichabg avatar image
erichabg answered ·

Great! It works now! I have used the node-red-contrib-modbus node!


2 |3000

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

mrhappy avatar image
mrhappy answered ·

Wonderful! That is the one I am using, yes.

Glad I could help!


/MrHappy

2 |3000

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

erichabg avatar image
erichabg answered ·

Rejoiced too soon! As I have discovered, this only works when DVCC is active and then, unfortunately, the solar controller is also regulated down. Just that I do not want. I want to charge only from AC when it is absolutely necessary. If I set the Multiplus to "Invert Only", then unfortunately Powerassist no longer works.

I am at a loss.

2 |3000

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

Alexander Kunz avatar image
Alexander Kunz answered ·

Hi,

do this with Node-Red in this way:

bildschirmfoto-2022-04-09-um-160309.pngThis changes the DVCC to Maximum charge current to 0 and the bat will only charged from the MPPT.

The VRM shows ESS #6: User configured a charge limit of zero


Hope this is what are you looking for.

Samosir



7 comments
2 |3000

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

shaneyake avatar image shaneyake commented ·
This isn't what should happen. If DVCC max current is set to 0, it should stop charging completely. Both MPPTs and Inverter. There is something wrong with your system.
0 Likes 0 ·
Alexander Kunz avatar image Alexander Kunz shaneyake commented ·

I haven't seen this as wrong until now. The Multi does not charge the battery. Could you give me a tip where I should look for the error?

0 Likes 0 ·
shaneyake avatar image shaneyake Alexander Kunz commented ·

First thing I would check is that there is coms between MPPT and GX. Make sure that is working. Then update the firmware on GX and MPPT to latest and see if that fixes it. There isn't really any erros, it is more that your mppts aren't following the DVCC commands. They should say External control.

You are using a battery that supports DVCC?

0 Likes 0 ·
Alexander Kunz avatar image Alexander Kunz shaneyake commented ·

There is a functional communication between the Gx and the Mppt (Ve.can) and its responding with External.

The battery are an pylontech stack and the Mppt is following the DVCC eg. if the pylontech reduces the carge current above a SOC of 95%.

Looks right for me.

0 Likes 0 ·
shaneyake avatar image shaneyake Alexander Kunz commented ·

That's good that it is working. What GX firmware are you running?
I found in an older version that setting Max current to 0, didn't stop charging. It is fixed in the latest versions.

0 Likes 0 ·
Alexander Kunz avatar image Alexander Kunz shaneyake commented ·

V2.82-large-30, the latest from the large versions. So this is a litle behind the versions without Node-Red.

If I disable the DC feedin excess option, the Mppt follows the max current setting.

0 Likes 0 ·
shaneyake avatar image shaneyake Alexander Kunz commented ·

Aww, okay. That makes more sense.
Firmware is newer than mine. Won't have old bug but maybe it is back.
I might be missing something or maybe Victron has changed somehting.


Manual does still say :
"e) DVCC maximum system charge current - Modbus-TCP register 2705

-1: No limit. Solar Chargers and the Multi will charge to their full capacity or individual configurd limits.

Any positive number: Maximum combined current in Ampere for battery charging. This limits the solar chargers and the multi, and takes loads into account. Solar chargers take priority over the Multi."


So based on this it should limit both.


0 Likes 0 ·
shaneyake avatar image
shaneyake answered ·

There isn't really a command to limit charge on the Multiplus but if you run ESS in Mode 3 then it won't charge unless you tell it to.
If you have a grid meter then you need to pass that data through in NodeRed from Meter to inverter. Then to charge you simply set the grid set point to 3000W if you want to charge at 3kw and the rest of the time you use the grid meter or set the setpoint to like 0 or 10W if you don't have a grid meter.

2 |3000

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

erichabg avatar image
erichabg answered ·

Unfortunately I need a possibility to enable/disable and control charge power of the MP without using ESS. Up to now I used a DAC controled by an raspberry pi and the charge control assistant on the MP that controls the charge current with the voltage on T-Sense. Now I have buyed a Cerbo GX and expected to do that without additional components. Pity that this is apparently not possible.
I now have the two relays from the Cerbo connected to AUX and T-Sense from the MP, controlling IgnoreAC and on/off of the charger (with the appropriate assistans). A good technical solution looks different. :-(

6 comments
2 |3000

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

mrhappy avatar image mrhappy commented ·

Hmm... I never thought it would be limited that way. I don't use ESS but have built my own ESS-like system in Node-Red. Instead of grid feed-in or MPPT charge limitig I direct the power into mining rigs to make use of the excess.

I hope you find a good solution!


MrHappy

0 Likes 0 ·
kim-sandberg avatar image kim-sandberg commented ·

I need a similar setup as I can't use ESS unless its 3-phase. Currently I don't want to setup that due to cost.

I'm currently using Node-Red for controlling the multiplus charging. At the moment I'm only limiting the input current with node-red but with power assist enabled the minimum setting is quite high.
My AC coupled solar panels on AC input seldom produce that much power.

As it seems this cant be done with node-red directly I did order a DAC for raspi to be able to limit the charging power and need to do some logic around it.

Any chance you could share some of the logic you used with DAC & raspberry pi?

0 Likes 0 ·
shaneyake avatar image shaneyake kim-sandberg commented ·

Can you explain why you can't use ESS? What are the rules exactly you are trying to comply with?

Input current limit should really not be used in fixed installations best to just set it to AC input actual current limit.

If you have the ESS assistant installed, you will have full control over the inverter via NodeRed if you set ESS to External control (Mode 3).

I am assuming you aren't using ESS and simply disconnected the inverter from grid to run loads and then rejoining when battery is low. You can do this with ESS. Just change inverter switch position from On to Inverter Only via NodeRed when you want to disconnect. Then when you want to charge set Inverter to On and disable Feed-In via NodeRed. The inverter will then connect to grid but not output any power, you can then use the grid setpoint to control how much power must be used by loads+Charger, this can be controlled in steps of 10W.

0 Likes 0 ·
Show more comments
gregoryx avatar image
gregoryx answered ·

Butting in here NOT with an answer... but wondering if what kwindrem is doing with GuiMods where the Multiplus can be switched to "Invert Only" might be achievable through NodeRED?

(I haven't dove into MQTT or NodeRed / Modbus with Victron yet, but lurking and reading.)

cerbo-guimods-multiplus-control.jpg


2 comments
2 |3000

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

shaneyake avatar image shaneyake commented ·
Yes, it is called "switch position" in the V.E BUS node in NodeRed, you can do all 4 options.


On

Inverter only

Charger only

Off

0 Likes 0 ·
kim-sandberg avatar image kim-sandberg commented ·
Without ESS assistant you can change that switch mode. Also you can set the input current limit.
0 Likes 0 ·
nevller avatar image
nevller answered ·

Up. We need an option to set the charge current without ESS programmatically

2 |3000

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

raphael303 avatar image
raphael303 answered ·

Does anyone have an idea how to limit discharge current, if the max-discharge is set by the BMS? I have tried via write mqtt, but the BMS overwrites it immediately.

I have found an option in MQTT "userdischargelimit" value 0. Tried to write 1, 100, doesn't budge.

It's kind of the same problem I suppose?


1 comment
2 |3000

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

hominidae avatar image hominidae commented ·

did you just use the raw digit/number vaue or {"value": <your-desired-value>} as the payload in the topic...also you did use the W/<topic> to write, didn't you?

0 Likes 0 ·
mr-manuel avatar image
mr-manuel answered ·

I also searched long how to set the "ESS -> Limit charge power" through Node-RED, but found no node. The only solution I found is through MQTT:

To get the value subscribe to

N/{VRM-ID}/settings/0/Settings/CGwacs/MaxChargePower

To set the value publish to

W/{VRM-ID}/settings/0/Settings/CGwacs/MaxChargePower


ess-limit-charge-power.png

@Victron: Could you please add this option in the "ESS System Settings" Node?


1 comment
2 |3000

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

mr-manuel avatar image mr-manuel commented ·

I added it and its available since version v1.4.26 https://github.com/victronenergy/node-red-contrib-victron/releases/tag/v1.4.26

2 Likes 2 ·
bernhards avatar image
bernhards answered ·

I am looking for an option in Node Red/MQTT/Modbus, to limit the current or completely disable the loading of the battery with an Multiplus2 in ESS mode. The target is to load the battery only with MPPT if the solar forecast with http://forecast.solar/ says, that's there will be enough sun for today. So limiting 'DVCC-Current Limit' is not an option as it will limit the MPPTs ä, too.

Looks Like there is still no solution from @victron - am I right?

2 |3000

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

ndesseauve avatar image
ndesseauve answered ·

I did not found a native solution, so I use a simple python script to set the value directly on dbus.

The script can be called by node-red exec node with the correct rights :

-rwxr-xr-- 1 root nodered 1926 Feb 10 18:12 change_charge_current.py

Use at your own risk, the script does not check the return value of the first call.

change_charge_current.zip


2 |3000

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