BETA: Turn surplus solar into useful work with GX Opportunity Loads


Hi

Will there also be opportunity loads for DC loads?

Hey @askeladd785, oh, I see – I misunderstood. Thanks for pointing that out; we’ll look into it.

Hi @aed, we are currently focusing on AC loads only, but we’re happy to discuss. Do you have any specific use cases in mind for opportunistic DC loads?

It should do that already. If you could give me your system id, I may see if something on your setup / settings is preventing that to happen as it should. (Send you a pm so you don’t have to post that)


I have DC heating elements in the buffer tank which are switched via Node-RED depending on PV surplus.

An integration with My-PV’s water heaters could be interesting. They are suitable for off-grid and grid-connected systems and are also often used with Victron.

They can either be used with an on-off switch (3kW or 9W), or the exact power can be set via Modbus.

The devices also don’t need a separate meter, as they measure and report their own current consumption.

For grid-connected systems it is currently possible to use their meter and then the system uses it to set the power, but for off-grid it’s a pain to “guess” the amount of surplus - until now, hopefully :slight_smile:

I observed the same behavior yesterday:

  • no mppt grid feed in allowed
  • battery full
  • EVCS on auto
  • Opportunity loads enabled

- → the MPPT goes down to 0
→ Then EVCS does not charge

I switched the EVCS to Manual and the MPPT started producing, then switched back to automatic and the EVCS continued charging.

I don’t think it will be possible to get this working on systems that doesn’t feed in.

Edit: It actually works very well now!

The manual section for Shelly Configuration steps is a bit misleading, especially for a Shelly integrator beginner like me.

Current manual states Setup - Devices - Opportunity Load - Switches - Channel xx

But observed configuration path is: Settings - Devices - Pro2PM (or Shelly relay name) - Outputs - Channel xxx

Because the Shelly integration in Opportunity Loads is not really straightforward, quite a bit of checks and enables to do, an update of manual would be highly appreciated.

As a feature request, would be really helpful to have an Opportunity Loads switch status indicator, on the Overview screen.

Oh, yeah that seems like some last minute renamings after the documentation was done. (Switches / Outputs)

Also having the Name of the device beeing “Opportunity Load” (note the missing s) was good intention, but can be easily misstaken to search in the “Opportunity Loads” menu. Should better be “MyDevice” or sth. Indicating that’s a custom name.

Which version of venus are you on? There was a bug, preventing “Zero Feedin” beeing successfully detected on a MultiRS System, fixed in the latest beta.

Currently the logic to “trigger” overcomissioning on consumtion to force unthrottling of solar is set to 99% soc, did your battery reach that already by that time?

Correction on that: it exists upto, including ~33. Will probably be released in the next update.

I have a new solar system going in where I would like to use this new Opportunity Loads feature.

I have a solar hot water panel and also an electrical element in my hot water cylinder so I would like to add a Shelly device to the feed to that element and use the Opportunity Loads feature to control it.

However I would like to be able to configure this opportunity load to only be an option from 3pm to 9pm because I want to give the solar hot water panel most of the day to heat the water and only heat with electricity if it needs topping up nearer end of day when there is still excess solar. So outside this time it would not be an option for the system to activate that load. Would this be possible?

I am on ~33.

I noticed another behavior: Returning home beginning afternoon, the battery is full, Opportunity Loads enabled, all switchable loads are enabled and the ESS is injecting the surplus into the grid. When the EV is connected it starts charging but remains at the min level of 6A whilst continuing injecting around -1kW.

I am wondering if the surplus available to Opportunity Loads is calculated on the overall (PV production - Consumers) or on the injected power at the grid meter?

It’s calculated based on consumption and system-visible solar. Grid would only work in a battery full-situation and neither for zero feedin, nor offgrid systems.

(So, if you have a producer not outlined in your venus solar-figures, that would be unknown)

Another thing that may affect this, depends on your system: You can configure the maximal nominal inverter power OL should target for. I think, this defaults to 80% (OL → Preferences), so if this is reached, the inverters could go above that to feedin, but OL will not increase consumption. (OL will target for base-consumption + controlled loads <= 80% then)

Yes, that could be done with a tiny Node-RED flow. Over here, I have made a example Node-RED flow on how I enable / disable my heating rods based on temperatures - the very same way could be used to do time-based control.

Since SolarSense is available, is it planned to allow configuration of how the maximum available solar power is determined?

Use SolarSense or SOC probing.

Yes, the solar sense integration is under development currently.

The Non-Solar-Sense approach will also be optimized and made smarter to work better.

Looking forward to this. It’s good victron is taking the lead on this problem (central energy management).

Have you considered managing “pilot wire electric heater”.

In france all sold hardwired heater have this 3rd wire, which allow the heater to be configured in 4 modes (off, confort, eco, anti freeze), based on the type of 220v signal on the pilot wire (nothing, normal 220v, only the positive or negative part of the 220v). The heater itself does the power switching

Everybody uses a simple relay with a diode to drive the pilot wire. I have 6 such shelly relays with diode in my house.

The “problem” is that relay open, ie NO 220v, is interpreted by the pilot wire as HEATING, whereas relay closed (and a diode) is interpreted by the pilot wire as anti freeze (which is NO HEATING) .

So the logic is kind of inverted (the shelly relay do not have a normaly open/closed wiring to walk around this)

A simple flag to “invert the logic”, ie turn the controled load ON by switching the relay OFF would do

Happy to provide more details. I have been using python/Home Assisant for years to drive shelly relays to turn heaters on/off based on solar surplus. I would happily move this the the GX.