PredBat charge/discharge cycle on Intelligent Octopus overnight

13 comments started 2024-02-25 last 2024-02-27
Home AutomationHome Assistant
W
#1 WillC

When I first started running PredBat, it'd cycle between charging and discharging overnight to make use of the difference between the import and export rates, but in the last few days (maybe weeks), it's stopped doing that. See below, it hits 100% and stays there. Does anyone know why this might be?

G
#2 geoffreycoan

WillC If you turn HTML plan debug mode on you can see the effective rate after losses

What’s your battery cycle metric and min metric improvement’s set to? You might want to set charge on discharge on as well to allow charging and discharging in the same slot, and check whether combine charge slots is on or off (try off so you don’t get a long charge period, it breaks it down)

I see you have a fair amount of load during the night, so predbat may be avoiding discharging the battery because most of your discharge rate would be soaked up by the load and relatively little exported.

TBH I don’t know how some of the choices Predbat makes work. I get charging and discharging to take account of differential import and export rates, but I don’t get it in absolutely every half hour slot, maybe just a few. I took the view that getting the extra income was nice to have, but it was putting extra battery cycles in and it was only pennies so I wasn’t going to get stressed about why it worked the way it did.

#3 PianSom

geoffreycoan I see you have a fair amount of load during the night, so predbat may be avoiding discharging the battery because most of your discharge rate would be soaked up by the load and relatively little exported.

Geoffrey is - by far - the expert around here, but I wonder if he's bang on the nail here. Have you maybe started running washing/tumble dryer/something big overnight in the cheap rate over the last few weeks? Predbat's load predictor is based on historic usage patterns.

I find Predbat's overnight charge/discharge cycling reduces my overnight charging cost by 30-50%. I think that this probably justifies the wear on the batteries - but no-one really knows yet.

W
#4 WillC

geoffreycoan

I see you have a fair amount of load during the night, so predbat may be avoiding discharging the battery because most of your discharge rate would be soaked up by the load and relatively little exported.

I suspect this may be the cause. We're on intelligent and obviously charge the car overnight, so usage is high when the car's charging, and there have been a few long journeys in the last week. I use the last 7 days to work out predicted load as both my wife and I work from home, so weekday/weekend doesn't change usage much.

I'll take a look at my settings, but they're pretty much all the defaults as I haven't changed much. "Combine Charge Slots" is off and "Set Discharge During Charge" is on.

W
#5 WillC

WillC I changed my Load Scaling to 0.1 as a test to reduce my overnight consumption and the charge/discharge cycling is back. So it is related to my predicted overnight load.

G
#6 geoffreycoan

WillC changed my Load Scaling to 0.1 … and the charge/discharge cycling is back

Glad to hear you worked it out. Predbat is very clever at times. Sometimes too clever for us mere mortals!

WillC I use the last 7 days to work out predicted load

Just a suggestion, have you looked at the docs for setting days_previous as there are some gotcha’s in the way predbat uses this apps.yaml setting to work out what days to retrieve historical load from https://springfall2008.github.io/batpred/apps-yaml/#understanding-how-days_previous-works
My day to day usage is very similar as well so I have my days_previous set to 2 through to 8, and I don’t individually apply weighting to the history days

P
#7 pacemaker

WillC usually if predbat is configured for car there is a car column, which would show you when and how much the car is planned to charge for. This would then explain it.

On nights when I am IOG charging my battery is set to "charge" all night and just hold at 100%

On nights I don't charge the car it does as you describe, charges to 100% then discharge/charge/discharge/charge until the 6 hour window runs out.

G
#8 geoffreycoan

pacemaker usually if predbat is configured for car there is a car column, which would show you when and how much the car is planned to charge for. This would then explain it.

I thought that as well. I suspect that @WillC is not using predbat to calculate the car charging, so num_cars is set to 0, so all the EV load is being lumped in the house load.

#9 Hook

I have EV set to 1, but don’t let predbat control it. It just reacts to whatever Octopus slots I’m using.

I only occasionally charge up at home as I have a charger at work. So I just use the granny charger if needed.

W
#10 WillC

I have a PodPoint charger, so I need to work out how to integrate that in some way. I've not had a chance to look into it yet.

R
#11 Rbor

geoffreycoan I have num_cars set to 0 in apps.yaml. I have low mileage and charge my EV manually using the Zappi app. I don't have Octopus Intelligent (I am Agile)
I have the car charging hold switch enabled, car charging rate set to 7.4 kWh and car charging threshold set to 6 kWh and I assumed that this would ensure that any car changing load wouldn't be included in my historical data.
But is this only true if I have num_cars set to 1?

I would like to use predbat for car charging to automatically pick up the lowest Agile rates, but am afraid that I will then just lose control! The documentation suggests that I need to write an automation for my Zappi but is this needed if I set select.predbat_car_charging_plan_time to the time I want the EV charged by?

Confused!

Rob

G
#12 geoffreycoan

Rbor I have the car charging hold switch enabled, car charging rate set to 7.4 kWh and car charging threshold set to 6 kWh and I assumed that this would ensure that any car changing load wouldn't be included in my historical data.
But is this only true if I have num_cars set to 1?

would need to look at the code but I suspect that if num_cars is set to 0 then predbat wouldn’t be trying to subtract car load from house load.

Rbor The documentation suggests that I need to write an automation for my Zappi but is this needed if I set select.predbat_car_charging_plan_time to the time I want the EV charged by?

Yes. They are two different things.

The car charging plan time is you telling predbat when you want the car to be ready to use it by so it knows what time window it has to find the charging slots in (at the appropriate charging rate, to the target SoC, etc)

The automation is then you turning on the car charging in line with the plan predbat has produced.
I’ve added a sample automation to the docs now.

If you have low mileage and only need to charge adhoc then you might just as well continue to charge the car manually. Just look at the overnight predbat plan and charge in the same charge slots predbat is doing.
We do much the same with our dishwasher, tumble dryer etc

R
#13 Rbor

geoffreycoan Thanks for your advice.
I have set num_cars to 1 in apps.yaml and have the automation set up, but disabled to be safe.
Meanwhile, I will probably continue with my tried and tested manual method for ad hoc charging.
Predbat car charging is probably more suited for folk who charge their cars regularly and who make use of the Intelligent Octopus Go tariff.
But it is good for me to learn more about predbat car charging anyway. I would like to get to the point where I can contribute more to other users rather than always asking questions. I hope that I am improving.

Rob