Setpoint zero, battery being charged from grid even when 'optimised without battery life'

I have my own code driving the system, which manages low power and high power states as required. In the past when the battery reached the min battery state set in ess of 15% the ESS code(I assume) would automatically charge the battery to 20% using the grid.

I have now set the min soc to 5%. I use 9% in my own code as a lower amount before charging. Today, the battery reached 10% and then any spare power from the solar mppt was used to charge the battery until it reached 20%. The setpoint from my code was at zero and yet there was up to 2.7kW used from the grid to supply the loads. ie the setpoint was not being respected. The inverter was not used to power the loads. The inverter was set to a max of 8000W.

Is there another setting somewhere that needs turning off to prevent the cerbo/quattro controlling autorecovery of the battery using the grid?

The forecast was for a lot of sunshine so the recovery of the battery within an hour using solar alone was going to happen anyways. My grid costs are extremely high outside of the cheap period.

So your system went into passthrough. This is an ess behaviour.
You code needs to be revisited.

You can in the GX OS set priorities there for load and charging
(Under ess -scheduled charge.)

The only way to control everything is through the setpoint with some additional extras like defining max voltage/charging/inverter etc.

It wasn’t passthrough in the traditional sense. It was some sort of low battery protection that kicks in. It used to kick in at 15%, but now I have 5% min SOC ,set it kicks in at 10%. I have solar connected on the DC and AC side. During the battery protection, the DC side was used to charge the battery until 20% SOC was reached. During that time the inverter didn’t support the load although it did until 10% SOC was hit on the way down. After 20% SOC is reached, the solar and battery was used to support the loads. The inverter was turned on from my code.

I am not using ess-scheduled for charging. I have a complex dynamic ess equivalent that was written before the victron offering.

Ok.
What is your base programming on the inverter?
So do you have the ess assistant on the inverter at all? And not using GX interaction for set points?

I am thinking maybe sustain as a thought. Or something else is happening if dynamic cuts offs are bwing used. Or sometimes if it is a battery like pylontec who don’t really want the last 10% used maybe something like that is altering behaviour.

Throwing blind ideas here since obviously i don’t know the complexity of your programming.

I have the basic ess assistant on the inverter. It’s a long time since I saw the settings there (2 years). I thought its all run from the cerbo.

Everything is usually run with my setpoint code… download forecasts of pv and temperature. Calculate load of house based on heating demand and then optimise charging periods to minimise costs. ie use battery but leave enough to store solar. Minimise wastage by only charging at just enough over the period. It’s quite a large code base. However, I log everything and can see what is happening and the cerbo is ignoring the setpoint once the SOC hits 10% on the way down. Once it recovers to 20% it respects my code.

The battery is home rolled JK BMS variant. No demand to charge, just limits. It was no where near the battery limits set up.

Tomorrow,I’ll pull out my old windows laptop and see what the settings in the quattro are.

Have you set the bms as controlled device check what the bms say