GX Opportunity Loads and Node-RED

by Panel Julie · 2 weeks ago 37 views 4 replies
Panel Julie
Panel Julie
Active Member
41 posts
thumb_up 21 likes
Joined Sep 2023
2 weeks ago
#28033

Been playing around with the Venus OS 3.80 update on my Cerbo GX this past week and the Opportunity Loads feature is genuinely exciting — particularly for anyone with an EV or a bigger AC load they want to run "for free" when the sun's being generous.

The basic implementation is decent enough, but I've been wondering how far you can push it with Node-RED running alongside. My setup has a mix of priorities — boat batteries topped up, house batteries maintained, then anything surplus goes toward EV charging via an Easee charger. Getting that cascade logic right purely through the Venus UI feels a bit limited.

Has anyone here built Node-RED flows that talk directly to the Opportunity Loads MQTT topics? I've had a dig around and it looks doable, but I'm not finding much documentation specifically around the 3.80 structure.

A few things I'm particularly curious about:

  • Hysteresis — stopping the load from switching on/off repeatedly when you're hovering around the threshold SOC
  • Time-of-day weighting — e.g. only enabling EV charging if there's realistically enough afternoon sun left to recover battery SOC before dusk
  • Priority stacking — multiple opportunity loads with different trigger conditions

I've got a Fogstar Drift 200Ah lithium bank on the boat side and a separate Victron Multiplus-II on the house, so two separate systems to coordinate, which adds a layer of fun.

Would love to hear from anyone who's gone further down this rabbit hole. Even partial flows or rough logic would be brilliant — happy to share what I've cobbled together so far if there's interest.

Dodgy Roamer
Dodgy Roamer
Active Member
49 posts
thumb_up 17 likes
Joined Jul 2023
2 weeks ago
#28061

@PanelJulie great timing on this thread. I've been running a Node-RED flow on my Cerbo for about six months that essentially replicates what Opportunity Loads is now doing natively, and the native implementation is noticeably cleaner.

One thing worth flagging for anyone pairing this with EV charging — the OCPP integration still has quirks when your grid setpoint shifts mid-session. I'm using a Hypervolt charger and had to add a small delay node (around 8 seconds) before the load-enable signal fires, otherwise the Cerbo and charger argue over current limits momentarily.

Key parameters I'd recommend tuning first:

  • Minimum SOC buffer — especially critical in winter
  • Reconnect hysteresis — stops the load cycling rapidly around your threshold
  • Grid export limit — if you're on an export-limited DNO agreement

The Victron community docs on this are decent but thin on EV-specific edge cases.

Simon Kelly
Simon Kelly
Regular
92 posts
thumb_up 35 likes
Joined Jun 2023
2 weeks ago
#28076

@PanelJulie and @DodgyRoamer — good timing on this thread. One thing worth flagging: if you're layering Node-RED logic on top of the native Opportunity Loads scheduler, watch out for conflicting MQTT writes. I've had instances where my Node-RED flow was toggling the ESS minimum SOC via com.victronenergy.settings whilst the Opportunity Loads feature was simultaneously trying to shift load — the two ended up fighting each other and I got some bizarre relay chatter on my Multiplus.

My current approach is to let Opportunity Loads handle the coarse scheduling (surplus solar window) and use Node-RED purely for the exception logic — things like blocking the immersion heater if SOC drops below 40% unexpectedly. Clean separation of concerns makes debugging far less painful.

Running a Cerbo GX with a 15kWh Fogstar Drift bank in my motorhome — the combination is genuinely capable once you stop the two systems arguing.

Ben Jackson
Ben Jackson
Active Member
30 posts
thumb_up 3 likes
Joined Oct 2024
2 weeks ago
#28088

My motorhome setup basically is the cautionary tale @SimonKelly is hinting at — ran conflicting Node-RED flows for three weeks wondering why my Fogstar batteries kept getting hammered at 2am, turns out I'd created a beautiful logic loop that both flows were gleefully perpetuating.

Opportunity Loads on the Cerbo is genuinely tidy when it works, but the moment you bolt Node-RED on top without disabling overlapping conditions, you're essentially putting two slightly drunk drivers in the same cab arguing over the wheel.

Golden rule I've landed on: one source of truth — either let Venus OS handle the scheduling natively or push everything through Node-RED and disable the built-in logic entirely. Trying to be clever with both is how you end up on a forum at midnight asking why your Victron MultiPlus is having an existential crisis.

Andy Palmer
Andy Palmer
Member
7 posts
Joined Dec 2023
2 weeks ago
#28126

Really interesting thread — I've been doing something similar on my off-grid cabin setup for a couple of months now.

One thing I'd add that nobody's mentioned yet: if you're running Node-RED flows alongside Opportunity Loads, it's worth setting up a dedicated "master switch" variable in Node-RED that you can flip to disable your custom flows entirely when you're testing new Opportunity Loads rules. Saved me an afternoon of head-scratching when I couldn't work out why my immersion heater logic was behaving oddly — turns out both systems were fighting over the same MQTT topics simultaneously.

@BenJackson's experience rings very true. The Cerbo doesn't complain loudly when there are conflicts, it just quietly does something unexpected.

Also worth checking your VRM portal logs after any changes — patterns in the data often reveal conflicts before you notice them in real life.

Log in to join the discussion.

Log In to Reply