Battery Management with Octopus Smart Tariffs to Avoid 4 - 7 pm

The Cosy Octopus tariff offers two 3-hour periods a day (4 - 7 am; 1 - 4 pm) in which electricity costs 60% of its normal price and 1 period (4 - 7 pm) in which it costs 160% of its normal price. Although the other Octopus smart tariffs don’t have the afternoon period with a reduced price, they do have the same period of 4 - 7 pm with a premium price. The problem is therefore much the same: how to set the battery charge periods to maximise the amount of solar PV stored while avoiding consuming grid electricity between 4 and 7 pm.

With solar panels (3 kW), batteries (14 kWh), a 3.6 kW Gen 3 inverter and an average heat-pump demand of 2kW when it’s 5°C or 1 kW when it’s 10°C, the standard “Eco” setting doesn’t suffice at this time of year (Spring). My demand for electricity often exceeds what I’m generating and I want to avoid grid electricity between 4 and 7 pm.

My solution, which I offer as a suggestion and to receive comments, is to aim to fill the battery by sunset. I reckon that when the sun is shining the average generation is 2 kW (it peaks at 3.5 kW). This amounts to 2 kWh = 15% charge / hour. So I can add about 30% charge from solar between 4 pm and sunset. I should therefore aim for 70% charge = 10 kWh at 4pm.

If I set a charge period from 1 - 4 pm with a target of 70%, the system would charge at 3.6 kW (= 25% charge / hour) from 1 pm. Unless the battery was completely depleted at 1 pm, it would reach 70% charge some time before 4 pm. If it happened to be a sunny day, the battery might start at 50% charge at 1 pm and reach 70% by 4 pm without any boost from the grid.

So having a single charge period from 1 - 4 pm is a bad idea. But I need to be able to charge for the entire period if the battery happens to be completely depleted at 1 pm and there’s minimal solar PV. My solution is to split 1 - 4 pm into 6 half-hourly charge periods with target charges of 20%, 30%, 40%, 50%, 60% and 70%. These allow the system to top up the battery from the grid to my desired profile if the charge in the battery has been depleted without being refilled by solar PV. But if there’s lots of solar PV, the battery charge at the start of each half-hour will exceed the target charge for that half-hour, so it won’t take any grid electricity.

The other period of charge with Cosy Octopus is 4 - 7 am (but it might as well be any 3-hour period overnight). As there’s no solar PV, there’s no advantage to splitting this period and the only issue is to set the target charge. In some ways this is harder than the afternoon periods, because there’s a lot of solar PV which could be generated between 7 am and 1 pm, and also a lot of electricity which could be consumed. I have gone for a 40% target charge but reckon that I need to keep this under review based on the weather forecast: increase it if it’s going to be cold and dull; reduce it if it’s going to be warm and sunny.

Note that, with the exception of the target for the overnight charging period, this approach doesn’t require me to adjust targets day-to-day based on the weather. Fortunately, the overnight charging period is the first of the day so appears on the phone app and is easy to adjust; the other charging periods can only be set on the web UI from the cog on the inverter screen. I still need to adjust the targets with the seasons, but that’s always going to be the case.

Those on other tariffs don’t have the luxury of an afternoon period of reduced-price electricity so they will need to make as much use of the overnight charge period as they can without impairing their ability to store solar PV. They will want to set the target charge for 4 pm to whatever they need to carry them through to 7 pm. The same approach that I have used will work for them of having a series of half-hour periods leading up to 4 pm with rising target charges which are only triggered if not enough solar PV has been generated.

A warning: if you are going to use more than 1 charge period or more than 1 discharge period DO NOT USE THE PHONE APP TO SET VALUES FOR THE FIRST PERIOD.

The phone app appears to have been written when there was a limit of 1 charge period and 1 discharge period. The web UI has since been extended to handle up to 10 charge periods and up to 10 discharge periods.

The phone app writes the start and end times of the first charge period where you would expect. But BEWARE: the “Charge Up To” limit on the phone app is the GLOBAL LIMIT, not the LIMIT FOR THE FIRST PERIOD. It overrides any charge limits which you may set in the web UI for other periods.

If you want to change the Global Limit in the Web UI, it is AC Charge Upper % Limit.

Another warning: this doesn’t work because during a charge period, Eco mode is overridden and:

  • the battery is prevented from discharging
  • if the battery charge < specified Upper SOC % Limit, the battery is forced to charge at the Battery Charge Power. It prefers to use PV power and makes up any shortfall from the grid. But the Battery Charge Power is a rigorous rate: if the PV power exceeds this, the surplus PV power isn’t stored in the battery; it’s converted to AC (if possible) and exported
  • if the battery charge ≥ specified Upper SOC % Limit, no charging of the battery takes place. At all. Any PV power which is not consumed as Load is surplus and is converted to AC (if possible) and exported.

Note that if the battery charge ≥ specified Upper SOC % Limit during a charge period which is in force, the battery becomes Idle: it can neither charge nor discharge.

The real issue here is that only in Eco mode is there dynamic variation of the rate of charging/discharging the battery. Once Eco mode is Off (as it is in Charge and Discharge periods) you’re back on a non-dynamic system in which the charge / discharge rate to the battery is fixed.

What does appear possible is to

  • preserve the dynamic variation of the charge rate to the battery by staying in Eco mode; and
  • stop the battery discharging to meet Load (i.e. force Load to be met from the grid) by changing the Battery Discharge Power Percentage from 100 and 0; or
  • stop the battery charging by changing the Battery Charge Power Percentage from 100 and 0.

Stopping the battery discharging doesn’t charge the battery from the grid but it does retain whatever charge is already there. As there are losses in converting from AC to DC and back again, it’s actually better to do this than to allow the battery to meet load and then charge it back up again. (Unless you’re on Cosy Octopus - as I am - when there’s an off-peak period from 1 - 4 pm, so it’s better to discharge up to 1 pm and then charge up again).

A final warning: I’m a new user of this system with no inside knowledge. All that I write is based on my own observations of how the system works. I’m writing this stuff to clarify in my own mind what I think is going on. It would be nice if there was documentation, but if there is, I haven’t found it.

My response:
• Wow, this is brilliant and really helpful.
• I have had my system for about 1 month now and this type of document is exactly what I have been after. I am even brewing a similar document myself, based on my own experiments.
• I am trying to schedule the system to optimise for Octopus Flux (the basic version, not the ‘intelligent’ one).
• I have been speaking with the Givenergy help desk, and this has been helpful to a point. The people are very nice and try to be as helpful as possible, but their knowledge / documentation (on the phone app/cloud app) is limited.
• I have a few questions & would really appreciate your thoughts (& ideally someone from Givenergy will chip in as well):

• I can’t find a setting to put ‘discharge mode’ into ‘dynamic’ - where is this?
• The app manual shows that clicking the top right hand cog symbol gives a screen called “system modes” and the image shows that this screen has “discharge mode” with “dynamic” selected.
• However, my version has a screen called “Inverter Settings” in place of “system modes”. This has the same parameters as the cloud “My Inverter”>“Settings” (ie no “discharge modes”)
• I am on iOS app version v3.3.8.27. The app manual that I have is v1.0 and, on page 3, shows an image with an app version of v3.0.0.3003.
• Having discussed with the Givenergy helpdesk it seems that the app manual v1.0 has yet to be updated to the latest version of the app (ie I have the latest release version).
• The Givenergy helpdesk also say that this is not a bug, but a feature of the latest version. The helpdesk engineer was initially not certain and then went to get an iPhone to try it out. His version was v3.3.10, apparently an internal only release, and this behaved the same as mine (ie showed “Inverter Settings” as opposed to “System modes” when selecting the top right hand cog.
• It is intriguing that on my version of the app “preferences” menu still has enable/disable “Show System Modes Button”; it has not been updated to a more correct “Show Inverter Settings button”
• What version of the app and what platform (iOS or Android) do you have?

• On discharge you mention 10% losses - I am intrigued as to how you found this.
• I have calculated approx 6% losses over a few days:
○ My calculation Battery losses in period = <Battery+> - - (all in kWh)
○ Over two periods (8 and 11 days) I got 6.1% and 6.0%
○ Before I was signed up for an export tariff (& so was not using discharge from battery to grid) I calculated a 3.9% loss over a few days.
○ I am wondering if this calculation of loss is accurate?
○ Is there is a way to reduce the losses (eg lower power/slower discharge)?
○ Does a high loss indicate high battery/inverter wear? (I assume that losses are going into heat and often heat is bad for electrical circuitry and batteries.)

• I am trying to optimise a schedule for Octopus Flux:
• With the available scheduling controls I think that I have this in place, except for discharge/peak period.
• I think that the ideal discharge / peak rate algorithm would:
○ Priority #1: Avoid importing energy from the grid during peak period
○ Priority #2: Discharge as much as possible from the battery to the grid
○ Making this robust seems non-trivial, eg what if, on a gloomy day, you start peak period with less than 100% battery charge and/or towards the end of peak period the home demand for electricity shoots up (eg ironing and cooking at the same time)
• This sounds almost the inverse of your schedule for charge on Octopus Cosy / heat pumps.

• You have confirmed my discovery that when discharging (I used the cloud app “My Inverter”>“Remote Control”>“Discharge Settings” if the “Lower SOC % Limit” is met AND the “Battery Reserve % Limit” has NOT been met then the battery is disabled or idle - thank you.
• My take is that if the battery was not disabled at the “Lower SOC % Limit” then it would be relatively straight forward to establish the ideal discharge algorithm.
I would be very interested in your thoughts.

A quick response (a fuller one will follow).

Take a look at the thread Discharging to grid when set to Consumption Type Home Demand where I’ve been posting recently. DavePickard is doing what you’re trying to.

His approach is to set a charge period from 2 am to 4 pm and charge to the max from the grid. The way the system works for this isn’t quite what I expected, but it’s well suited to the Octopus Flux tariff, provided you’ve got your Export MPAN.

What happens is that from the start of the Charge Period the system is in Charge Rate Mode. When the battery gets full, the system switches to Battery Idle Mode. In this the battery neither charges nor discharges. Load is met from PV with any surplus PV exported (at day export rates). This is fine unless at some times (i. e. when the sun goes in) Load< PV. Then the balance to meet Load comes from the grid (at day import rates). Unless your Load is low, you’d probably want to be in Eco Mode at such times.

So there’s a balance to be struck between

  • having the Charge Period extend to 4 pm (so the system remains in Battery Idle Mode until then), in which case

    • when PV < Load you’re buying from the grid at day import rates; and
    • when PV > Load you’re selling at day export rates
  • switching to Eco Mode at or after 5 am, in which case:

    • when PV < Load you’re using the battery to meet Load which isn’t being met from PV; and
    • when PV > Load, the first call on the surplus PV is to recharge the battery; only once it’s full is the surplus exported at day export rates

If you switch to Eco Mode at some point after 5 am, you:

  • avoid buying electricity at day import rates when PV < Load;
  • sell less surplus electricity at day export rates (because when PV > Load, the surplus is first used to recharge the battery);
  • may end up having less charge at 4 pm unless you top up the battery at day import rates in the run-up to 4 pm.

I doubt whether there’s much to choose between these. If your Load is sufficiently low that it’s usually met from PV even when the sun isn’t out, I’d stay in the Charge Period until 4 pm. As the excess of Load over PV when the sun isn’t out increases, so does the attraction of meeting it using electricity either purchased at off-peak rates or which you’ve stored from when the sun was out. At some point you decide that you’d rather be in Eco Mode. You then face a further decision as to whether you want to recharge at day import rates to sell after 4 pm at peak export rates.

Those decisions will depend on what the losses are (which I’m not sure about) and how much you think the various approaches are going to knacker the kit and reduce its future abilities.

My own inclinations are that I’m not in the business of buying electricity at one price, storing it and selling it when it’s higher. I’ll leave that to the big boys: Gresham House had 640 MW of charge/discharge capacity at September 2023; by now it’s probably approaching 1 GW with 2 GWh of batteries.

My interest is in reducing how much electricity I consume from the grid and how much I pay for what I do import. My tariff (Cosy Octopus) gives me two 3-hour periods a day of half-price electricity and a flat-rate export tariff. So I aim to have enough charge at 4 pm to get through at least to 7 pm without having to import. That’s not difficult now that the clocks have changed and there’s less need to heat the house. I get no benefit from exporting between 4 and 7 pm, so am happy to export when the battery is full and there’s surplus PV, whenever that happens.

Some Answers to Daveharding100

• I can’t find a setting to put ‘discharge mode’ into ‘dynamic’ - where is this?
• The app manual shows that clicking the top right hand cog symbol gives a screen called “system modes” and the image shows that this screen has “discharge mode” with “dynamic” selected.
• However, my version has a screen called “Inverter Settings” in place of “system modes”. This has the same parameters as the cloud “My Inverter”>“Settings” (ie no “discharge modes”)
• I am on iOS app version v3.3.8.27. The app manual that I have is v1.0 and, on page 3, shows an image with an app version of v3.0.0.3003.
• Having discussed with the Givenergy helpdesk it seems that the app manual v1.0 has yet to be updated to the latest version of the app (ie I have the latest release version).
• The Givenergy helpdesk also say that this is not a bug, but a feature of the latest version. The helpdesk engineer was initially not certain and then went to get an iPhone to try it out. His version was v3.3.10, apparently an internal only release, and this behaved the same as mine (ie showed “Inverter Settings” as opposed to “System modes” when selecting the top right hand cog.
• It is intriguing that on my version of the app “preferences” menu still has enable/disable “Show System Modes Button”; it has not been updated to a more correct “Show Inverter Settings button”
• What version of the app and what platform (iOS or Android) do you have?

Software versions which I use

I use v3.3.7.5131 of the App on Android 13 and my inverter is a GIV-HY5.0 running software version D0.307A0.307.

On the Android App when you press the cog at the top right of most screens it brings up the System Modes screen, which has two parts: the upper is Battery Charge Settings; the lower is Battery Discharge Settings. The first item in Battery Discharge Settings is Discharge Mode, which can be switched between Dynamic and Scheduled.

As well as using the Android App I use the Remote Control on the Web UI. You reach this by pressing the cog beside the on/off button at the top right of the inverter panel in the Web UI. Alternatively, use the URL https:// givenergy.cloud/inverter/[inverterID]/remote-control where [inverterID] is the ID of your inverter.

I haven’t used the Settings tab on the Inverter panel in the Web UI. On it I see the following items:

  • ECO
  • TIMED CHARGE
  • TIMED DISCHARGE
  • TIMED EXPORT
  • BATTERY OPTIONS
  • RESET TO DEFAULTS

I haven’t explored these.

Most Important Parameters on the Remote Control

On the Remote Control the most important parameters are in the General section at the top. These are, together with their potential values in square brackets and my understanding of what they do:

  • Enable AC Charge Upper % Limit [On/Off] :

    • On: causes AC Charge Upper % Limit to be observed
    • Off: no AC Charge Upper % Limit is applied; in effect it’s taken as 100
  • Enable Eco Mode [On/Off] :

    • On: outside Charge Periods and Discharge Periods the inverter runs in Eco Mode
    • Off: outside Charge Periods and Discharge Periods the inverter runs in Battery Idle Mode
  • Enable DC Discharge [On/Off] :

    • On: turns on Discharge Periods, i.e. forced discharging at Discharge Rate can occur during Discharge Periods
    • Off: turns off Discharge Periods
  • AC Charge Enable [On/Off] :

    • On: turns on Charge Periods, i.e. forced charging at Charge Rate can occur during Charge Periods
    • Off: turns off Charge Periods
  • AC Charge Upper % Limit [0 - 100] : upper % limit to which battery will be charged when forced charging takes place during a Charge Period;

Android App Modes and Remote Control Parameters

The following settings on the Android App induce these changes to parameters on the Remote Control:

  • Charge Mode

    • Solar: sets AC Charge Enable = Off
    • Solar + Grid: sets AC Charge Enable = On
  • Charge Up To: corresponds to AC Charge Upper % Limit. BUT

    • limit only applies if AC Charge Upper % Limit = On
    • making any change to Charge Up To sets
      • AC Charge Upper % Limit to the specified value AND
      • AC Charge Upper % Limit = On
  • Discharge Mode

    • Dynamic: sets Enable DC Discharge = Off AND Enable Eco Mode = On
    • Scheduled: sets Enable DC Discharge = On
  • Consumption Type

    • Home Demand: sets Enable Eco Mode = On
    • Full Export: sets Enable Eco Mode = Off
  • Charge Up

Note in particular that from the Android App, Eco Mode is turned off only when you set Consumption Type to Full Export. Eco Mode is turned back on both when you set Consumption Type to Home Demand and when you set Discharge Mode to Dynamic.

• On discharge you mention 10% losses - I am intrigued as to how you found this.
• I have calculated approx 6% losses over a few days:
○ My calculation Battery losses in period = <Battery+> - - (all in kWh)
○ Over two periods (8 and 11 days) I got 6.1% and 6.0%
○ Before I was signed up for an export tariff (& so was not using discharge from battery to grid) I calculated a 3.9% loss over a few days.
○ I am wondering if this calculation of loss is accurate?
○ Is there is a way to reduce the losses (eg lower power/slower discharge)?
○ Does a high loss indicate high battery/inverter wear? (I assume that losses are going into heat and often heat is bad for electrical circuitry and batteries.)

Losses

Overnight I observe that Consumption is always at least 70W lower than Battery Power. I infer that the inverter has a fixed minimum internal consumption of 70W at all times.

When the battery is charged from the grid overnight (so Generation = 0) I see:

Grid Power = - { Consumption + 70 + 1.056 * Battery Power }

I interpret this as meaning that, disregarding the fixed 70W, it takes 1.056 kW of AC to produce 1 kW of DC to store in the battery.

When the battery is discharging overnight to meet a peak load (a 3 kW immersion heater) I see

Battery Discharge = 1.071 * ( Consumption + 70 )

I infer that charging losses (excluding the fixed 70W) are about 5½ % and discharge losses about 7 %. Put the two together and you’ve got 12½ %, i.e. one eighth.

These figures will depend on the ambient temperature. Batteries like to be kept at about 20°C. Mine are in an outdoors basement area where the temperature is a heavily damped version of ambient; the batteries’ reported temperature now is typically 10 - 12°C.

• I am trying to optimise a schedule for Octopus Flux:
• With the available scheduling controls I think that I have this in place, except for discharge/peak period.
• I think that the ideal discharge / peak rate algorithm would:
○ Priority #1: Avoid importing energy from the grid during peak period
○ Priority #2: Discharge as much as possible from the battery to the grid
○ Making this robust seems non-trivial, eg what if, on a gloomy day, you start peak period with less than 100% battery charge and/or towards the end of peak period the home demand for electricity shoots up (eg ironing and cooking at the same time)
• This sounds almost the inverse of your schedule for charge on Octopus Cosy / heat pumps.

See forthcoming post on Discharge Algorithm.

Correction to Android App Modes and Remote Control Parameters

  • Charge Up To: corresponds to AC Charge Upper % Limit. BUT
    • limit only applies if Enable AC Charge Upper % Limit = On
    • making any change to Charge Up To sets
      • AC Charge Upper % Limit to the specified value AND
      • Enable AC Charge Upper % Limit = On

Thank you LU7heatpump for this response - very helpful.

Phone App version:
-iOS: I just downloaded the latest version (3.3.10.5) and there is no change (top right hand cog gives Inverter Settings.
-Android: I borrowed my wife’s phone and downloaded the app - same version as yours (v3.3.7.5131) and this one gives me system modes when I select the top right hand cog.

Reading your notes it sounds like you do all of your scheduling via the remote control parameters on the cloud app - is this correct?

I had hoped that getting access to the system modes screen would be the answer to all my scheduling questions, but it seems almost as limited as the inverter settings that I get on the iPhone (ie really just a limited window on the cloud app remote control screen). Are there any parameters on the remote control screen that you still use in conjunction with remote control parameters? (ie is there any benefit in my borrowing my wife’s phone to refine the inverter/battery schedule that I have set up via the remote control screen?)

Losses I am intrigued by your method and will try to replicate in the coming days.

Discharge Algorithm looking forward to seeing this. I have a suboptimal schedule now that I am happy to share with others if anyone is interested. The algorithm works well with Octopus Flux as long as I get to 4pm (peak rate) at 100% battery charge. This happens most days now that we have passed the Spring Equinox (even in gloomy, soggy Lancashire). I think that as we get to September then my schedule will not be robust. It will hit the same issue that you have observed that the battery is disabled when you hit the low level SOC % during a discharge period. This will cause import at peak rate, as opposed to using the battery.

Many thanks for you help

Dave

Discharge Algorithm for Octopus Flux

A caveat: this is an entirely theoretical analysis. I’m not on Octopus Flux and I haven’t yet got an export MPAN so I don’t export if I can possibly avoid it. Even when I get an export MPAN, my tariff (Cosy Octopus) forces me onto a flat-rate export tariff, so I will just export when I’ve got surplus PV which I can’t store.

Objective

I consider that the objective is to:

  • minimise (cost of electricity imported - income from export)

Note that this is not the same as:

  • maximise income from export

Economic Considerations

The main factors which we need to take into account are:

  • the relationships between the prices
    • off-peak vs. day vs. peak
    • import vs. export
  • losses incurred in charging and discharging the battery.

Ignoring minor differences, the prices are, in increasing order :

  • off-peak export
  • off-peak import ≈ day export
  • day import ≈ peak export
  • peak import

I reckon that losses in charging and discharging are around 12%.

Economic Implications

As the peak export rate is only 2% greater than the day import rate, it’s definitely not worth paying day import rates and incurring 12% charge/discharge losses so that you can export a bit more at peak export rates.

But it is 2% better (0.6p / kWh) to export during the peak and then have to import at day import rates.

To put it another way: it’s worth paying day import prices if you’re going to use the electricity to meet Load which couldn’t be met more cheaply but not to charge the battery. In increasing order of cost, Load should be met from:

  • PV
  • PV which has been stored in the battery
  • off-peak electricity consumed direct
  • off-peak electricity stored in the battery
  • day electricity consumed direct
  • day electricity stored in the battery
  • peak electricity consumed direct; or (if you’ve really screwed up)
  • peak electricity stored in the battery

Of course it’s not possible to distinguish the source of the particular electrons in the battery which are being discharged at any time. But we can identify the marginal source of electrons: if we’ve discharged as far as we’re prepared to and then recharged off-peak, the marginal source is off-peak electricity. If we then run in Eco Mode, the marginal source is either PV or off-peak electricity, each of which costs less (even allowing for charge/discharge losses) then day electricity consumed direct.

Charging during Off-peak Period

The only reason not to charge to 100% during the off-peak period is if you reckon you can get the electricity more cheaply, i.e. from PV. But while this has a marginal cost of zero, its opportunity cost is the day export rate, which is marginally greater than the off-peak import rate.

If PV is exported, losses are incurred converting PV to AC. Losses are also incurred converting off-peak electricity to DC to store it in the battery. Provided these are similar (and I think they are) there’s not much to choose between exporting PV at day rates and charging at off-peak rates.

So as there’s definite benefit in having as much charge at 4 pm as possible, you may as well charge fully off-peak and not regret having missed out if you generate less PV than expected.

Behaviour during the Day

Let’s suppose the battery is full at the end of the off-peak period. There are two options for what to do during the day, i.e. between 5 am and 4 pm:

  • Eco Mode, in which

    • Load not met from PV is met from the battery
    • surplus PV is used to recharge the battery
  • Battery Idle Mode, in which:

    • the battery neither charges nor discharges
    • Load not met from PV is met from the grid at day import rates
    • surplus PV is exported at day export rates

Eco Mode incurs charge/discharge losses, which I reckon are about 12%, and avoids paying day import rate for Load not met from PV. Battery Idle Mode pays day import rate for such Load but as a result has more surplus PV for export at day export rate.

The loss associated with buying I unit at day import rate and exporting I unit at day export rate is about 38%. This is much greater than the charge/discharge losses. So it appears to be better to run in Eco Mode during the day. This is achieved by:

  • ending the Charge Period at the end of the off-peak period; and
  • ensuring that Eco Mode is On by having Consumption Type = Home_Demand in Battery Discharge Settings

Run-up to Peak Period

For reasons set out above, I wouldn’t normally charge at day import rates in the run-up to 4 pm. An exception to this would be on the days when National Grid is under severe pressure and paying super-premium prices for every extra kWh exported during the peak.

So in the normal course of events, battery charge at 4 pm may well be less than 100%. It may be 100% if PV > Load in the period leading up to 4 pm.

After the Peak Period

As explained in Economic Implications, it is worth exporting during the peak even if it means then having to import at day rates. So we shall assume that at the end of the peak period we aim to have Battery Charge = Reserve %.

During the Peak Period

The main concern during the peak period is to avoid running out of charge and being forced to meet Load from the grid. This can be avoided by

  • setting the end of the Discharge Period to the end of the peak period, i.e. 7 pm;
  • ensuring that discharge doesn’t start until such time that Battery Charge will reach Reserve % at the end of the peak period and not before.

If the battery is fully charged at 4 pm, the time taken to discharge it to Reserve % can be calculated and the start of Discharge Period set accordingly. During the discharge, Load will be the first call on the AC which the inverter produces, with only the surplus exported. As the Discharge Period is set to end at 7 pm, unexpectedly high Load during the peak period is met automatically from the battery (provided it doesn’t exceed the inverter’s capacity, in which case the excess will always be met from the grid).

If the battery charge at 4 pm is less than 100%, this can be addressed by:

  • postponing the start of the Discharge Period, either manually or using automation;
  • ending the Discharge Period early by setting Discharge Mode back to Dynamic

It is also possible to

  • provide a safety margin by always using a shorter Discharge Period (but this reduces income);
  • top up the charge from the grid in the run-up to 4 pm (but this costs more)

There is also the possibility of setting the Remote Control parameter DC Discharge Lower SOC % Limit for the Discharge Period. This will stop forced discharge when it is reached. It appears attractive to set it to a value such that enough charge remains in excess of Reserve to meet Load from the battery until the end of the peak period. But I wouldn’t expect the system to switch into Eco Mode when forced discharge stops. Battery Idle Mode looks more likely to me. In which case all that has been achieved is that the battery has stopped discharging for a different reason. If anyone wishes to experiment, I’d be interested to know what happens.

Good luck!

The Android App and the Remote Control

The Remote Control on the web UI is the sole, totally reliable place to see what’s going on. But it’s a pig to use because:

  • the names of the parameters aren’t particularly meaningful;
  • if you (or someone else accessing your inverter) uses an App or another window to update parameters on the Remote Control, these aren’t updated on your Remote Control until you press Refresh.

By contrast, the Settings screen on the Android App is updated whenever you go into it and the parameters have reasonably meaningful names and values. Some can be distinctly misleading if you’re also using the Remote Control (e.g. Charge Up To), but if you use only the Android App, you’re not likely to go wrong.

I started by thinking that the Remote Control was the only thing worth using. I’ve revised my view and now describe how to do things using the Android App as I reckon that’s what 90% of users will do. I hadn’t realised that the iPhone App didn’t offer the same functionality as the Android App. I expect that GivEnergy’s developers are working on an improved iPhone App and shan’t be surprised if it leapfrogs the Android App.

Charging the Battery to a Target: Hard and Soft Top-ups

When a Charge Period is In Force

A Charge Period comes Into Force:

  • at the start of the Charge Period, if Battery Charge is then below Charge Up To; or
  • when Battery Charge drops below Target Charge during the Charge Period (if it does).

Once a Charge Period has come into force, it remains in force until the end of the Charge Period. If a Charge Period does not come into force, the system continues in whatever Mode had been in force immediately before. The modes which can be in force outside Charge Periods and Discharge Periods are Eco Mode (if Enable Eco Mode = On) and Battery Idle Mode (if not).

Forced Charging

When a Charge Period comes into force, Battery Charge < Charge Up To. There is a second upper limit on battery charge, Upper SOC % Limit, which is specified separately for each Charge Period on the Remote Control in the Web UI. Battery Charge also needs to be less than Upper SOC % Limit for forced charging to start. We say that the system then enters Forced Charge Mode.

In Forced Charge Mode:

  • the battery is charged at Charge Rate from surplus PV with the balance from the grid
  • PV is used to meet Load; once that’s met, the surplus contributes to charging the battery, with the remainder exported
  • Load is met first from PV, then from the grid

This continues until the earlier of:

  • the end of Charge Period
  • when Battery Charge hits a limit:
    • Battery Charge = Charge Up To; or
    • Battery Charge = Upper SOC % Limit.

What Happens Next

When forced charging ends because the Charge Period has ended, the system reverts to its default state. If forced charging ends because Battery Charge has hit a limit, the system enters one of two modes:

  • Grid = Load Mode, if Battery Charge < Upper SOC % Limit
  • Battery Idle Mode, if Battery Charge = Upper SOC % Limit

We shall refer to the limit which is hit as the Target Charge because this is the limit to which the battery is force-charged (and we assume that that was the intention). This is the lower of:

  • Charge Up To
  • Upper SOC % Limit for the Charge Period

The two modes behave as follows:

  • Grid = Load Mode:

    • PV is stored in the battery;
    • Load is met from the grid unless there is PV which can’t be stored, which is used in preference to the grid
    • Battery is charged using PV
  • Battery Idle Mode:

    • Load is met from PV + the grid;
    • surplus PV is exported
    • Battery neither charges nor discharges

Hard Top-ups

When there is no PV (i.e. during the night), these two modes behave identically: Load is met from the grid and the battery neither charges nor discharges. This continues through the remainder of the Charge Period. At its end, Battery Charge = Target Charge. Such a Charge Period can therefore be considered as a hard top-up: provided it’s long enough to reach Target Charge, the Charge Period will end with Battery Charge = Target Charge.

Top-ups are hard (or appear to be hard):

  • if they are made at night; in this case you can set Charge Up To = Target Charge and leave Upper SOC % Limit at its default value of 100;
  • at any time, by setting Upper SOC % Limit = Target Charge so long as Charge Up To is at least as great.

In the latter case, once forced charging has raised Battery Charge to Target Charge, PV will be used to meet Load; any surplus PV will be exported.

Soft Top-ups

If Charge Up To has been set to Target Charge and Upper SOC % Limit is higher (e.g. it’s been left at the default value of 100), any PV which is generated after the battery has reached Target Charge will be sent to the battery to be stored. Load will be met from the grid (unless there is PV which can’t be stored). The Charge Period will end with Battery Charge ≥ Target Charge. Such a Charge Period is therefore a soft top-up. Provided the Charge Period is long enough for the battery to reach Target Charge, this is the minimum charge level at the end of the Charge Period.

Soft top-ups are attractive when the grid price is low and the future price will be high. This applies particularly in the run-up to 4 pm, when the peak period starts.

Avoiding Depleting the Battery during a Charge Period

A Charge Period during the night usually occurs when the grid price is lowest. At this time there isn’t any PV, so Eco Mode meets the Load from the battery. If the battery charge is above the Target Charge throughout the Charge Period, the system remains in Eco Mode rather than entering Forced Charge Mode.

Even if you don’t want to do a forced charge, you may prefer to avoid the losses from charging / discharging the battery and meet Load during the Charge Period direct from the grid.

You can do this by setting:

  • Upper SOC % Limit = Target Charge
  • Charge Up To = limit below which Load is to be met from the grid

Recommendations

For a daytime Charge Period, use a soft top-up. Set

  • Charge Up To = Target Charge
  • leave Upper SOC % Limit at its default of 100

For an overnight Charge Period, use both limits to avoid depleting the battery. Set

  • Upper SOC % Limit = Target Charge
  • Charge Up To to = limit below which Load is to be met from the grid

Note that the single parameter Charge Up To is used for two purposes:

  • as the Target Charge for a daytime Charge period;
  • as the limit below which Load is to be met from the grid for an overnight Charge Period

No such issue arises with the Upper SOC % Limits as there are separate parameters for each Charge Period.

If you want to use a single set of parameters, this means that your value of Target Charge has to be satisfactory for both purposes. If you can’t find a suitable value, you will need to change it between Charge Periods, either manually using the App or using automation, Alternatively, you can switch Charge Mode between Solar and Solar + Grid.

One final tip: you can give PV more time to charge the battery before resorting to the grid to top-up in the afternoon by setting the start of the Charge Period so that, starting then and charging at Charge Rate from Reserve%, you reach Target Charge at 4 pm and not before.

Charge Periods May Have Effects when Charge Mode = Solar

I have previously considered that Charge Periods only have any effect if Charge Type = Solar + Grid (i.e. AC Charge Enable = On). That appears to be true of Charge Period 1 but not of Charge Period 2, and presumably of higher-numbered Charge Periods.

On two separate occasions I have observed that with Charge Mode = Solar (i.e. no charging from the grid) during Charge Period 2 the inverter was meeting Load from the Grid and trying to send PV to the battery.

On one occasion it did this when Battery Charge was 98% and Charge Up To = 50%. I turned on a 3kW immersion heater to increase Load. Battery Charge continued to increase and reached 100% because the system was importing 2 kW from the grid, i.e. Load - surplus PV. I infer that the system was in Grid = Load Mode.

When I deleted Charge Period 2, the system reverted to Eco Mode and met the 3 kW Load from PV + battery.

I have defined Charge Period 1 during the overnight off-peak period. With Charge Mode = Solar and Battery Charge > Charge Up To (so the same parameter settings as for Charge Period 2), Load is met from the battery. The system is in Eco Mode.

I infer that Charge Period 1 may well be special and that it isn’t safe to leave other Charge Periods defined and hope that by setting Charge Mode = Solar they will have no effect.

In a Charge Period PV > 1W switches Eco Mode to Grid = Load Mode

It appears that there’s nothing special about Charge Period 1. I observed two different behaviours during a Charge Period when Battery Charge > Charge Up To:

  • in Charge Period 1 (overnight) the system remained in Eco Mode
  • in Charge Period 2 (during the day) the system switched to Grid = Load Mode

My Charge Period 1 runs until 06:59. With the start of British Summer Time and earlier sunrises, I am now starting to get some PV before the end of Charge Period 1. With the large amount of sun yesterday, my battery charged completely. As sun was forecast again today, I decided to heat my water electrically this morning. I was surprised to find the load being met from the grid once PV > 1 W. This occurred during Charge Period 1 with Charge Mode = Solar.

The inference is clear: irrespective of Charge Mode, during a Charge Period if PV > 1W the system switches from Eco Mode to Grid = Load Mode. I do not know what it does if it has been in Battery Idle Mode.

Lots of interesting analysis on your various threads, thanks for these. From my experiments, whatever interface you use, there is no way to force export during a particular period (e.g flux peak) while also running in eco/dynamic mode during another period (general daytime).

I imagine this can be done using one of the 3rd party automation tools (or faffing with the API directly) but can’t think for the life of me why this option isn’t there natively, seems a glaring omission.

Hi Abeards,
I am also running on Octopus Flux and I do have it set up with Eco mode during the day and discharge to grid between 4 and 7pm.

What I have done:
-I just use the remote control page of the cloud app (I have the iOS app that seems to be more limited than the android app, eg it does not offer “dynamic mode”, but it seems that both apps are really just a limited window onto the set of parameters available on the remote control page)
-screenshots attached show the parameters that I changed from the default settings (let me know if there is any parameters that I have missed)



I have been running this for about 3 weeks now and it is reliable.

There are 4 issues that I have spotted with this setup:

  1. I have rounded the rates to the nearest penny, eg, for me charging at ~15p at cheap rate and exporting Solar during the day (with a full battery) is fine. I am not trying to do anything clever with the fractional penny deviations from the 3 import/export rates (15p, 25p and 35p)
  2. I have not tried to optimise battery/system life, eg this might mean minimising rapid charge/discharge of the battery - I am charging the battery to 100% at the cheap rate. Now that the days are getting longer (and sunnier :slight_smile: ) I could tweak this to a lower %age and charge from Solar with little impact on my bill, and, I should think be kinder to the battery/inverter (lower temperature).
  3. I have not accounted for battery losses. I have calculated battery losses with this schedule at ~6% (3 data points) and it was only about 2% with no aggressive charge/discharge set up (1 data point from before Octopus got my export tariff set up).
  4. This is the big one, I think, the schedule works fine now, but I expect that after the autumn equinox it will be less good. Most days I get to 4pm (peak rate) with 100% battery. The 3 discharge periods continue at full discharge and do not meet the lower % limit (this is by design). All is good and the system returns to Eco mode after the end of each discharge period. I am trying to avoid buying any electricity at peak rate, 35p. Hence the final discharge period goes right to the wire at 7pm (just in case we have high domestic demand, say 6 to 7pm). BUT, if I hit the lower % limit in any of the discharge periods, then it goes into a battery disabled state until the end of that discharge period when it does return to ECO mode. I think come autumn/winter I will regularly enter peak rate with <100% battery and regularly enter the battery disabled state and so end up paying peak import rate. This has happened once in the last few weeks with a combination of a gloomy day and cooking at peak rate - in this case just a few pence of peak rate electricity, but will be much worse in winter.

I am not too worried about having the odd kWh in the battery at 7pm (and so not getting all the potential 25p/kWh for peak rate export) this saves on buying from the grid at 25p/kWh later in the evening - my objective is an empty battery at 2am, start of the cheap rate.

I do hope that this is helpful. It is a shame that Givenergy do not give recommended settings or documentation on the function of the remote control parameters. We are all left experimenting.

Finally, I see this schedule as having bought me some time; I will need a proper solution for September to overcome the Battery Disabled State issue - does anyone have any ideas?

Hi Dave,

I’m struggling to get my brain around exactly this subject. I think I’m not helped by the differences between the App and Web Portal combined with the fact that the Web Portal struggles when accessed via a tablet, I think the GUI thinks it is a phone.

I’ve been digging into the interface to compare my remote control settings to yours shown in the screenshots. I find that I differ on “Enable AC Charge Upper % Limit” - I have set to On, and “Enable ECO mode” which I have set to OFF.

Could you add any further comments on why you have chosen those settings.

Thanks
John

P.S.
I’ve just changed my “Enable ECO mode” to on and when I check the app it has changed “Consumption Type” to “Home Demand” from my previously selected setting of “Full Export”. I’m confused!

Hi John,

The real issue here is that Givenergy do not release any documentation to explain these parameters.

My take, from limited experimentation, is that:

-“Eco mode” needs to be on so that, outside the charge and discharge times the inverter defaults to “Eco Mode” It does not seem to affect behaviour during the charge and discharge periods.

-“AC Charge Enable” needs to be on so that the system takes notice of the charge period.

However, my experiments have not been exhaustive and these explanations may not be correct. I have asked the Givenergy helpdesk (level 1 support) and they do not know the answers…

…in the end I have a solution that seems to be working (for the summer, I hope) and so I am just leaving it running (I am making money from the export and at the same time testing the system stability). Attached are a couple of screen gabs:
-83kWh exported last week (most of the blue battery exports at peak rate)
-charge up to 100% works every day in the 2-5am cheap rate period and (mostly) I get the 3 export peaks in the peak rate period.


I hope that this helps and would be interested in hearing if you manage to set up a different schedule with different performance.

Finally, my installer has agreed to follow up with Givenergy in pursuit of solving this problem (“how to maximise return on investment with their inverter/battery system”)…

…my take is that Givenergy are suffering from rapid growth and technical development, so basic things like documentation and application support have been left behind. Hopefully, if a few of us keep asking, they will take action.

PS I don’t have the. Android app and so cannot comment on the “consumption type” question - this parameter is not present in the iOS app.

Hi Dave,

Thanks for answers. Every little bit of info helps.

I will have to experiment with the remote settings via the web portal to see if I can achieve what I need. It is very disappointing that the apps differ and lag behind the portal settings. And worrying that GivEnergy support can’t help.

Cheers
John

Dave
you have people like Paul and myself here at GivEnergy, we can be found on Facebook groups ranging from installation to GivTcp and Home assistant.

We joined GivEnergy because we had the kit and the knowledge to use it fully to our benefit, unfortunately the support team don’t, they are there to help you when you have problems.

perhaps when things calm down a little we can do an education day for them on how to drive your system, I am enjoying this conversation it great to see what people are doing I run twin hybrid gen 2 inverters.

it’s a bit like trying to ride two mechanical bulls at a rodeo one on each leg lol, and I write software to be able to do this,

my tariff is Flux and the code I use has to take this into account so I fully charge at cheap rate , export all solar and if the battery is still greater than 80% at 16:00 export down to 20% which is sufficient to run the house until next recharge.

I have to account for this in my Balancing code which uses the API calls so far I am doing well and my costs are minimal, during April to September I am grid neutral and cover all costs of Heating water with Gas, winter worst electricity bill about £50 for a really cloudy month that includes Standing Charge.

I have a 3Kw Array SE facing at 35Degrees tilt, 2 X 5Kw Gen 2 Hybrids, and 18Kwh battery storage