Thank you so much for making the Agile integration feature - it works well, compared to pretty much everything else out there!

However, for this automation for work well here is quite a few variables and parameters which need to be set manually (slots, timeranges ranges, SOC levels, system capabilities, etc.) - and potentially continuously tuned as the consumption / generation patterns change through the year.

It feels like perhaps an opportunity was lost here to make this option really 100% automated and super efficient.

The problem to solve here is essentially: "When (in 30 min resolution windows) over the next 24 hours should I charge or discharge the battery to minimize the absolute electricity cost".

It seems like all the information needed to make this decision autonomously are available to the system already:

  1. Agile prices in 30min buckets are available half a day in advance for the next 24 hours
  2. Next 24h solar forecast for the region is a thing
  3. The exact generation stats with 5 min resolution (going back in time for days / months) are available via Givenergy API
  4. Same for the detailed electricity consumption data over the day(s) - this is acquirable via Givenergy or Octopus API.

With all this info in place, there should be no need to fiddle by hand with any of these mentioned parameters.

The flow here could be a bit like this:

  1. Solar forecast (and historical data) is used to backtest against historical home system production (within certain time window) to come up with a 'calibration factor' - essentially modelling how forecast values translate to the actual energy generation for the specific system (since this very much depends on factors like panel types, orientation, efficiency, shading etc.). After calibration, it should be possible to relatively accurately predict exact solar KWh production in 30 min buckets for the next day - no need to worry about specifying system/panels wattage manually, etc.
  2. Same for the consumption data - looking at the historical consumption trends (hour by hour over period of time - ideally accounting for weekends vs weekdays, etc factors.) it is possible to come up with a 30 min buckets curve predicting consumption during the next 24 hours. The most simplistic approach could be simply to look at the KWh consumption e.g. between 13:00 and 13:30 for the past four or so Mondays - and just use linear regresion to predict 13:00 - 13:30 value for the next future Monday (although ideally you want something smarter, be able to be quicker to react to things like spikes or seasonal differences)
  3. Now, having all this 30 min resolution data for the next 24 hours (agile prices, system generation prediction, system consumption prediction) - and since battery capacity and charge / discharge rate is known, deciding when to charge/discharge exactly is essentially a variant of bin packing problem, where we want to optimize for lowest possible energy cost, algorithms / libraries for this exist already.

It would be super cool if such 'autopilot' functionality was included - perhaps even as a part of some sort of (sensibly priced) 'premium tier'. Is something like that perhaps on the roadmap?

    HLE Thanks for your detailed post, a form of a more autonomous mode is on the road map.

    Stepping stones towards this will be:

    • Allowing separate hold/charge/export 30 min slots for Agile.
    • Gathering solar generation actuals, to adjust against prediction for each user - with plenty of data this should become more accurate and individual
    • Gathering consumption data - may be tricky with Growatt

    Once this is in place, it potentially opens up a world of automation opportunities and ROI strategies, taking into account export rates too.

    Full optimisation and automation would be wonderful. But rather complicated (but perhaps not for someone as talented as Wonder Watt!)

    Initially we need something that looks at expected domestic demand to met, plus export opportunities, to be matched with solar production and agile import costs, using the battery to balance time differences in supply and demand.

    This would be an excellent enhancement, and very useful in itself.

    Then advanced features could be added to account for:

    1 round-trip inefficiencies in batteries and inverters
    2 gradual degradation of panels over time
    3 improved forecasting based on historical data. By this I mean comparison between solar forecast, actual sunshine, predicted production and actual production which would enable Wonder Watt to calculate corrections to the current production forecasts. E.g. Sunny mornings average 10% higher than predicted, but sunny afternoons 3% less.
    4 Battery usage strategy. Users might want to work their batteries to the max to get the absolute maximum ROI, or they might prefer to choose a less aggressive strategy where they try to avoid battery usage if there are only slight gains in ROI. For example, if the gain from using the battery versus the grid is only 0.5p/kWh is it really worth the wear and tear on the batteries?
    5 Battery usage strategy2. I've heard that batteries tend to last longer if they are used at 80 or 90% of the maximum rate of charge or discharge, so there might be an advanced setting for users wishing to reduce the maximum charge and discharge rates.
    6 EVs Some way of adding the needs of EV's for those users with home chargers, to add the cars' needs to the domestic demand, the time the car needs to be charged by. Additionally some people might prefer to find the cheapest electricity for charging their cars even if they have to wait for a couple of days. So they might want, for example, to charge to 60% no matter the cost, and then top up whenever is best in the next 3 days. In due course I'm sure we will see V2G Vehicle to Grid introduced.
    7 Hot Water. Some people have solar diverters able to take advantage of very cheap electricity.
    8 Avoidance of clipping, where the solar panel power production exceeds the capacity of the inverter to convert it to AC.

    So once we have a working optimisation there are plenty of opportunities for future enhancement, and those are just what I can think of.

    As a complete aside I think the government should mandate that all new houses should be covered with at least 50% solar panels, and have at least 13kWh of battery, and mandatory optimisation, so that these houses are not "net-zero" but "net-positive" energy producers (to make up for the many hard-to-upgrade houses), and also able to soak up and benefit from the variability of solar and wind.

    Yet every person has different ideal automation needs. What is good for some, won't be optimal for others.

    I've always thought a little manual input is the best solution, less chance of things going wrong. The more you add, the more bugs will thrive.

      Gazzagreen Yeah there is definitely a space for both.

      The idea is that the manual inputs as they are remain the same. A more autonomous version for Agile or any other ROI maximiser will be an option that users can opt-in to, as an alternative to the various modes we have now.

      Gazzagreen I agree that there are a variety of requirements.

      But in my opinion quite a proportion of the early adopters of solar and batteries are tech-savvy and are quite happy to have a hobby of tinkering with their solar system controls. However we need to enable the mass market, and I think most people will just want their system to work as well as possible, whether this means as green as possible or most profitably (probably the latter, but they are not too far apart). So a system where you provide your equipment details, with a large OPTIMISE button will, I think, dominate the market.