I have a client off-grid system with standby generator which charges the battery at 25% to 40% when ever the SOC reaches that level SOC, in case of reaching low SOC close to dawn. I want to know if it’s possible to somehow program the system to use the genset to fully charge the batteries if a specific SOC has not been reached at a specific time during the day, so that the client can be assured he will start the night with a full battery with no noisy generator running.
For example:
A cloudy day, poor solar yield, and the battery only reaches 60% SOC at 17:00. The system is set to reach a target of 100% SOC at 17:00. The system must see this and start the genset and fully charge the batteries and then turn off the genset again.
I know with grid charging this is possible, but being and off-grid site only generator charging is available. A feature like this would be handy to prevent unnecessary noisy genset runs during the night.
Any help regarding this would be appreciated!
3-phase Multiplus-II, Cerbo-GX, 3x Freedom Won 40/32
So you can use this data to calculate approx battery SOC at the end of sunny day and decide if you need to start generator. You can do this all in Node Red
Yes, that’s how I do it. Not always acurate but it works.
var acThreshold = global.get('idlePowerConsumption');
var forecast = 0;
var toAdd = 0;
// acThreshold is the average AC Load.
// startSoC is the SoC I want to reach when the sun goes down the next day.
// minBattery is the minimum SoC
// at night, if necessary, I charge the battery from the grid until SoC is maxBattery.
for (let i = 24; i < 48; i++) {
if (msg.payload.records.solar_yield_forecast[i][1] > acThreshold){
toAdd = msg.payload.records.solar_yield_forecast[i][1]-acThreshold;
}
else{
toAdd = 0;
}
forecast += toAdd;
}
var maxBattery = Math.round(global.get('startSoC')-(100*forecast/1000)/global.get('batteryCapacity')+global.get('minBattery'));
if (maxBattery < global.get('minBattery')){
flow.set('maxBattery',global.get('minBattery'));
}
else if (maxBattery > 100){
flow.set('maxBattery',100);
}
else {
flow.set('maxBattery', maxBattery);
}
Set a daily periodic run (bottom of the Conditions page in Generator start/stop settings). The periodic run would start at say 1700 and be set to run until the batteries are full. Generator then shuts off and your normal SOC conditions are in force.
Or use “Quiet Hours” settings to create a configuration where there are two different minimum SOC settings depending on different periods of the day. One of the windows, say 1700 to 1900 would have a very high minimum SOC condition.