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

Hi @bobcat, Opportunity Loads turns devices on whenever there is enough surplus PV power available that would otherwise be exported or curtailed.

For example, your future washing machine integration could start a wash cycle when sufficient surplus power is detected. However, OL does not predict future energy production, so it cannot guarantee that a specific goal will be achieved. But: Once started, it can keep a device running for a set duration, regardless of whether surplus power remains available. If that’s what you are after, then you’re all set :slight_smile:

Hey all, I’m really glad this topic has generated so much interest already!

To keep things organized as we move forward, let’s do the following:

  • For general ideas and suggestions, feel free to continue in this thread.
  • For issues and more detailed questions, please open a new Topic and add the opportunity_loads tag to it.

Thanks!

yes, it is really a very interesting topic

i personally don´t need it it as i could export PV - but a friend has a zero-export-limit

but would be really interesting what i am doing wrong i don´t see the menu

Please check your DM’s :wink:

Perfect! Solar powered laundry in my future…

Yes, this is absolutely possible. You can configure a “minimum run time when turned on” - that could be 3h to finish a washingmachine program or sth.

Is it possible to manage the same a Shelly Pro 4PM by Victron Opportunity Loads and by Home Assistant?

I have a water heater with 3 different heating elements (0.5kW , 1.0 kW & 2.0 kW).
Currently I fetch the desired water temperatur (day time 50C, night time 40C) from my gas heating system into Home Assistant. There I implemented a PID controler to switch on 0.5-3.5kW heating depending on the difference between actual temperature and desired temperatur.

I would like to “overheat” the water tank to max 70C with surplus PV.

Maybe a better solution would be if Victorn Opportunity Loads could provide the amount current of free surplus PV, expecte surplus next hour and rest of day to Home Assistant. Home Assistant coud provide a set of sensors (virtual devices) with state and current power. Though Home Assisstant is aware of surplus PV and Victron is aware of manageable loads.

Looking into current weather forecast in Hmaburg/Germany, I will not be able to test next two weeks… no sun and big empty battery…

Hi @BjoernK, interesting use case and nice approach with the different sized heaters!

As Opportunity Loads is designed to operate fully off-grid and without internet connection, it does not integrate PV forecasting, but only act on the current situation.

In your case, I would consider the temperature control you implemented in Home Assistant (HA) as the lower-level control. Opportunity Loads (OL) can then provide the higher-level opportunistic surplus control:

  • HA stays in control as long as the comfort temperature level (40/50C) is not reached
  • As soon as reached, HA offers control to OL.
  • OL can then send power setpoints to HA according to available surplus:
    0, 0.5, 1, 1.5, 2, 2.5, 3 or 3.5 kW
  • When 70C are reached or temperature falls below comfort level, HA lets OL know that there is no opportunity anymore and takes over

This will become possible as soon as we introduce Node-RED integrations for Opportunity Loads. With a bit of luck, it will be there before the weather clears up for you :sun:

but all this only makes sense if you are not allowed to feed energy to the net

there it starts getting interesting, especially with like fronius inverters

Just to heat the water if there is surplus - many easier ways

I heat my boiler with a completely separate direct logic - ESP32 and ESPEasy

No need for Home Assistant or such things

I could heat with 1, 2 or 3 kW - i found out the last year that 1kW is enough

It is very seldom to have one day that much sun, the next nothing

I also had to realize - it doesnt make sense to heat the boiler over 55-60°

Besides the chalc problem - the hotter the boiler is the more loss at night and it brings more heat into the house

It really depends, I would say. Here’s a simplified example:

Heating oil prices in Germany currently stand at around €120 per 100 liters. One liter of heating oil has an energy content of around 10 kWh. So for €120, you get 1,000 kWh. This means that, provided the lost feed-in tariff is less than or equal to €0.12/kWh, it is worth it. New PV systems in Germany currently receive significantly lower feed-in tariffs than that.

And, if you like, there are additional benefits, such as reducing CO2 emissions and supporting the grid by not feeding in while anyone else does.

sorry, you misunderstood

of course it always makes sense to use this energy, i even do it with my electrical heater for hot water

what i wanted to say: in a system where feed-in is allowed that is simple to manage

but when feed-in is forbidden - it needs something like your new task

A friend has this problem - feed-om forbidden - i was already thinking about adding this new small Victron Solar panel to meassure what is possible to get from the sun

I substitute 10ct/kWh gas by PV energy that I am not allowed to feed in. I consume appr. 10 kWh/day for heating water. With my PID controller, at 06:30 the heater uses 3,5kW to heat from 40 C to 50C. The 0.5kW is switched on apr. 60% of the day to keep 50C until 19:00. Than we decrease to 40C. The temperature graph is nearly a flatline 07:00-19:00.
If someone takes a shower, the 3.5kW kicks in again.

In addition to saving gas, I save burner starts and operating hours, tough gas heater maintenance.

My use case is a combination of using excess PV with PID controlling 3 heating elements for one water tank including measurement of water temperature. In my special case I get the temperature via cloud from the gas heater - unfortunately with a delay of around 5 minutes. It took me some time to find the matching “pre-emptive” hysteresis to control the heat-measure-cycle.
Maybe a little complex to start - but a real world use case :wink:

Ah alright, now it’s clear, thanks!

So great. It’S a milestone and brings an essential USP to VictronSystem.
So our idea was that Victron integrate a fully EMS System like SolarMAnager or gridX:
So whit this feature we came nearer to a full EMS Out of the box system.
Do you use Forecast consumption , solar to optimize it ? So that the battery is slowly loaded on forecasts and finished at the afternoon while surplus energy ist used for all other self Consumption (opportunity ) loads?

Opportunity Loads is not a EMS (which would also take grid, prices and night time into account), Opportunity Loads is only acting on momentary values without forecasting or scheduling.

Yet, we have designed the possibility to reduce the amount being charged into the battery as the soc level raises. For example, my system is configured to:

  • Start to allow opportunistic loads when 25% Soc is reached.
  • By that time however, “reserve” 8000W for battery charging, before enabling loads.
  • (Some smaller consumers like a Pool Filter are turned on before the reservation to achieve maximum runtime)
  • This 8000W will be “scaled down” as the soc raises, allowing more budget for the opportunistic loads.

I have made a tiny, very basic “inofficial Reservation cheat sheet” over here, it would give a rough idea how much energy would be reserved for the battery at any soc-level. Not used budget is always going into the battery, so the cheatsheet only indicates “what-if” you could utilize 100% of OL-Budget all the time by controlled loads.

(The forums do not allow to attach xlsx-files, so uploaded that to my own server, if anyone finds that useful: https://static.equinox-solutions.de/share/ReservationCheatSheet.xlsx)

When the solar battery is full the MPPT stops charging. This is how solar systems that’s off grid, and those that run zero feed in works. Then the EVCS ramps down, stop charging the car, and turn to “Waiting for sun” This was the problem in the beginning, when the EVCS came out. But it got fixed after a couple of years. Hopefully it will not be so difficult this time.

I have a generic question.

As I read this comment “GX Opportunity Loads is really designed to work under all conditions of a Victron system”

My question is : is it also working with certain configurations made ? Like EV Charger schedules or EVCS in manual or auto mode ? Or.. what happens when customers have node red automation ?

Or best asked in specific for the EVCS.. which settings you should not touch, use or set to prevent contradicting this BETA function ?

@askeladd785 please let us know your experience after you tried it out.

Hi @EdwinHout, the statement is referencing unmodified systems. When custom modifications are done to a system, e.g. via Node-RED, we can obviously not know if that causes issues with Opportunity Loads algorithm.

For the EVCS, it is to be said that Opportunity Loads uses the Auto mode to control the EVCS. You are still free to use the Manual or Scheduled mode, which as before work independently of the Auto mode.

As I said it doesn’t work. You need to make changes to the EVCS algorithm, so that it regularly try to ramp up the Ah to see if the MPPT follows. Just use the same algorithm that’s built in the EVCS.