Geyser & pool pump control with Node-RED on EasySolar-II 48/5000/70-50 MPPT 250/100 GX

by NZ_Marine · 1 month ago 43 views 5 replies
NZ_Marine
NZ_Marine
Active Member
12 posts
thumb_up 2 likes
Joined Sep 2025
1 month ago
#26492

Been down a similar rabbit hole recently with my EasySolar-II setup. Got to the point where I wanted to automate my immersion heater and a small water feature pump based on SOC and solar surplus — sounds like a simpler version of what you're tackling but same basic idea.

Node-RED talking to the GX via MQTT is genuinely solid once you get your head around the topic structure. The Victron MQTT broker exposes pretty much everything you'd want — SOC, PV power, grid import/export, the lot.

My current logic is roughly:

  • Immersion on when SOC > 85% AND PV output > load by 800W+
  • Pump off if SOC drops below 40%

Works a treat most days. The tricky bit was building in hysteresis so things weren't switching on and off every few minutes.

Few questions for anyone who's done similar:

  1. Are you using the relay outputs on the GX directly, or going through something like a Shelly or Sonoff for the switching? I'm using a Shelly 1 at the moment but wondering if I'm overcomplicating it.
  2. Anyone integrated a time-of-use element too? I'm on Octopus and want to factor in cheap rate periods for any grid top-up logic.

The Fogstar batteries I'm running report nicely over BMS → GX so SOC is reliable enough to trust for automation — that helps a lot.

Would be good to hear how others have structured their flows. Happy to share my Node-RED export if anyone wants a starting point.

Fenland VanLifer
Fenland VanLifer
Active Member
20 posts
thumb_up 2 likes
Joined Feb 2025
1 month ago
#26530

@NZ_Marine interesting thread, though slightly surprised it's landed in Batteries & BMS rather than Automation — mods might shift it.

Running a similar-ish setup in my van conversion (obviously smaller scale), but the Node-RED + Victron MQTT approach translates well regardless of system size. The key thing I'd add for your immersion heater control specifically — make sure you're hysteresising your SOC triggers properly. I had mine cycling the load on/off too rapidly when SOC hovered around the threshold, which wasn't great for anything downstream.

Also worth checking whether your EasySolar's VRM portal data has any meaningful latency before you rely on it for tight automation loops — local DBUS access via the GX device is considerably more responsive than polling through VRM.

What BMS are you running? That can affect how reliable your SOC readings actually are for triggering purposes.

Borders Explorer
Borders Explorer
Regular
59 posts
thumb_up 14 likes
Joined Nov 2023
1 month ago
#26546

@NZ_Marine this is exactly what I've been doing with my shepherds hut install — EasySolar-II feeding a Fogstar 48V bank, Node-RED pulling SOC and PV power figures via the Victron MQTT broker on the GX.

Key thing I found: rather than triggering purely on SOC percentage, I get much better results combining SOC and instantaneous PV surplus (watts available above loads). SOC alone misses the nuance of a partly-cloudy afternoon where you're technically at 85% but generating nothing spare.

My immersion heater runs through a Shelly PM for switching and real-time consumption feedback back into Node-RED. Closes the loop nicely.

PV surplus > 400W AND SOC > 70% → heater ON
SOC < 65% → heater OFF regardless

Hysteresis on those thresholds is essential — without it you'll cycle the relay constantly around the trigger point.

Worth cross-posting to the Automation subforum once you've refined it.

Downs Cruiser
Downs Cruiser
Regular
60 posts
thumb_up 11 likes
Joined Aug 2023
1 month ago
#26557

@NZ_Marine done almost exactly this on my motorhome setup, minus the pool pump obviously. Running Node-RED pulling SOC and PV surplus via MQTT from the Cerbo GX, then switching a relay for the immersion when conditions are right.

Few things worth knowing:

  • Set a minimum SOC floor before enabling any dump loads — I use 85% personally
  • Add a time-of-day filter so it's not firing the heater at midnight on a cloudy recovery
  • Debounce your triggers or the relay chatters like mad around the threshold

The MQTT topics on Victron kit are well documented, that bit's straightforward. Node-RED dashboard also gives you a decent at-a-glance view without needing VRM constantly open.

@BordersExplorer curious what SOC thresholds you're using on the Fogstar bank — lithium headroom calculations are a bit different to what I was used to with AGM.

Simon Thompson
Simon Thompson
Active Member
45 posts
thumb_up 7 likes
Joined Jan 2024
1 month ago
#26572

@NZ_Marine running something similar on my boat — immersion heater on a contactor controlled via Node-RED talking to the Cerbo over MQTT. A few things worth knowing:

  • MQTT topic latency can catch you out if your SOC is fluctuating near a threshold — add a bit of hysteresis in your flow or you'll be chattering the contactor
  • For the pump specifically, check your minimum runtime logic. Short-cycling pumps destroys them
  • I use com.victronenergy.system → Dc/0/Soc rather than the battery service directly — more reliable across firmware updates

One gotcha on the EasySolar-II GX specifically: the built-in GX sometimes needs a reboot after Node-RED palette installs. Caught me out twice.

@BordersExplorer curious what Fogstar cells you're running — I've been eyeing their 48V drop-ins for the emergency backup side of my setup.

MultiPlusNerd
MultiPlusNerd
Active Member
30 posts
thumb_up 14 likes
Joined Oct 2024
1 month ago
#26765

Did mine the opposite way round — set the pool pump to kill itself when SOC drops below 60% rather than faffing about trying to trigger it on surplus, and the Victron MQTT broker on the GX made it trivially easy to subscribe to com.victronenergy.battery without Node-RED needing to poll anything. Less drama, fewer "why is my pump running at midnight" moments.

Log in to join the discussion.

Log In to Reply