The home of William Rendell

How Home Assistant Plans My BLUETTI and EcoFlow Charging Around Octopus Agile Prices

Every afternoon at 5pm, my Home Assistant system looks at the next 24 hours of Octopus Agile electricity prices and creates a charging plan for my home battery systems.

Rather than charging everything during a fixed overnight period, the automation examines all 48 half-hour Agile slots, identifies the best-value periods and works out how much charging each system actually needs.

The aim is simple: buy electricity when it is cheapest, avoid unnecessary charging and have enough stored energy available when prices rise.

The battery setup

My home energy system includes several different battery platforms, each with a slightly different job.

The main house is supported by a GivEnergy hybrid inverter and approximately 19kWh of battery storage. Alongside that, I use:

A BLUETTI AC300 with four B300K batteries in the garage

A BLUETTI AC200L supporting equipment in the lounge

A group of EcoFlow STREAM AC Pro units providing additional distributed storage and support around the house

The BLUETTI AC300 powers equipment including three fridges, while the AC200L supports devices such as the fibre modem, television, Sky box and Sonos system.The EcoFlow units provide flexible additional capacity and can increase their contribution when demand on the main house battery becomes particularly high.

What happens at 5pm?

At 5pm, Home Assistant receives the Agile prices covering the following 24 hours.

The automation then:

Collects the 48 available half-hour price slots.

Sorts them from cheapest to most expensive.

Checks the current state of charge of the battery systems.

Estimates how many charging slots will be required.

Selects the cheapest suitable periods.

Builds the charging schedule for the coming night and following day.

This means the charging plan changes every day.

On a day with plenty of stored energy, only one or two charging periods may be needed. If the batteries are already sufficiently full, charging can be skipped altogether. After a high-consumption day, the system can select additional slots.

It can also take advantage of exceptionally cheap or negative Agile prices when they occur.

Intelligent BLUETTI charging

The BLUETTI AC300 can charge at around 2.4kW, so blindly leaving it connected during a long cheap-rate window could import far more electricity than necessary.

Instead, Home Assistant uses its current state of charge and the amount it typically gains during each half-hour period to estimate the required charging time.

The calculation includes a small reserve so that the AC300 has enough energy to continue supporting its normal loads without being unnecessarily charged to 100% every night.

The result is a much more targeted charging schedule based on what the BLUETTI actually needs—not simply whether the time happens to be after midnight.

The BLUETTI AC200L is also monitored separately because its capacity, charging rate and daily workload differ from the larger AC300 system.

Making better use of EcoFlow storage

My EcoFlow STREAM AC Pro units operate as a group, giving me distributed battery storage that can be used where it is needed.

Home Assistant monitors their combined state of charge and uses that information when planning the next charging cycle. If the EcoFlow group finishes the evening with plenty of energy remaining, there is no reason to refill it overnight.

Their discharge is controlled dynamically too.

During the evening peak, the EcoFlow system normally provides only a small amount of power. If discharge from the main GivEnergy battery approaches its practical limit, Home Assistant raises the EcoFlow contribution to as much as 1,200W.

When demand drops again and remains low, the EcoFlow output is reduced.This allows the EcoFlow units to act as intelligent support for the main system without emptying themselves unnecessarily.

A quiet evening recently demonstrated this perfectly. With very little cooking demand, the EcoFlow group was still at 91% after 8pm. The system had no need to schedule more charging, so that stored energy could simply be carried into the following day.

Why not just charge at a fixed time?

A traditional timer assumes that the same charging period will be best every day.

Octopus Agile does not work like that. Prices change every half hour and the cheapest slots can move considerably from one day to the next.

A fixed schedule can therefore:

Miss cheaper electricity later in the night

Charge during an unnecessarily expensive slot

Fill batteries that already contain sufficient energy

Fail to secure enough energy after a demanding day

By recalculating the plan every afternoon, Home Assistant responds to the actual prices and battery levels available that day.

Different manufacturers, one coordinated system

One of my favourite things about Home Assistant is its ability to bring equipment from different manufacturers into a single energy-management strategy.

BLUETTI and EcoFlow make very capable portable power and home energy products. Home Assistant adds another layer by allowing me to coordinate them with my tariff, solar generation, household demand and main battery system.

Each product continues doing what it does best, but the overall system makes decisions as one connected platform.

What comes next?

I am continuing to refine the calculations using real charging performance, daily consumption and the battery state of charge remaining each evening.

Future improvements could include:

Solar-production forecasts

Predicted household demand

Different reserve levels for weekdays and weekends

Automatic responses to negative electricity prices

Longer-term reporting on savings and battery usage

Smarter coordination between BLUETTI, EcoFlow and the main house battery

This project has already moved well beyond simple timers. It is becoming a genuinely adaptive home energy-management system that makes a fresh decision every day.

I’ll share more of the automations, dashboards and results as the system develops.

This is an independent home automation project and is not sponsored by BLUETTI, EcoFlow, GivEnergy or Octopus Energy.