ESS automations

I’m looking for help with some ESS automations. I’ve had a play with Node-RED and watched hours of videos on it, but I’m still none the wiser how they relate to my system. I don’t even know if what I want to do is possible.

Multiplus II / Cerbo GX / EVCS / Fogstar batteries / AC solar

What I’d like to achieve:

  1. I have grid limit set and I’d like the EVCS to be priority to limit its charging current and the inverter limiting charge to the batteries secondary.
  2. I have AC solar on the grid side of the inverter and I’d like to export 100% of this solar to the grid. Unless I’ve missed a setting it looks like the inverter will always use excess PV to charge batteries as I have to enter a number into “Grid Setpoint”. This is to maximise our outgoing tariff and stop AC-DC-AC losses.
  3. At 19.30, daily, (after we’ve finished cooking) I’d like to force a linear battery export to hit 20% charge at 23.30 when my cheap rate starts. Perhaps re-calculating the export rate half-hourly, in case my wife decides to bake cakes in the evening for example.

If anyone can help me with the above I’d be eternally grateful.

1 Like

I am definitely not a Node-Red expert and don’t actually use nodes and connected dots.

What I do is collect all info I need, put them in a variable and use the function node to do whatever I want to do.

Have you looked at using AI to work out the flows for you…I used Google Gemini and it worked great, you just chat to it, say what you would like to achieve and it will write out the JSON text that you can import. I did a fairly complex Node-RED flow to manage my charging, I even have one that you want it will discharge the battery down to a set level by a certain time and I have zero programming experience….

If you have watched YouTube videos then you should know the basics eg how to access the UI.

1 Like

Thanks guys. I’ll give Gemini a go. I’m new to AI as well.

Can you post what you typed into Gemini? I think that would help me a lot.

Not my style. I like to keep the interface clear.

But as long as it works all is fine I guess.

:grinning_face: You just chat to it like its your personal programmer you hired…have a conversation with it say you don’t understand something ask it to go slower step by like this

”hey I have a Multiplus II + Cerbo GX + EVCS + Fogstar batteries + AC solar and I am looking to write some node red automations I would like to do the following, can you help me to do this, go through the steps one by one because I have never done this before. Here is what I want to do if I am missing any information then ask me

1.I have grid limit set and I’d like the EVCS to be priority to limit its charging current and the inverter limiting charge to the batteries secondary.

  1. I have AC solar on the grid side of the inverter and I’d like to export 100% of this solar to the grid. Unless I’ve missed a setting it looks like the inverter will always use excess PV to charge batteries as I have to enter a number into “Grid Setpoint”. This is to maximise our outgoing tariff and stop AC-DC-AC losses.

  2. At 19.30, daily, (after we’ve finished cooking) I’d like to force a linear battery export to hit 20% charge at 23.30 when my cheap rate starts. Perhaps re-calculating the export rate half-hourly, in case my wife decides to bake cakes in the evening for example. “

Using Gemini I managed to get my system how I want it - Thanks for the advice Eco. If anyone’s interested (it’s pretty simple):

There’s one thing which is puzzling me. It all works but doesn’t make sense.

I’ve got a simple flow to control the EVCS charging current: Grid current > function node > EVCS set charge current

The script in the function node is:

// --- Configuration ---
const HOUSE_FUSE_LIMIT = 75;    // Main house fuse in Amps
const SAFETY_BUFFER = 0;       // Buffer to prevent tripping (sets "soft limit" to 55A)
const MIN_CHARGER_AMPS = 6;    // Minimum current most EVs require to charge
const MAX_CHARGER_AMPS = 30;   // Maximum current your charger/car supports

// --- Logic ---
let currentHouseLoad = msg.payload; // Smoothed input from your power meter
let availableHeadroom = (HOUSE_FUSE_LIMIT - SAFETY_BUFFER) - currentHouseLoad;

// Calculate target EV current
let targetEVCurrent = Math.floor(availableHeadroom);

// --- Constraints ---
if (targetEVCurrent > MAX_CHARGER_AMPS) {
    targetEVCurrent = MAX_CHARGER_AMPS;
} 

if (targetEVCurrent < MIN_CHARGER_AMPS) {
    // Some chargers need "0" to stop, others just ignore below 6A
    targetEVCurrent = 0; 
}

// --- Output ---
msg.payload = targetEVCurrent;
msg.topic = "ev_charger_limit"; // Helpful for debugging
return msg;

This sets the grid at almost exactly 60A, but why do I have to set HOUSE_FUSE_LIMIT to 75A to achieve this?

Anyone know?

If I set it to 60A, as you’d expect to, the grid hovers around 48A so it’s deducting about 20% somewhere…

1 Like

TargetEVCurrent is set at House_Fuse_Limit (75A) LESS currentHouseLoad (which hoovers at ard 12-15A) - it is 5th line of your code

Mistery solved

I see. I think I need to change the input node to the Multiplus input current.

The Multiplus and the EVCS are the only 2 things drawing current in my setup

So: EVCS current limit = Grid limit - Multiplus current

Thanks

Hey Eco,

Hope all is well with you. Hows your new system going?

I’ve my app gone in for NC7. Last month i wasnt going to be go for it for centre reasons but changed my mind.

Going with 48kw battery, 15kva quattro, ac coupled fronius 5 kw inverter. 13kwp in PV potential, Victron EV Charger. Ive installed the panels myself, ran the PV DC cables, Main 16mm2 from garage to plant room. That was a big job. My ducting network had too much in them already so i had to get out the consaw and go through my tarmac, paths, utility into plant room to bring 16mm2 through. All done now. Everything neat and tidy. Have to trunk everything now and rest is down to installer. Enjoyable experience.

For my install is their anything i need to ask the installer regarding use of the system i.e admin rights, node red etc.Any tips from your point of view?

Kind Regards,

Joe.

Everything going well thanks, although we had an issue with an mcb tripping overnight. The batteries drained to zero and all our power went off. You have to think of every scenario when using node red.

Is 16mm big enough? Hopefully your installer can fit a 63a breaker to it but it might be limited to 50a if it’s in trunking.

Ask for full login if you plan to use node red - good luck!

1 Like

Everything is going great.. Loving the NodeRED integration it’s so powerful to do anything you want practically with your Quattro and battery setup.

Things to look out for is…my installer didn’t set me up as admin on Venus as the install was done on a Friday afternoon and was a rush job to get it all running before the end of the day so it wasn’t tested fully. Normally not a problem but what I found was since people don’t get a 15kVA inverter it was set up for a normal NC7 connection so I couldn’t charge my battery more than 70Amps (not the full 200A.) it wasn’t until Monday morning I got admin rights to get into it and get those things sorted. Adjusted the grid limits etc

Don’t know your setup and if you have one of the Anti Islanding units, just be aware they are limited to 63Amps unfortunately, for the first week or two I had the AC out limit to 80 Amps and ended up tripping this a couple of times…eek! anyway its all all a learning process and that’s half the fun.

Thanks for that Skins. I’m champing at the bit now to get it installed. Like a child at christmas would be apt to describe me atm. Id say that 16mm2 will be grand on my 16kva connection. Sparks pulled a 25mm2 from meter to DB so plenty of capacity there. I saw posts on solar group where a lad was running EV, heat pump, dryers, washing machine, battery charge off a 8kva connection. if i plan it better using node red i wont be coming near the limits at all.

Heres the post :slight_smile: : Lads EV charging window at night. What max import KW is safe to pull on 16m2 tails and 63amp main.

At 2 I charge the following

EV at 7kw

Solar batteries at 5kw

Immersion at 3kw.

For a few hours I’m pulling 15kw from the grid. I know it’s a pretty heavy load. Is it safe on 16m2 tails?

A few hours into load I’ve checked for heat in tails and board. The tails are a little above ambient. Maybe 10c.

My main ESB fuse says 63/80amp.

I’m worried I’m going to blow this, I’ve applied for an MIC increase to 12kw-16kw. Current MIC logged on my ESB account is 8kw. I regularly exceed this.

Thats great. NodeRED looks the job going by what your experience has been. I would never have known about it only for your post.

Can i ask what Venus is? What was the inverter set to that it was only putting 70A into battery? I think the quattro can put 12kw into the battery per hour which is more than enough for me on the pinergy rate. Have you thought about dumping some of this cheap into the grid at 25c per kw when weather becomes better. Probably not good for the battery to be doing that constantly and defeats the purpose of installing the system for longevity.

Ive been quoted a ziel-anti islanding device i presume exactly like yours.

Excited now. Have a lot of work done so hopefully i get the nc7. Don’t see why i should when i’m using anti-islanding plus frequency throttling of the quattro. Fingers crossed i get it. ill post up a few pics if i do. Have you had any powercuts yet?

I have a function which linearly discharges our batteries at 19.30 for 4 hours until they hit 20% SOC.
At 23.30 we hit our cheap rate and the code charges the batteries, linearly, to hit 100% at 05.30 (when our cheap rate ends). They charge at roughly 9kW AC.

Our EVCS then “soaks up” the remaining power available (I have a grid limit set to 72a which keeps the incoming cable below 40C - also monitored by the cerbo)

So if we put the dishwasher on at night, for example, the EVCS will reduce it’s charging current during the DW heating cycles.

Then 05.30 - 19.30 the inverter is in island mode and we export all our AC solar out the grid (although the damn export rate has just reduced to 12p from 15p)

I used Gemini to help set this all up and ask questions, although you need to use a bit of intuition to check it is correct.

Good luck!

Its great to read these threads to pick up the flows some people use to maximise the efficiency of the inverter. i asked Eco below whether he would discharge the battery charged from the cheap rate into the export rate. We get 25c a kw here with pinergy and can buy the cheap rate per kw at 6c for 3 hours. Charging and discharging for that reason might make the battery less economically viable in the long run. Id have to run the figures on it esp with geopolitical chaos over the last few days affecting wholesale energy prices

Oh yeah I abuse the Pinergy rate….My system is in since Mid-November so there hasn’t been much opportunity where I have spare kWh left in my 30kWh battery to export back out, but the sun is out now over the last few days and its working a treat now.

The graph below is my grid, as you can see at 10pm I have NodeRED flow calculate how much spare capacity I have in my battery and it works out how much I can export to be at my set SOC at 2am. This export rate is recalculated every minute and adjusted, so as you can see it slowly reduces so I am not caught out with not spare battery capacity. At 2am then its party time…

The Quattro what I have found maxes out charging the battery around 185-190Amps continuous so about 10kW, 200Amps is the max charging rate of the 15kVA Quattro.

I wouldn’t worry about damaging your battery cycling it once a day, I go from 100% to 10% every day practically. The dude Will Prouse on YouTube did one or two videos on this whole thing. Have a look at this and he did a follow up video as well https://youtu.be/UbZiHzflKMY?si=VBGCITiul6nNn59I

Venus is the operating system on the CerboGX that manages the inverter and all Victron equipment and has NodeRED as an add-on. You can either run NodeRED on your CerboGX (which I do) or externally on like Home Assistant or Raspberry Pi for example.

Yes I have had a power cut it was a planned ESBN network maintenance so I had plenty of notice. I have tool on NodeRED that I can set a date of a planned outage and it will charge the battery the night before and wont discharge the battery until the grid goes down, worked brilliantly… The Quattro switched over without the lights even blinking, my home network didn’t even blink and internet didn’t even go down. It was a sunny day (relatively for a January..) so I had plenty of spare battery capacity over the 6 hours or so it was out. I have whole house back up so the heat pump worked and everything it was great.

I also have a few Home Assistant automations when the grid goes down it will cast to all my Google Home speakers saying the grid is down, what the current battery SOC is, the estimated back up time available based on current consumption. It will then warn when I hit set SOC limits (50% 30% and 20%) and warn if I am using a lot and just to be aware. That was fantastic as it lets everyone in the house aware we on a power cut.

There are a lot of settings in the inverter itself such as the grid code and import /export limits some of these can only be set by your supplier (the specific grid code) and are locked behind a password. Why mine was set to 70Amps was I am sure he uploaded his standard settings and forgot it was 15kVA. It was no issue at all really I was able to change this myself once I got access.

I’ve made one or two additions to my NodeRED flows, basically I have added a couple of sliders and an inverter summer mode. This is where Solis PV inverter which is on the load side, during the summer I wont let any excess PV charge the battery but is passed straight out to the grid. This saves me about 10%+ in efficiency in and out of the battery. That saying if the battery goes below a set SOC (set by sliders) it will start charging again until it gets 10% back into the battery.

I will share my NodeRED flow later just need to be sure I don’t have my API keys in there..

Very impressed with way you have it programmed to recognise when SOC is at a certain level. Looking forward to diving in and getting familiar with system. Theory will only get you so far.