Multi RS Solar – How to control “Maximum feed-in” limit via Node-RED

Hi everyone,

I have one Multi RS Solar on a 3-phase grid connection.

I’m trying to control the exact “Maximum feed-in” limit that is shown in VictronConnect (see screenshot below). This is the only setting that behaves exactly the way I want:

  • Keep battery charged
  • Throttle the MPPTs when the battery is full
  • Supply power to the loads on AC-in
  • Keep feed-in around zero (or completely zero when energy prices are negative)

I have already tried:

  • Every available Victron node in Node-RED
  • Writing to /Settings/CGwacs/MaxFeedInPower, /Settings/CGwacs/DisableFeedIn, /Settings/CGwacs/AcPowerSetpoint, etc.
  • Used dbus-spy while changing the value in VictronConnect, but I cannot find the exact path/value that is being written.

When I set this value to 0 W in VictronConnect, the system does exactly what I need. I only want to change this value dynamically via Node-RED (for example to 0 W when electricity prices go negative).

Does anyone know the correct way that actually writes to this exact setting?

System info:

  • Venus OS: 3.80~11
  • Multi RS Solar firmware: 1.29
  • Grid meter: VM-3P75CT (CAN connected)

That value, when it’s modified, is triggering a direct write of an internal register of Multi RS.
That value is stored into the non-volatile memory (EEPROM) of the Multi RS. Writing it repeatedly it will wear out the non-volatile memory.
Although, a base line for microcontrollers EEPROM write count is about 100k write cycles per cell and supposing you will write that value 10 times a day, the first failure will be in about 25 years… Or soon. :smile:

1 Like

Thanks for your information i’m not going to write that much on that register. In 2027 the register will be kept at 0 because of changes in regulations in the Netherlands.

But by pointing me to registers and remembering a topic you told about writing in those registers I got it working :grinning_face_with_smiling_eyes: and much help from Gemini. I’m now able to set this register with node-red.

Thanks a lot for pointing me in the right direction.

1 Like

Glad that you sorted it. :+1:
Make sure that the flow is not abusing of that write.

I am curious, which is the register? By any chance 0xD09D?

it is register 0xD08E.

Right… 0xD08E, VE_REG_MULTIC_ACIN1_FEEDIN_POWER_LIMIT
Don’t know why I’ve thought of 0xD09D, VE_REG_MULTIC_MAX_FEEDIN_POWER

Wonder from where Gemini found out these, quite new registers, implemented only on the latest Multi RS firmware versions. :wink:

Gemini told me to go to “spymode” using “candump” changing the value in victron connect app and look what’s coming on the canbus.

To verify I changed the value again in victron connect. After that tryed to write 16 or 32 bit both didn’t change the value. Only when using cansend it changed the value.

Ahaaa… So not Gemini, you’ve done the “hardwork”, aka spywork. :smile:

It’s a signed 32 bit value.

You can use vreg.

vreg -c socketcan:can0 -n 0x40 -s 0xD08E sn32:-100

0x40 is the address of Multi RS, probably the same in your system.
And sn32:-100, it’s sending value -100 as signed 32 bit - you can put here your value instead of -100.

Nice :smiling_face_with_sunglasses: got it working that way with vreg -c socketcan:vecan1 -n 0x41 -s 0xD08E sn32:0
Somehow it’s on 0x41