Earth Notes: Enphase AC Battery Grid-connected Storage in Our UK Home: Review

Updated 2019-10-23 08:35 GMT.
Does it do what it says on the tin? And what about the important feature not on the datasheet?
Enphase AC Battery Enlighten screenshot
The Enphase AC Battery seems to work with precision that other available offerings cannot match (though maybe over-estimates its success somewhat). Very good results are gained per kWh of storage, especially in winter.

Enphase AC Battery Interim Review

(This review will be updated as experience is gained.)

  • Enphase AC Battery
  • Reviewed by: on .
  • Installation was quick and good, seems to manage small loads as promised, Web interface is clear, data is locally accessible to automated tools, expensive by the kWh.
  • Bought from Eco Partners for £2995 including installation and VAT (and continuing on-line services). The Enphase AC Battery is rated at ~1.1kWh usable capacity (reports 1240Wh at full, 0Wh at empty, as of 2018-08), ~260W maximum charge/discharge power, and the key undocumented minimum supported (ie trigger) load (so maximum 'leakage' import) of 5--15W, which is important where typical loads are small, eg overnight. (Best alternative known is Sonnen 8 or 9 at ~30W; 240W not untypical.) LiFePO4 (lithium iron phosphate) / LFP (lithium ferrophosphate) chemistry AKA the non-exploding but slightly heavier type of lithium battery. Size is 390 mm (W) x 325 mm (H) x 220 mm (D) without bracket. 25kg for the battery itself. A modular system allowing multiple battery packs to be added as needed, though would be bulky and expensive to cover typical household spiky loads such as washing machine (~2kW) or kettle (~3kW). A single "Envoy-S Metered" has to be installed to manage one or more Battery units. The Envoy is small and acts as a hub to connect to the Internet and even serve stats locally. Security might be enhanced if Internet connectivity could be dropped entirely unless required. Envoy can accept details of local time-of-use static tariffs to optimise savings, but apparently not dynamic inputs or my algorithms using data accessible within the Envoy, to improve scheduling and system value.
  • Rating: 4.5 out of 5.

Summary Questions and Answers

Does The Enphase AC Battery work?

Yes. It roughly avoids about its capacity in imports (1kWh) each day. It manages to keep almost all our night loads off the grid — ie the sun largely powers our house overnight too — other than after very dark days (mainly winter) when it cannot charge enough.

Will the Enphase AC Battery pay for itself?

No. Avoiding export and then re-import of ~1kWh/day saves ~£35/year net at 2018 FiT and UK retail rates!

Will the Enphase AC Battery help the grid?

Probably. Flows for export and import are being reduced, and the grid is being used as if a battery itself.

Will the Enphase AC Battery save carbon?

Possibly. Round-trip losses through the battery appear comparable to those of the distribution network, and the self-consumption of the Enphase reasonably low.

How does the Enphase AC Battery impress?

It shows very fine control regulating imports/exports to within a few watts either way (typically under 5W) within its range, which is much better than the competition. It is also relatively easy to extract detailed real-time stats from the device locally, to capture and analyse later.

What is the Enphase AC Battery missing?

The ability to integrate it with other 'smart' elements by being able to remotely command it to hoard energy at some times for example. And the ability to absorb even brief high loads such as the kettle (3kW, typically 30--60Wh per use).

2018-07-18: Deposit Down

On 2018-07-18 I put the deposit down for an installation of a single Enphase AC Battery (1.2kWh) plus "Envoy-S Metered" hub. Installation is due early August. So there is stock, and lead-times are refreshingly short.

The deposit was £750.

(Similar lead times of a fortnight or less were given for Sonnen product. In contrast, the last I heard of Tesla Powerwall availability was the end of the year...)

Note that this hardware and installation comes in at £2995 including VAT. Additional batteries ordered at the time would be ~£1500 each, so giving a cost of about £1500 to £3000 per installed kWh with surrounding system. Both the management of the lithium-format batteries and the grid interaction are complex.

(Indicative quotes I had for the Sonnen 9.43 with display and installation were: 2.5kWh ~£4500, 5kWh ~£5600, lead times between 1 and 2 weeks.)

This review includes the installation process, given that I think there are a few tricky factors for my case:

Cost per kWh (Unit of Energy Stored)

Compare that with the 400Ah@12V of lead-acid gel batteries that on 2011-01-10 cost me £900 including VAT and delivery, ie close to £400 per usable kWh of raw storage. So even though raw wholesale lithium batteries should be able to beat those (old) lead-acid prices by a fair margin, that's not visible at retail at all. The lithium-format batteries will have a longer life and can be pushed harder than the lead-acid.

I'm aiming to allow up to four battery units to be fitted eventually.

The aim of this unit is to absorb background low loads such as fridge/freezer and lighting overnight. For that it is important the precision with which the system can prevent imports from the grid, and the minimum such load that it can handle.

Minimum Trigger Load: The Missing Spec

That rather important piece of information is not in any of the spec sheets other than for the Powerflow Sundial M2/S2 for which it is ~150W. Too high to kick in and handle our typical ~70W fridge/freezer load.

The Sonnen UK technical director confirmed in email a cut-in figure of ~30W for the Sonnen 8.0 and Sonnen 9.43.

In discussions, suggested that the Enphase AC Battery is capable of something the 1W to 5W range, for charge and discharge. That seems plausible as the charge/discharge power per ~1kWh battery unit is ~250W maximum. Substantially on the basis of this claim I have ordered the Enphase from them to use as a testbed.

2018-08-06: Installation Day

Enphase AC Battery charged

This may be sweaty work: it's due to be 32°C in the shade at 16:00...

The Eco Partners crew arrived in their van ~14:30.

I'm happy to say that the Enphase guys are cheerfully and professionally coping with the complexity of my system, and my awkward small space.

When the Enphase Envoy-S wouldn't talk WiFi to my Technicolour Internet router (a known problem, it seems) they worked round the issue by providing and setting up a WiFi extender. (Another reason to get my RPi3-as-AP done!)

They have done a nice neat job siting the Envoy-S (not enclosed in any outer box) between the consumer unit and the meter box, with a plain white domestic-friendly isolator switch.

By 16:15 the backing plate up for battery was up, Envoy-S was up, and largely plumbed in to power, CTs, etc. Wire run for battery is not yet done.

By ~17:45 everything installed, wired up and commissioned; battery charging!

All round a tidy professional job by a pleasant and helpful crew.

(At the end I was (proudly) shown how almost all the packaging was cardboard that went straight in my recycling bin!)

The balance of the fee was taken on my card just before they left.

I was asked some details to get my on-line account set up, including the schematic, and the direction(s) and inclination of my panels.

I can expect to get access to the on-line account in a couple of days, but it is gathering data in the interim, I am told.

Initial Tests

A couple of simple tests to exercise the battery before having access to the full data torrent...

Discharge Test

The battery has a little charge (~25% as shipped, some from my PV). The sun is going down so generation is ~500W. The dishwasher is full so I have started an ECO cycle. When the main wash starts, with a demand higher than our PV generation, I'll watch for the house to start importing, and the Enphase battery light to go to blue pulsing to show that it is discharging to try to minimise imports.


The battery is charging nicely in the morning (from ~6am / 05:00Z), briefly switching to discharge as I make a cuppa, with the 3kW kettle demanding more than the available ~1.25kW of PV! Full (solid green indicator LED) by ~1pm (12:00Z).

Night Flow Test

Overnight I'll see if the gross grid flow as seen by the Loop meter drops from its customary 80--90W.

This may not work if the battery is too depleted to cover the load.


It seems that the house was powered from the battery for at least the early part of the evening (TV, lights, etc). The Loop meter also saw a reduced (but not zero) load up to at least midnight, ~20W lower than usually reported. (None of the residual may be real... An interesting symptom is that electricity readings are coming in very infreqently, possibly not even hourly, indicating very little flow to power the Loop sensor transmitter, presumably taken parasitically.) The battery was empty before ~3am.


Enphase Envoy S

2018-08-08: I now have access to the Enlighten service.

(See the available published data set.)

The very first "Recent Consumption" data sample that I have downloaded confirms the night consumption rate to be somewhere under 20W. This suggests that the 'other' ~60W that Loop was seeing was indeed false. Phew, fewer vampires than I'd feared!

At the moment I'm not seeing generation or grid/battery flow figures in this interface.

There are various interesting graphical presentations of the data available. I can clearly see 0.8kWh being used by the dishwasher overnight for example, though had to tot up manually the Wh figures per 15 minutes.

Having connected directly over the Envoy's local AP, having enabled it, and fetched the production.json file, I see all the juicy data I want. But some particular items of interest in one snapshot are:

The minimum supported load does not appear to be exactly 5W, but seems to wander a bit between under ~5W and up to ~15W. The Enphase seems to correctly avoid making any exports.

I've managed to connect to the same page(s) on the Envoy via the local LAN: I'll have to pin its IP address down if I am going to poll it automagically and reliably from the RPi.

But in any case, I'm not letting the best be the enemy of the good. Hurrah! I now have a simple script polling the Envoy-S every 5 minutes to match the cadence of storage reporting, generating gnuplot-parsable log output such as:

20180809T03:15Z consumption.readingTime 1533784500 3.813 0.014 production.wNow -3.799 storage.percentFull 40 storage.wNow 10 storage.readingTime 1533784343

(Core idea of polling the Envoy's /production.json c/o Enphase Envoy-S "Data Scraping": thanks!)

2018-08-09: the installer switched on the features needed for me to see all the data, visible in this screenshot. See the dishwasher running the ECO program starting ~1am.

See the Enlighten public view of this system.


2018-08-11: a day where we were mostly away and so loads were small (~2.2kWh) and only ~0.2kWh was imported. Without the battery maybe 0.5kW+ would have been imported.

2018-08-13: my manual meter readings ~24h apart show 3.1kWh, but the Enphase for the same interval indicates 2.9kWh of imports, via the Web interface. The Enphase interfaces (Web and data) show lifetime values which can be matched over a lomger interval for a better idea of the Enphase's accuracy. And indeed supply meter and Enphase record ~14.2kWh imported since the Enphase was installed 7 days ago. (In the same time 104.1kWh was generated by the PV, and gross consumption was 39.6kWh including storage charging.)

2018-08-15 07:15: PV has just started to generate and stats so far from the Web interface are 40Wh PV generation, 590Wh consumption, ~130Wh imported. So 3/4s of night imports (after midnight) avoided, hurrah!

2018-08-15 08:30: just confirmed that the rather bright status light on the battery module cannot be turned off or down in software, so I may cover ours physically!

2018-08-19: the Envoy has found itself a new address on my LAN, breaking my crude data collection tools! So I'll really have to pin down its IP address. For now I'll continue to play along with the new IP. (The Enlighten data collection appears to have continued uninterrupted.)

It seems that figures in the Enlighten on-line view may be revised several days after the event. Consumption figures for the 16th and 17th were significantly reduced by today (from ~1.7kWh to ~1.4kWh).

2018-08-20: the Envoy has wandered off again to get a new IP address. I suspect my router rather than the Envoy itself.

2018-08-25: the Envoy has wandered off again, so I lose another few hours' data before I see the warning emails and can manually fix things...

2018-08-26: and again...

2018-09-08: the 'net energy' report for August still seems to be being tweaked restropectively.

< 2018-08-31 04:15:00 +0100,0,13,0,4,0,9
> 2018-08-31 04:15:00 +0100,0,14,0,4,0,10
< 2018-08-31 10:30:00 +0100,342,60,217,0,66,1
> 2018-08-31 10:30:00 +0100,342,59,217,0,67,1
< 2018-08-31 14:45:00 +0100,548,29,517,0,2,0
> 2018-08-31 14:45:00 +0100,548,30,517,0,1,0
< 2018-08-31 15:15:00 +0100,587,18,568,0,1,0
> 2018-08-31 15:15:00 +0100,587,17,568,0,2,0
< 2018-08-31 16:30:00 +0100,454,43,410,0,1,0
> 2018-08-31 16:30:00 +0100,454,42,410,0,2,0
< 2018-08-31 17:45:00 +0100,188,37,122,0,29,0
> 2018-08-31 17:45:00 +0100,188,36,122,0,30,0
< 2018-08-31 22:15:00 +0100,0,25,0,3,0,22
> 2018-08-31 22:15:00 +0100,0,26,0,3,0,23

Interestingly battery charging from the 6th is recorded at ~26kWh, with discharge at ~21kWh. The latter represents avoided imports. The difference is mainly the self-consumption of the battery itself and losses (not including the Envoy), so ~0.2kWh/d (8--9W). So an effective round-trip efficiency of ~80%. Though that is a little unfair since the battery arrived charged to ~25% and was nearer 50% at midnight on 31st August, so maybe 81% efficient overall!

2018-09-09: today I am running the weekly 'hot' maintenance wash for our dishwasher. The sky has been quite overcast, so guessing a good time to run the dishwasher was tricky, to cover the water heating (>2kWh) parts. Indeed, it was unlikely that I could find any start time when all the consumption would be covered by PV generation. Indeed, as clouds were passing the house was switching between exporting and importing, and here the Enphase provides twice the smoothing effect to the grid than its nameplate rating suggests. As the battery is not full, it absorbs ~260W of any potential exports, then reduces any imports as a cloud passes by (up to) the same amount.

Storage Interop

2018-08-27: I adjusted the off-grid storage control system to avoid taking its load off-grid if its state of charge is relatively low and the house is exporting (spilling) to grid, because the AC battery cannot absorb it. This lets the off-grid system recharge faster while there is 'excess' on-grid. This then helps share available energy better between the two storage systems, and help to minimise imports in the evening peak for example. The effect is likely to be small, since the off-grid system has to be struggling while the grid-tied is not. Maybe this could contribute an extra 0.1kWh/d, but its a few lines of new code; no extra hardware. The off-grid storage algorithm continues to take load off-grid when possible at higher priority than this tweak, when grid intensity is high. Thus, first minimising imports (or maximising imports) at times of high grid carbon intensity, then minimising imports and maximising self-consumption overall. (This mechanism should fail 'safe' when the Envoy goes AWOL, reverting to normal behaviour, ie assuming that there are no exports.)

For 2018-08-29 with much less off-grid primary-array generation than the previous day, the 'dump' load was kept off grid a little longer after midnight. ~80Wh was displaced from exports to overnight.

Note that over the last few days with us away, so minimal load (not massively higher than the battery capacity ~1.6kWh/d vs 1.1kWh) and significant excess (though variable) PV generation each day, the battery is performing will with ~90% self consumption rather than ~50% for the matching period last year.

Network Dropout

2018-08-31: caught the Envoy dropping off the network (top LED is red). Network itself including WiFi is fine. In this case powering off and on the WiFi extender seemed to let the Envoy reconnect immediately, before the extender had finished rebooting... The Enlighten Web interface then showed the 'missing' ~50 minutes' data very quickly also.

As of ~14:00Z the lifetime figures shown on the Envoy's home page were:

Matching values from production.jsp are:

2018-09-01: IP address changed again, losing a little over an hour's data...

The new 's' off-grid code (don't dump if the battery isn't full and the house is exporting/spilling to grid) seems to have helped the battery get to FULL twice in quick succession, even with less than stellar insolation, which is an unexpected bonus.

2018-09-02: connectivity lost again, around noon. Power-cycling the WiFi extender made the (top) connectivity light on the Envoy green again. Finding the IP address and updating cron (etc) remains slow and a pain...

(This fun continues sometimes a few times per day. Not necessarily the Envoy's fault, indeed likely not so.)

2018-09-09: since fixing the IP address that my router hands out to the Envoy (based on its MAC address) other than one glitch likely caused by the WiFi extender, there have not been any further drop-outs. The WiFi extender is now powered off also, saving some juice!

2019-02-23: probably for about the first time this year, with some sunshine yesterday and low demand overnight with the rest of the family away, the house coasted without fully discharging storage by this morning. Therefore we were effectively off-grid most of yesterday and so far today.

2019-07-21: the circuit on which the Enphase sits tripped ~12:00Z, and the Enphase seemed to recover gracefully when power was reconnected.

WiFi (to the new Vigor router) still seems to be a bit flaky, requiring manual reconnection (holding down top button until LED goes red) every few days at times.


Self-consumption, ie (Net - Import) / Net, where Net consumption = Import - Export + Generation, rose from 48% in August 2017 to 72% in August 2018 (~0.5kWh/d reduced imports). The Enphase was only installed on the 6th, and August is a special low-consumption case.

September 2018 roughly halved daily imports compared to September 2017 (1.6kWh/d vs 3.2kWh/h), with self-consumption up to 69% from 37%. Some behaviour change and better PV generation may have helped.

No External Control

One aspiration with this kit was to adjust the charge/discharge conditions, eg to match a dynamic ToU tariff or live carbon intensity.

Via the installers, from Enphase on 2018-11-06, I received the following:

I can imagine what he wants but it's impossible...

Only Envoy and our algorithm can send charge/discharge command to battery. And there is no possibility to set a maximum charge level…

While disappointing it is not entirely astonishing, and it is probably positive from a security point of view, for now.

Update 2019-05-04: the battery seems to be saving roughly 1.5kWh of inputs (ie higher than its nominal capacity) each day, and this nicely raising self-consumption too.

I sought a quote (including installation) for adding one or two more units on the anniversary of the first installation and received (including VAT):

Update 2019-05-31: the next-generation system including "IQ8" should be available worldwide in 2020.

2019-10-13: Simulating ToU Pricing

Enphase tariff flat to ToU 20191013T10:26Z flat Enphase tariff flat to ToU 20191013T10:26Z setting ToU Enphase tariff flat to ToU 20191013T10:26Z ToU Enphase tariff flat to ToU 20191013T10:26Z peak rate band shown in overview

Up until today Enphase has been in "Single Rate" mode which reflects what we are paying.

This allows the battery to charge or discharge whenever needed, and should minimise external flows.

Looking at Octupus Agile ToU pricing, reflecting to some extent real grid demand and costs, I note that it is (for Feb 2017 to Feb 2018) around 10p/kWh for 21h, then around 25p for the 3h from 16:00 to 19:00.

I shall set these prices and times in the Enphase tariff settings noon-ish, to see how the Enphase ACB hoards energy to minimise grid imports 4pm to 7pm. I am having this the same for each day of week and season, and I am not asking the Enphase to charge from the grid at night. (Enabling that to shift some grid imports to the small hours in winter, especially of early-morning flows, may be interesting in future. Enphase seems to recommend its use if there is an early-morning peak.)

(I might apply an algorithm to reserve a certain portion of capacity that can only be discharged between those times. That portion might be something like the ratio of peak to normal p/kWh.)

I expect this to slightly reduce self-consumption, but probably be nicer to the grid, helping reduce peak demand.

None of this may have much effect at this time of year.

11:06Z: as of about 40 minutes from setting the ToU values, the battery behaviour seems to have changed. Just now, with low PV generation (~112W) and the washing machine on spin (typically ~500W), the battery continued to charge, allowing imports from the grid. Normally it would be discharging to try to eliminate those imports.

2019-10-14: From 10:00Z to 13:15Z so far (ie from ~5h ahead of start of 'peak time') the Enphase has not discharged to avoid imports (it did on just three occasions before then today; it has been a miserable day). This would make sense to have a chance to fill at 0.25C rate before peak. Note that since in this case the peak is 3h long, the battery could not discharge more than 75% during peak. Thus, when SoC is over 75% the battery could discharge as normal to suppress imports outwith peak time.

I've tweaked the ToU tariff for the whole weekend to be off-peak, since that probably reflects demand reality for the GB grid. That should maximise our self-consumption at weekends.

2019-10-20: Night Charge Experiment

As a small experiment, because the battery is already empty (before 9pm), and tomorrow looks dull, I've set the Enphase to charge between 03:00 and 03:59 local time. That hour should represent about 25% charge, or ~250Wh.

This has the effect of bringing forward some of our load a little, into minimum GB grid demand and carbon intensity. That reduces the demand ramp-up rate for our house, and the grid, when we get up and start the day.

I'm not intending to run other big loads overnight, such as the dishwasher.

I'm not yet expecting to keep this setting, at least not when I can hope for a moderately good charge most days. Maybe I can add a tiny supplement to GB storage capacity mid-winter. Ideally this would be driven by forecast or residual energy (eg don't charge above 25% from grid ever) and thus could become more "fit and forget" and good to leave in place year-round.

Enphase AC Battery Enlighten night charge 20191021 screenshot Enphase AC Battery Enlighten night charge 20191022 screenshot

2019-10-21T02:00Z: the night charge has to be associated with the right part(s) of the tariff, eg with the weekday element if required there. The UI is not helpful and may even have changed appearance, not showing the weekday part at the weekend, so I missed it. The UI for example does not show the peak-time hours band for weekdays when viewed at the weekend which is poor. I'm having difficulty getting this feature to engage at all, so have pushed it back an hour for weekdays...

2019-10-21T13:45Z: the battery did charge to ~25% by 5am local time, but then grimly held onto the charge (presumably until the 4pm-to-7pm peak), refusing to cover any loads. The battery is now full, prematurely, before the sun is down, so losing the opportunity to soak up that 25% of sunshine that could have come off our imports. I'll let night charging run again tomorrow (now from 2am local time), but will then disable it if the same behaviour is shown again. (Or unless I can persuade Enphase to fix it.)

2019-10-22T12:10Z: it all gets worse! Enlighten partly went off the air mid-afternoon yesterday so I couldn't see well what was going on. But yes, the battery then absorbed little of the local generation that it should have, used little of its capacity, and charged to completely full this morning while refusing to cover any loads. This may have been a bad side-effect of the Enlighten glitch, so I'll give it one more chance... Else I'm just helping the grid badly without reducing self-consumption at all!

2019-10-23T07:00Z: this is definitely not working well for me; the battery is not releasing charge to cover loads outside 4pm to 7pm. I have turned off the night charge. I have sent a note to Enphase support suggesting a change.

I'd still like to be able to override the charge-from-grid/hold/normal behaviour securely in real-time from my RPi, for example charging from the grid at night up to a percentage controlled in part by predicted generation for the next day and available green power on the grid during the night. In summer, that charge limit would almost always be zero or near-zero, mid-winter it might be nearly 100% if little generation is expected that day.


16WW Enphase AC Battery and house flows, London UK
16WW Enphase production.json AC Battery data 5-minute and daily, domestic installation, Kingston-upon-Thames, London, UK
Enphase, Battery, grid-tie, storage, grid, London, UK
temporal coverage
spatial coverage
UK centre 51.406696N,-0.288789E elevation 16m
directory of 5-minute and daily Enphase data
directory of ad-hoc Enphase 16WW data
canonical URL
this descriptive text with markup
this dataset is licensed under CC0, ie it is effectively public domain; if you make use of this data, attribution is welcome but not obligatory