I wanted:
- a stripped down, dedicated controller that is as reliable as the system it controls;
- to improve accuracy by correlating heat pump power consumption with outside temperature: both measured by our EmonCms energy monitoring system;
- to use local temperature forecasts from the MetOffice to better predict heat pump energy consumption (rather than relying on solar generation forecasts alone);
- to factor in latent costs due to battery wear;
- use best in class optimisation methods to allow for constantly changings forecasts for the coming day and, simultaneously, minute-by-minute net consumption changes due to passing clouds and fluctuating loads.
So I extended the planning tool to include an optimiser that runs on a Raspberry Pi.

You are welcome to try and use it. Just remember that it will require hosting on your LAN and currently controls GivEnergy AIO batteries only1 and relies on an EmonCms energy monitoring system (another Raspberry Pi) for some data.
The optimiser requires only occassional monitoring and has been controlling our GivEnergy AIO battery for several weeks now. Below is an excerpt from its web dashboard:

When the solution is zero import/export2 the optimiser leaves control to the battery. When the solution requires import or export, it takes over and controls the battery’s charge/discharge rate minute by minute, based on cost optimisations using real time and historical inputs from:
- EmonCms API;
- GivEnergy: solar generation and total consumption;
- MetOffice’s site specific forecasts;
- Octopus’s tariffs API.
- Solcast’s local solar generation API;
Leave a Reply