ESS External Control not working - Mode 3

, ,

Hello Victron friends,

I recently completed the hardware for my DIY project and am now focusing on configuration and control.
My system includes:

  • Cerbo GX v3.42 (small image)
  • MP2 48/5000 v552
  • DIY 16kWh battery with JK-BMS

I have successfully configured the ESS Assistant, and Mode 1 is working well. However, I’m having trouble getting Mode 3 to operate correctly.

I followed the guide found here: Victron ESS Modes.

Here are my current settings:

  • com.victronenergy.settings/Settings/CGwacs/Hub4Mode is set to 3 (shown as External Control in VRM and the Cerbo).
  • com.victronenergy.vebus.ttyS4/Hub4/DisableCharge is set to 0.
  • com.victronenergy.vebus.ttyS4/Hub4/DisableFeedIn is set to 0.
  • com.victronenergy.vebus.ttyS4/Hub4/L1/AcPowerSetpoint is set to 1000.

The system ramps up to the power setpoint for a few seconds but then idles, repeating this ramp-up and idle cycle. There are no errors or alarms displayed in VRM or on the Cerbo.

Am I missing something? Why isn’t the AcPowerSetpoint being honored?

Thank you for your help!

I don’t change any of the settings. Using node-red I just change the set point to what I want and it works fine.

How are you changing the settings?

Via modbus (tried mqtt also, same effect)
I do not have the node-red image currently.
It is needed for external control?

Given that your setup, mode 2 should let you do what you want. What is doing the calculations? A pi? Where is it getting data from to decide what to do?

Just change the set point from the pi for example and that should achieve what you want.

It is not linked to any control algorithm just yet. Currently I am just trying to gain control. I am writing to modbus tcp via Home Assistant and can see the values being updated to my values in dbus-spy.

In mode 2 I believe the Victron control loop would interfere with my grid setpoint?

It does override, but only for things that for instance protect your battery. I just change the set point and retain full control. It is only overridden for example when the battery demands charge because it is too low. Or the battery is too full. I have all the other stuff such as charging schedule turned off and that is effectively implemented by my code. You probably want to retain the protections unless you are super careful and have a robust test framework backing up your code!

a) Grid power setpoint - Modbus-TCP register 2700

I just change this every 5 seconds based on my calculations. It is the same as changing the set point in the remote console interface.

You can go very complex in the node-red interface: 100s of lines of code in the function blocks. I essentially implemented the dynamic ESS before victron released theirs. It’s still more accurate for my use case and has other refinements to ensure efficient use of the charger.

Thank you, it works now using Mode 2 so that is ok.
I am pretty sure Mode 3 is broken….

Hi,

when using External Control (Mode 3) “com.victronenergy.vebus.ttyS4/Hub4/L1/AcPowerSetpoint” has to be rewritten in intervals. Otherwise the Multiplus goes into Passthru mode.
The timeout is 60 seconds for ESS assistant and 10 seconds for (deprecated) Hub4 assistant.

Regards,
Frank

1 Like

Hey Frank,

Is there another setting to write to for the ESS Assistant (60s timeout) ?

Gr,
Thijs

No, it’s the same dbus path. I’m pretty sure that more than 99% of all users have the ESS assistant installed on their Multis. The info about the Hub4 assistant was just a remark.