17. [en] GX Opportunity Loads
17.1. [en] Introduction
[en] Opportunity Loads increases self-consumption by automatically directing surplus solar energy to flexible AC loads. When the battery is sufficiently charged and PV production exceeds household consumption, the GX device acts as a system-level energy coordinator and activates, adjusts, or disables controllable loads based on the currently available surplus — rather than curtailing production or exporting energy to the grid with little financial benefit.
[en] The feature currently supports two types of controllable devices: Victron EV Charging Stations (EVCS) and Shelly smart relays. These can be used individually or in combination, and are controlled in a coordinated fashion to avoid competing for the same available surplus energy.
[en] Unlike timer- or schedule-based automation, Opportunity Loads reacts continuously to real-time conditions: PV production, battery state, household consumption, and available inverter capacity.
[en] A centralised approach allows surplus energy to be distributed intelligently across multiple devices (e.g. several EV charging stations and Shelly-controlled loads), avoiding the instability that results from independent surplus controllers competing for the same available energy.
[en] Typical use cases include EV charging, water heating, thermal storage, pool pumps, and other non-critical AC loads that can operate flexibly without compromising comfort.
[en] The feature is particularly well-suited to ESS installations, marine and RV systems, remote off-grid installations, and any system with export limitations or low feed-in compensation.
![]() |
17.2. [en] System requirements
[en] GX device
[en] One of the following GX devices is required, running Venus OS v3.80 or newer:
[en] Ekrano GX
[en] Cerbo GX
[en] MultiPlus-II GX
[en] EasySolar-II GX
Nota
[en] Opportunity Loads is only available in the New UI. The Classic UI is not supported.
[en] Inverter/charger system
[en] One of the following inverter/charger platforms is required:
[en] MultiPlus / MultiPlus-II
[en] Quattro / Quattro-II
[en] Multi RS / Multi RS Solar
[en] Multi RS19 / Multi HS19
[en] Battery system
[en] A battery system with one of the following monitoring options is required:
[en] Victron Lynx Smart BMS
[en] Victron VE.Bus BMS
[en] Victron SmartShunt or BMV Smart (via VE.Direct)
[en] Supported third-party BMS (via CAN bus)
[en] Photovoltaic (PV) system
[en] Both AC-coupled and DC-coupled PV systems are supported. Supported PV sources include:
[en] Victron MPPT solar chargers (VE.Direct or VE.Can connected)
[en] Multi RS Solar (in PV inverter mode)
[en] Third-party AC PV inverters monitored via SunSpec (Ethernet) or a Victron energy meter (e.g. VM-3P75CT)
Nota
[en] Monitoring of all PV production is required for correct operation.
[en] Supported load types
[en] Opportunity Loads controls AC loads only. DC loads are not supported.
[en] Victron Energy devices:
[en] EV Charging Station, EV Charging Station NS
[en] EV Charging Station V2, EV Charging Station NS V2
[en] Shelly devices:
[en] Shelly devices (Gen2+ with relay control and energy measurement):
[en] Shelly Plus Plug S
[en] Shelly Plug S MTR Gen3
[en] Shelly Mini 1PM Gen4
[en] Shelly 1PM Gen3/Gen4
[en] Shelly Pro 1PM
[en] Shelly Pro 4PM
Aviso
[en] This is not an exclusive list, more devices are supported. However, those listed are known to work.
[en] Additional devices may be supported in future Venus OS releases.
17.3. [en] Configuration
[en] This chapter describes how to enable and configure Opportunity Loads and controllable devices on a GX device.
17.3.1. [en] Enabling Opportunity Loads
[en] Opportunity Loads can be enabled via the GX device user interface:
[en] Navigate to: Settings → System Setup → Opportunity Loads → Enable
[en] Once enabled, detected devices can be configured as controllable loads, load priorities can be assigned, and device-specific settings become accessible.
17.3.2. [en] Configuring Opportunity Loads Preferences
[en] Navigate to: Settings → System Setup → Opportunity Loads → Preferences | ![]() |
[en] Pause Opportunity Loads if no AC input is connected
[en] When enabled, Opportunity Loads pauses whenever no AC input source is connected. This is useful for backup systems where only essential loads should remain active during grid outages. When disabled (the default), controlled loads are shed as much as possible on AC input loss to support system stability; after approximately one minute, Opportunity Loads may resume if sufficient surplus is available.
[en] Nominal inverter utilisation limit
[en] Defines the maximum continuous power level the inverter/charger should plan for when serving both base loads and controlled loads. The base load is deducted from this value; Opportunity Loads then enables additional loads up to the remaining headroom. AC-PV is always utilised up to 100% regardless of this setting.
[en] This helps avoid inverter overload, maintains headroom for sudden consumption peaks, and improves stability during fluctuating PV conditions. In grid-tied systems, it does not restrict the inverter's ability to export to the grid.
[en] Example: With an 80% limit on a 6,500 W system, the algorithm plans for a maximum of 5.2 kW. At a 2 kW base load, up to 3.2 kW is available for controlled loads. With an additional 4 kW of AC-PV present, up to 7.2 kW becomes available for Opportunity Loads.
[en] Pause Opportunity Loads when Active SoC limit exceeds 85%
[en] Relevant for ESS systems using BatteryLife. When BatteryLife's active SoC limit reaches 85%, Opportunity Loads pauses to give battery charging priority and improve the likelihood of the battery recovering to a healthy SoC. Operation resumes automatically once the active SoC limit drops below 85%. See the ESS Design and Installation Manual, chapter 6.2, for further information on BatteryLife.
17.3.3. [en] Arranging Device Priorities
[en] Navigate to: Settings → System Setup → Opportunity Loads | ![]() |
[en] When multiple controllable loads are configured, priorities determine how surplus energy is distributed. Devices are arranged in a priority list (top = highest), adjustable via the up/down buttons in the Opportunity Loads overview.
[en] Priority relative to the battery
[en] Each load is positioned either above or below the battery in the priority list:
[en] Above the battery: the load may activate as soon as sufficient PV surplus is available, even while the battery is still charging. Suitable for loads that should preferentially consume available solar energy.
[en] Below the battery: the load activates only after battery charging requirements are satisfied and additional surplus remains available.
[en] Priority-Aware Best Fit
[en] If the available surplus is insufficient for the highest-priority load, the system may temporarily activate a smaller lower-priority load instead. Once enough surplus becomes available for the higher-priority load, the system switches preference back — potentially turning off the lower-priority load. This ensures surplus energy is never left unused while still preferring higher-priority loads whenever conditions allow.
[en] Example: A 3,000 W load has higher priority but only 1,200 W surplus is available. A lower-priority 1,000 W load runs temporarily. When surplus rises to 3,000 W, the system switches to the higher-priority load.
[en] Multiple loads can also run simultaneously when sufficient surplus is available. The GX device continuously rebalances active loads as conditions change.
17.3.4. [en] Configuring Battery-related Settings
[en] Navigate to: Settings → System Setup → Opportunity Loads → Battery | ![]() |
[en] Allow additional loads starting at a battery SoC of
[en] Defines the SoC threshold from which lower-priority loads (placed below the battery) may begin using surplus solar energy. Below this threshold, only loads placed above the battery will run; all other available solar is used to charge the battery.
Nota
[en] If PV production exceeds the battery's charging capability, Opportunity Loads may activate lower-priority loads even below the configured SoC threshold. This requires a compatible battery monitor reporting the real-time charge current limit.
[en] Reserve for battery charging
[en] Two reserve power values can be configured — one at the SoC threshold and one at 100% SoC. Between these two points, the reserved charging power is adjusted gradually, giving the battery higher priority at lower SoC levels and making more surplus available for Opportunity Loads as the SoC rises.
[en] Example: Reserve 2,000 W at 80% SoC, and 100 W at 100% SoC. This maintains healthy charging behaviour, ensures the battery reaches full charge regularly, and maximises solar utilisation at high SoC levels.
17.4. [en] EV Charging Stations
[en] Victron EV Charging Stations (EVCS) can be configured as Opportunity Loads and will dynamically adjust their charging power based on available solar surplus.
17.4.1. [en] Requirements
[en] If the EVCS was previously connected via the legacy Modbus TCP method, it must first be migrated to the new MQTT integration before use with Opportunity Loads. See EVCS MQTT migration guide for the required firmware and migration guide.
[en] For Opportunity Loads to take control of a charging session, all of the following conditions must be met:
[en] The EVCS is connected to the GX device via MQTT pairing
[en] Opportunity Loads is enabled
[en] The EVCS is set to Auto mode
[en] An EV is connected and ready for charging
[en] Either Autostart is enabled on the EVCS, or the user has activated Enable charging on the GX device, or pressed Start via the EVCS web interface or VictronConnect
17.4.2. [en] EVCS built-in surplus charging vs. Opportunity Loads
[en] The EVCS has its own built-in surplus charging algorithm that operates independently using metrics from the GX device. Opportunity Loads, by contrast, performs centralised coordination across all configured devices — multiple EVCS units, Shelly loads, and others — preventing independent controllers from competing for the same available energy.
[en] When no GX-controlled algorithm is active (e.g. at night when Opportunity Loads releases control), the EVCS automatically falls back to its own built-in algorithm. In this fallback state, if battery or grid power is permitted in the EVCS surplus charging configuration, charging may start even without available solar surplus. To prevent this, it is recommended to disable the following setting in the EVCS via its web interface or VictronConnect:
[en] Allow battery/grid power for auto mode: Disabled
17.4.3. [en] EVCS configuration
[en] Navigate to: Settings → System Setup → Opportunity Loads → EV Charging Station | ![]() |
[en] Maximum charging power
[en] Limits the maximum power the EVCS may use as a controlled load, even if more surplus is available. This can reserve surplus for lower-priority loads, improve parallel operation with other Opportunity Loads, and reduce load fluctuations in smaller systems.
[en] Remember detected EV phases
[en] Stores the previously detected EV phase configuration (1-, 2-, or 3-phase) and reuses it for subsequent sessions, reducing phase-detection delays and improving charging start-up behaviour. Recommended only when a single EV is regularly connected, or when all EVs using the station share the same phase configuration. Enabling this setting with vehicles of different phase configurations may prevent some vehicles from charging correctly.
17.5. [en] Shelly devices
[en] Supported Shelly devices can be configured as Opportunity Loads to control fixed AC consumers such as water heaters, pumps, or other flexible loads.
Aviso
[en] Installation: Devices connected directly to mains voltage or fixed wiring (e.g. Shelly Pro models) must be installed only by a qualified electrician, in accordance with applicable electrical codes and safety regulations.
Aviso
[en] Operation: All connected devices may switch on or off unexpectedly due to the Opportunity Loads algorithm. Improper installation or use may cause electric shock, fire, injury, or damage.
17.5.1. [en] Configuration steps
[en] Steps to configure a Shelly device as an Opportunity Load:
| ![]() ![]() |
17.5.2. [en] Auto mode and manual overwrite
[en] When a Shelly device is set to Opportunity load, the Switch Pane on the GX device shows a three-state switch (Off / On / Auto). With Auto enabled, the device is controlled automatically based on available surplus, and the On/Off buttons reflect the current state. To override manually, disable Auto and set the desired state with On or Off. | ![]() |
Nota
[en] A Shelly device with Auto disabled will appear as No control in the Opportunity Loads device priorities list.
17.5.3. [en] Shelly Configuration Parameters
[en] Navigate to: Settings → System Setup → Opportunity Loads → Shelly Device | ![]() |
[en] Expected power consumption
[en] The typical power draw of the connected load while active. The GX device uses this value to estimate available surplus capacity, decide when to activate the load, and coordinate parallel operation. For best results, the load should consume close to the configured value when on, and close to 0 W when off.
[en] If the load's consumption varies within a known range, configure the highest expected value. This ensures the load is not switched off prematurely after its minimum run time. Opportunity Loads will refine its estimate during runtime. Avoid loads with strongly unpredictable consumption, as this reduces control accuracy.
[en] Minimum run duration when turned on
[en] The minimum time the load remains active after being switched on. Prevents excessive switching during fluctuating PV production, reduces short operating cycles, and protects connected equipment. Particularly important for loads with compressors, pumps, heating elements, or mechanical switching components.
[en] Minimum rest duration when turned off
[en] The minimum time the load remains off after being switched off. Reduces rapid switching, protects equipment, and stabilises system operation during changing solar conditions.
[en] Recommendation for multiple loads: Configure longer rest durations for lower-priority loads. When solar power decreases, loads are shed starting from the lowest priority. If lower-priority loads use the same rest duration as higher-priority ones, they may become available again too quickly — only to be turned off again shortly afterwards. Staggered rest durations help avoid unnecessary switching.
17.5.4. [en] Recommendation when having multiple controllable devices
[en] For systems with multiple Opportunity Loads, it is recommended to configure longer rest durations for lower-priority loads.
[en] When available solar power decreases, loads are disabled starting with the lowest-priority load. If multiple loads use the same rest duration, a lower-priority load may become available again too quickly, only to be switched off again shortly afterwards when a higher-priority load becomes available again.
[en] Staggered rest durations help avoid unnecessary switching.
17.6. [en] Operation & Monitoring
17.6.1. [en] How the algorithm works
[en] Once configured, operation is fully automatic. The GX device continuously monitors PV production, battery SoC, AC consumption, and configured Opportunity Loads. Based on available surplus and configured priorities, it dynamically activates, adjusts, or disables controlled loads.
[en] The algorithm accounts for AC-coupled and DC-coupled PV, DC-to-AC conversion efficiency, phase balancing, feed-in permissions, and whether the system is grid-connected or off-grid. It processes loads in priority order, applies Priority-Aware Best Fit to avoid wasting surplus, and rebalances active loads automatically as conditions change — for example when cloud cover reduces PV output, a large household load switches on, or battery charging requirements increase.
17.6.2. [en] Behaviour during AC input loss
[en] When the grid or AC generator connection is lost, controlled loads are shed as much as possible to support system stability. After approximately one minute, Opportunity Loads may resume if sufficient surplus is available and system conditions are stable. If Pause Opportunity Loads if no AC input is connected is enabled, loads remain paused until AC input returns.
17.6.3. [en] BatteryLife interaction
[en] In ESS setups using BatteryLife, Opportunity Loads automatically pauses when the active SoC limit reaches 85% (if that preference is enabled) and resumes once the battery has sufficiently charged and BatteryLife lowers the active SoC limit again. This prioritises a full battery charge during periods of poor solar yield.
17.6.4. [en] Daytime control and nighttime release
[en] While PV production is available, Opportunity Loads actively enforces the expected state of controlled devices. If a device is manually switched on externally (e.g. via a Shelly app or physical button) when Opportunity Loads expects it to be off, the system will switch it off again. To take manual control temporarily, disable Auto — Opportunity Loads will release control immediately and not resume until Auto is re-enabled.
[en] During periods without meaningful PV production, Opportunity Loads enters an inactive state and releases control of all devices. This allows devices to follow their own local schedules or configurations overnight — for example, a Shelly-controlled boiler can run a local schedule to reach a target temperature during the night if it was not reached during the day due to poor solar yield.
17.6.5. [en] Battery usage and SoC probing
[en] Opportunity Loads is designed to use surplus solar energy, but brief battery usage can occur — for example when a load cannot be switched off immediately due to its minimum run time, or when PV production drops suddenly. In critical situations (e.g. sudden loss of AC-coupled PV combined with high inverter load), inverter/charger protection mechanisms may enforce immediate load shedding regardless.
[en] SoC probing is used in off-grid and zero-feed-in systems where excess PV cannot be exported. When the battery nears 100% SoC, the system must curtail PV generation, masking the solar array's true output. To determine actual available surplus, Opportunity Loads temporarily allows the battery to discharge to approximately 97% SoC by activating controlled loads. This unthrottles PV, revealing the full available power. The system returns to normal solar-only operation once the SoC decreases.
Aviso
[en] SoC probing is not used in grid-connected systems without feed-in restrictions, where excess PV is exported to the grid and the available surplus is directly measurable via the grid meter.
17.6.6. [en] Manual Override
[en] Opportunity Loads can be manually overridden at any time via the GX device New UI or VRM:
[en] EV Charging Station: switch to manual charging via the Control Pane
[en] Shelly devices: disable Auto mode and control the relay via the Switch Pane
[en] When a manual override is active, the device no longer follows the Opportunity Loads algorithm until automatic control is re-enabled. This allows a load to be operated immediately even when insufficient solar surplus is available.
17.6.7. [en] Monitoring on the GX Device
[en] Configured controllable loads are visible in the Overview page drill-downs alongside other system loads. Tap the AC Loads or Essential Loads tile (the latter appears in some configurations using a grid meter) to see each device's name, current status, and power consumption. | ![]() ![]() |
17.6.8. [en] Monitoring in VRM
[en] Opportunity Loads can be monitored remotely through VRM, including live control of supported devices (EVCS via the Control Pane, Shelly devices via the Switch Pane). Configuration of priorities, battery settings, preferences, and device parameters is only available on the GX device itself or via Remote Console.
[en] VRM also provides:
| ![]() ![]() |
17.7. [en] Appendix
17.7.1. [en] Glossary
[en] Acronym | [en] Meaning |
|---|---|
[en] ESS | [en] Energy Storage System |
[en] PV | [en] Photovoltaic |
[en] SoC | [en] State of Charge |
[en] VRM | [en] Victron Remote Management |
[en] EVCS | [en] EV Charging Station |
[en] GX device | [en] Victron Energy communication centre running Venus OS (e.g. Cerbo GX, Ekrano GX, MultiPlus-II GX, EasySolar-II GX) |
[en] Venus OS | [en] Victron Energy operating system for GX devices |












