Adding a function to the Victron EVCS wallbox (model with display)

by ExChippie72 · 3 weeks ago 33 views 5 replies
ExChippie72
ExChippie72
Active Member
12 posts
thumb_up 5 likes
Joined Jan 2024
3 weeks ago
#18486

Been thinking about this one for a while, ever since I got the Victron EVCS sorted on the boat's shore power setup last winter.

The solar-aware charging is genuinely clever — watching it throttle back the EV draw when a cloud rolls over and the panels dip is satisfying in a way that's hard to explain to non-nerdy folk. But here's what I keep coming back to: why can't it also watch what the inverter is doing per-phase?

On a three-phase setup — or even just managing phase imbalance on a split system — you could theoretically be hammering one phase with the EV whilst another is barely ticking over. The wallbox is already talking to the Cerbo GX, it already knows solar yield and grid state. Feels like a relatively small hop for the Victron devs to expose individual phase load monitoring and let the EVCS react to that too.

Practically, for those of us running a mix of boat/outbuilding loads that aren't evenly distributed, this could save a lot of grief. My inverter isn't three-phase but I can see how this would bite people with larger off-grid setups — barn conversions, smallholdings running workshops, that sort of thing.

Has anyone raised this on the Victron Community forum? I had a quick dig and found some adjacent threads but nothing hitting this exact ask.

Worth a proper feature request, or am I missing something obvious about why the EVCS is kept deliberately separate from phase-level data? Genuinely curious whether anyone here has found a workaround via Node-RED or similar.

Brian Brown
Brian Brown
Active Member
40 posts
thumb_up 38 likes
Joined Jun 2023
3 weeks ago
#18525

@ExChippie72 genuinely curious where you're going with this — the suspense is killing me more than my bank balance after fitting Victron kit 😅

What function are you after exactly? The EVCS does expose quite a bit via Modbus TCP and the VRM API, so depending on what you want to do with it there's often

Marine Geoff
Marine Geoff
Regular
64 posts
thumb_up 42 likes
Joined Nov 2023
3 weeks ago
#18546

@ExChippie72 the EVCS does expose quite a bit via Modbus TCP and the VRM API, so if you're thinking about custom charge scheduling or grid-code overrides, you've got hooks to play with — Node-RED on a Cerbo GX is the usual rabbit hole people fall down and never return from.

What's the actual function you're after? Because "adding a function" covers everything from "I want a button" to "I want to rewrite Victron's firmware in my shed."

Worth noting the display model has slightly different register maps than the headless version, so double-check the Victron Modbus-TCP spreadsheet matches your firmware version before you start poking values you can't unpoke.

Jonno71
Jonno71
Member
7 posts
Joined Jul 2025
3 weeks ago
#18564

Watching this thread with interest — @ExChippie72 don't leave us hanging!

I've been poking around the EVCS Modbus registers on mine and there's definitely room to do some interesting things beyond what the standard GX integration gives you. Depending on what you're planning, Node-RED on a Venus OS device could be a decent route if you want to trigger custom logic without going full Python script territory.

@MarineGeoff is right that the API exposes quite a bit — I found the charge current setpoint register particularly useful when I was experimenting with tide-aware scheduling (don't ask, long story involving a very flat battery and an embarrassing phone call to the marina).

What's the actual use case @ExChippie72? Shore power prioritisation, grid export limiting, something else entirely? Would help narrow down whether Modbus or VRM API is the better approach for what you're after.

Solar Jake
Solar Jake
Active Member
11 posts
thumb_up 3 likes
Joined May 2024
3 weeks ago
#18593

@ExChippie72 and @Jonno71 — the Modbus register map is where I'd start too. Registers 5 and 6 (charge current setpoint and enable/disable) are the obvious levers, but what's often overlooked is register 20, which exposes the CP state. If you're building something custom, polling that alongside your MPPT's yield data via the same Modbus TCP session gives you a genuinely tight control loop without needing VRM cloud dependency.

I run a similar logic layer on my shore-power backup setup — nothing boat-related, but the principle holds. One gotcha: the EVCS has a minimum 6A charge floor per IEC 61851, so whatever you're building needs to account for that hard floor rather than trying to throttle below it. Node-RED on a Cerbo GX makes this surprisingly manageable if you'd rather avoid writing raw socket code.

What's the actual function you're trying to add?

Somerset VanLifer
Somerset VanLifer
Active Member
35 posts
thumb_up 19 likes
Joined Oct 2023
3 weeks ago
#18649

@SolarJake worth noting that registers 5 and 6 are read/write but you're still constrained by the EVCS firmware's minimum 6A floor — can't command it below that regardless of what you write to the register. Caught me out initially when I was trying to implement a more granular taper on my shepherd's hut setup.

Also, if you're running Node-RED on a Cerbo GX (which I'd strongly recommend over polling Modbus directly), the victron-node-red palette exposes the EVCS charge current via a dedicated node rather than raw register access. Far cleaner to work with.

One thing nobody's mentioned — CP signal state is exposed too. Useful if you want logic that responds differently depending on whether a vehicle is actually connected versus just in a ready state.

Log in to join the discussion.

Log In to Reply