Multiplus keeps changing the output frequency despite ignoring the AC input

Dear people with blue hearts,

I’m working with the following set-up:

  • 3 * multiplus 10 kVA
  • 30 kWh lithium battery
  • 2 mppt charge controllers
  • 1 fronius symo 3.0-3M

Programmed :

  • ESS
  • Ignore AC-input by using General flag.

My question:

We have built a system in a location with a very poor grid connection. The grid values are very unstable and fluctuate wildly. Therefore we have decided to ignore the AC input as much as possible to protect the appliances and the inverters.

Despite the fact that I programmed the system to ignore AC input, and the system disconnects as shown in the photo above, the Victron system still seems to be attempting to synchronize to the grid. I regularly see the frequency jump above 53.1 Hz.

Is there a way to prevent the Victron from synchronizing with the grid values, without using an external relay? Due to the changing frequencies the fronius inverter keeps shutting off and I would like to prevent that.

I’m curious to know your suggestions!

Hey JanZonBatterij!

Not sure why this happens, I ran into a similar issue a while ago.
In the end, I noticed that when I switched to “inverter only”, the AC input is indeed fully ignored and the output frequency became stable.
Why the “ignore AC-input” function does not have the same result, I’m not sure. Perhaps a bug on Victron’s side.

You can use node red to program the system to switch to inverter only mode instead of using the “Ignore AC-input” function on the Multiplus.

Let me know if that works for you.

Cheers!

As long as AC IN is connected (but ignored) the MultiPlus tries to synchronize to be able to connect as fast as possible.
That’s not a bug it’s a feature.
You have to disconnect the input or switch to “inverter-only” as gooseshop wrote to stop that behavior.

The following Node-RED flow will connect the inverter to the grid when the SOC drops below 50%, keeping the batteries charged, and will disconnect from the grid when the SOC rises above 60% again.

If you then set your ESS to maintain the SOC at 55%, you use solar as much as possible while keeping the batteries charged with the grid when they get too low.

You can achieve the same result using the general flag and programmable relay assistants in VEConfig, save for the problem mentioned above. Additionally, changing the parameters in Node-RED can be done on the fly and online, while changing the assistants requires the inverter to restart.

Hope this helps!

[
    {
        "id": "0549d5c71e3229fa",
        "type": "tab",
        "label": "SOC-based Ignore AC-In",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "cfc276ba408d239a",
        "type": "victron-output-vebus",
        "z": "0549d5c71e3229fa",
        "service": "com.victronenergy.vebus/276",
        "path": "/Mode",
        "serviceObj": {
            "service": "com.victronenergy.vebus/276",
            "name": "Quattro 24/8000/200-2x100"
        },
        "pathObj": {
            "path": "/Mode",
            "type": "enum",
            "name": "Switch Position",
            "enum": {
                "1": "Charger Only",
                "2": "Inverter Only",
                "3": "On",
                "4": "Off"
            },
            "mode": "both"
        },
        "initial": 2,
        "name": "",
        "onlyChanges": false,
        "x": 1070,
        "y": 440,
        "wires": []
    },
    {
        "id": "1a8c7182eca3314e",
        "type": "victron-input-system",
        "z": "0549d5c71e3229fa",
        "service": "com.victronenergy.system/0",
        "path": "/Dc/Battery/Soc",
        "serviceObj": {
            "service": "com.victronenergy.system/0",
            "name": "Venus system"
        },
        "pathObj": {
            "path": "/Dc/Battery/Soc",
            "type": "float",
            "name": "Battery State of Charge (%)"
        },
        "name": "",
        "onlyChanges": true,
        "roundValues": "0",
        "x": 310,
        "y": 440,
        "wires": [
            [
                "daf40684e6a11c5e"
            ]
        ]
    },
    {
        "id": "8d42d6b2f7d32f05",
        "type": "function",
        "z": "0549d5c71e3229fa",
        "name": "Inverter Only/On ",
        "func": "let soc = flow.get('soc')\nlet mppt_power = flow.get('mppt_power')\nlet ac_pv_power = flow.get('ac_pv_power')\n\nif (soc < 50) {\n    // switch inverter switch to \"on\"\n    // effectively disables AC pv\n    // enabling grid charging\n    msg.payload = 3;\n    return msg;\n} else if (soc >= 60) {\n    // switch inverter switch to \"inverter only\"\n    // effectively enables AC pv\n    // disables grid charging\n    msg.payload = 2;\n    return msg;\n}",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 780,
        "y": 440,
        "wires": [
            [
                "cfc276ba408d239a"
            ]
        ]
    },
    {
        "id": "daf40684e6a11c5e",
        "type": "change",
        "z": "0549d5c71e3229fa",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "soc",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 590,
        "y": 440,
        "wires": [
            [
                "8d42d6b2f7d32f05"
            ]
        ]
    }
]

Hi Gooseshop and Matthias Lange,

thanks for your feedback. Thanks for explaining the Victron’s behavior.

I have added the flow to Node red and so far so good! Thanks Gooseshop, great work!

Keep you posted!