Earth Notes: On Solar DHW @Home, Thermino and PV Divert

Updated 2022-06-23.
Solar hot water, low carbon. #solar #DHW #PV
If I were applying for government funding I'd call this a cross-vector hybrid time-shifting storage-based DHW carbon-reduction scheme. Which means that I shift some load from the gas grid to the electricity system (though probably not to the grid itself) while cutting CO2 emissions.

Summary Questions and Answers

Why install a Sunamp UniQ/Thermino heat battery?

To try to reduce our carbon footprint, reduce flows of energy from (and to) the grid, and understand how different forms of storage play together. Basically we get to burn less stuff and stay comfortable.

Will a heat battery save lots of money?

No. I expect it to be roughly a wash on our bills in summer. Every gas unit that we don't pay to import will be balanced by about one electricity unit that we won't get paid to export. In winter, charging the thermal battery from the electricity grid will be significantly more expensive than using gas.

What are some other names for heat battery?

Thermal battery, thermal store, thermal energy storage, heat store, hot water tank. A hot water bottle is a (portable) heat battery!

Will this cover all hot water use?

Nearly. I hope to fairly aggressively charge at night in the winter when grid intensity is lower than direct use of gas (which should get easier over time), and so get almost all our (~1MWh/y) DHW use without the combi firing up.

(As of 2020 this was a "no". This was intended to cover DHW for about 75% of the year, not by coincidence when electricity grid carbon intensity is low, lower than burning gas directly. (This aims to shift ~800kWh of ~3200kWh per year of demand away from gas.) The upshot is that in winter our combi will still be providing our space and water heating, but should otherwise get to slumber...)

What is the energy density of the UniQ/Thermino?

The UniQ 9 unit is 365mm x 575mm x 815mm = 0.171m^2 = 171l, and stores 10.5kWh (see UniQ Heat Batteries Reference Manual 2018-07-19 V2.3). Note that approximately 1l of diesel holds the same nominal energy, but this excludes oxidiser and the machinery to extract that energy; energy can only be extracted from this diesel not stored as new diesel made from my PV electricity, so diesel has a nasty one-way carbon cost. (See some other energy density calculations.)

2019-09-27: What, and Why Now?

In this article I describe the process of selecting and installing a (Sunamp UniQ/Thermino) heat battery to take some load off the gas grid for domestic hot water (DHW) while trimming CO2. The aim is not simply to shift that load to the electricity grid. Instead this should reduce outflows from our PV generation otherwise spilled to grid.

This makes sense now that the typical electricity grid intensity in CO2/kWh is similar to or below that from burning gas in our boiler. Also, the Sunamp UniQ is considerably more compact than a hot water tank, and leaks much less heat too. If we can keep much of that DHW energy in the house everyone's a winner.

This heat battery has to play nicely with our other behind-the-meter Enphase AC Battery, and the off-grid storage.

Our boiler is a Potterton Performa 24 gas combi and does not accept pre-heated water. (Though must be good to ~25C since I've measured that at the kitchen cold tap.) Thus I would prefer a CombiSol type arrangement for auto fallback to combi for DHW so that we can never run out of hot water. I would like the option to tweak control settings to allow it to become a stand-alone top-up-at-night job if we do ditch the gas entirely.

I'd also like options to add extra control/override and monitoring, since the data and experience writeup is the primary reason that I'm doing this.

I estimated that PV diversion could cover most of our DHW needs (~4kWh per day) most of the year. That works better with storage of a more than a single day's demand. The storage can then carry heat into a less sunny day from time to time. (That implies at least a UniQ 6 with a bit over 6kWh of storage.) I'd expect us to be automatically almost entirely using gas for DHW Nov/Dec/Jan.

2019-09-28: Basics and Nice-to-Haves?

What are the basics needed?

  • Must not cause any import from electricity grid (unless otherwise overidden).
  • Must not hamper DHW delivery (eg annoy my family) even mid-winter. Ideally should improve flow rate and temperature stability while using UniQ.
  • Must not uglify the kitchen!
  • Must play nicely with the Enphase AC Battery.
  • Must fit into the slightly cramped space and non-vanilla (two generation feeds) system that we have.
  • Must allow the combi to be tested easily for servicing, eg isolate UniQ and allow combi to heat DHW directly from mains.

What would be nice to have, eg for better UX and grid integration?

  • A 'boost' button to manually allow us to top up enough for a bath, ASAP.
  • Indicator of how full the store is.
  • Indicator of input and/or supplied energy to UniQ.
  • Ability to control/monitor remotely from RPi to gather stats such as DHW kWh and to try out more complex control strategies.
  • Ability to adjust 'spill' margin and delay before diversion starts.
  • Ability to adapt control to supply more DHW so eg ensures at least half full with wee-hours top-up from grid, maybe done slowly to reduce grid I2R (I2R) losses.
  • Ability to adapt control to supply all DHW if combi dies, so eg forced on when store nearly empty (maybe slowly at first to reduce grid I2R losses).
  • Autonomously stop diverting when grid frequency drops to/near operational -0.2Hz limit, after a few seconds at most to be useful, to help avoid load shedding and other grid issues.
  • Ability to work alongside a possible future additional UniQ-based solution for central heating (CH) radiators charged at night.
  • 2020-01-26: Ability to monitor various water flows, eg to see how much DHW from UniQ and how much from combi. Would help with estimating when top-up useful too, and actual energy efficiency.


  • It is not a goal to save money.

Some or all of the "nice-to-haves" are out of scope for an initial install. Avoiding making them hard later, if possible, is a goal.

2019-10-10: Space for the UniQ

kitchen boiler cupboard UniQ destination under combi

I took some bad photos with a tape measure in shot to establish the approximate depth (~60cm), height (~100cm), width (~55cm) available under the combi where the UniQ might live. It will mean giving up some valuable goods storage space (our house is small).

I don't yet have a design sketch. I did find some exciting reports of problems with UniQ 'e' models that won't recharge until either 50% or 90% depleted. Sunamp describes the reports as overblown. I am not troubled by them.

I can take a firmware update after install if need be. For my purposes it's not critical, it just reduces the utility of the store if it doesn't capture all that it could.

2019-10-19: No Design Sketch Yet

I'm still struggling to get any design sketches even though I have spoken to two installers and offered money up-front for the design itself.

2019-12-02: Design Sketch Ahoy!

James Ingram has very kindly produced some initial thoughts for me to digest. Possibly his friends Thermal Battery Solutions could help too.

One element of his suggestion to me is the following outline kit of parts and labour estimate:

System Estimate
ItemCost inc VAT (£)
UniQ 6 with element 2100
CombiSol 240
Hydroflow 160
Eddi* 400
Sundries 100
Materials 3000
Labour (2 men, 1 day) 500
Total 3500

He also outlines some positives and negatives for the UniQ scheme:

  • Negatives:
    • High price relative to alternative: a similar main pressure cylinder setup would be cheaper (though fiddler to fit)
    • Weight: Uniq6 is 105kg, hence the need for 2 men
  • Positives:
    • Space saving
    • Low heat loss
    • New tech early adoption

James lists further ideas in his email (lightly edited), which I am working through the first part of here:

Sunamp UniQ 6 with electrical element.
Width 365 [mm]
Depth 575 [mm]
Height 605 [mm] (footprint doesn't change with model so upgrade to larger unit just requires additional height, that said if you've only 1m the 9 would be a squeeze at 815 [mm] as you'll need some room for pipework under combi)
Hot water cylinder equivalent 142l (volume at 40 deg C 185l) about 2.5 good baths or running your kitchen tap for very approximately 12 minutes (see
Max flow rate 15 l/min
The UniQ controller is now situated in the unit itself (tech guide is out of date and lacking in a few ways).
There's now a power light and I think there may be a 'full' light, I'd need to check.
Minimum input pressure 1.5 bar but you should have that for your gas combi anyway. Might be worth checking at times of high demand, 6-8pm, also flow rate at that time.
That'll fit into your available space with additional plumbing, and should supply your DHW needs when fully charged (depending on usage, do you have data your DHW usage?)

In response to this I've said:

1) I don't think that we've ever had problems with water pressure or flow rate, not that I'd object to the bath filling a bit faster! Anything specific that I should check?

2) DHW usage is about 3 or 4kWh per day in gas demand, which I have going back some time, down to hourly resolution. We now only use gas for DHW and rads.

Eg here's a typical month (DHW gas usage by day) before the heating went on:

And here's quite a high demand day (over 6kWh):

James replied:

1. It's probably fine as I mentioned the combi will have a similar minimum requirement. You could do an approximate cold flow rate at cold kitchen tap using a jug and time or flow rate gauge.

2. I was thinking in terms of litres as another way of looking at it but as we know the Uniq6 stores 7kWh of heat that shows it's suitable for your demand in terms of kWh plus giving potential dull PV day overlap.

Continuing to work through James' huge email, see below 2019-12-15...

Comments and opinions from others very welcome, as I work through this.

2019-12-08: Eddi Diverter API

The Myenergi Eddi looks like a good candidate for solar PV diversion that understands playing nice with a battery.

A few days ago I popped a query into Myenergi's enquiry form:

Is it possible to extract data from the Eddi automatically over (say) Bluetooth or Wifi or USB, as I already do with an Enphase AC Battery and various other devices, for logging and analysis?

After some discussion, today I received a nice email thus:

Although we don't have an officially supported API at the moment, we do have an API which is in Beta and which a number of our users have managed to reverse engineer to very good effect.

Have a look on our forum at

And this thread in particular which will give you a good introduction to what they are up to

In the future we do plan to publish and officially support the API.

I have asked some more questions:

1a) If I buy a unit before your API goes "official", eg by Feb, will I nonetheless be able to tap into the device to get data, and is that likely to stop working eg when you go official?

1b) Is it possible to upgrade the unit in situ to your official API (I'm assuming that I can talk directly to the unit, not via your servers) later?

2) Is the hub or any other equipment required to use this (proto) API?

The Myenergi forum is interesting, but from reading I see that comms would not be local as things stand:

Ah, I see from further reading that the API is to your central servers. I'd vastly prefer something local for a number of reasons, including connection and service reliability, and never imposing an unreasonable load on your servers.

I am able to locally poll my Enphase unit even when the Enphase central servers are unwell, and I don't feel bad about polling every few minutes.

Happily Myenergi responded at 8am (on the 9th)!

  • You can access the data now using the (unsupported) API.
  • The only significant change that we envisage before supporting the API will be to require that user have a key which we will issue when they register
  • The API will continue to be developed with new API calls
  • Yes – you need the myenergi Hub
  • At the moment all calls are routed via the myenergi server. To provide local access directly to the hub requires additional hardware and firmware development
  • You are OK polling our servers every few minutes

2019-12-15: Design Sketch Continued

I'm continuing to work my way through James' email, see 2019-12-02 above...

Sunamp recommend a quality limescale inhibitor as a must and advise using a Hydroflow h38 (see

Do you have a water softener or anything similar already?

We'd also need to fit a small expansion vessel/shock arrestor in the system.

So no, we don't have a water softener (our water is not hard).

According to the Thames Water tool for our postcode, we are in area "KINGSTON SOUTH" and our water is in fact hard at 257ppm of Calcium carbonate (CaCO3).

The HS38 seems a little 'magical' to me. It seems unlikely that anything using 1W and on the outside of a decent copper pipe can do anything meaningful to what is in that pipe, and I'm not seeing linked reports on the product page that would make me change my mind!

under combi 20191215 under combi 20191215


A photo of the cupboard space below the boiler would be useful.

James continues:

Linking it up to your combi boiler is straightforward via a solar-combi diverter valve. This will enable the gas combi to cut in once the store is depleted.

[There are a] couple of diverter valves available on the market. These pretty much fulfill all the functions in that basic schematic I sent you.

  • Grant CombiSOL
  • Instasol Combi

The Instasol outputs 28c to the boiler and I'm not sure if that's adjustable, output is 35-55. The Combisol is 24c – 49c so perfect (that 49 will more than likely be adjustable). It's also cheaper.

There's potential to make up these valves from basic parts to keep cost down but the all in solution seems convenient.

new consumer unit going in during 2010 PV system upgrade

Then he says:

On the electrical side, without much research on the other PV dump options it pretty much looks like the Eddi will do a lot of what you're after (at a price).

I've got an iboost+, it's pretty basic and has a noisy fan, it's 2 output, does what I want but looks very basic compared to the Eddi functionality.

That'll give you export only dump, boost, timed boost, input level control, a 2nd dump circuit and quite a bit more, also looks upgradable perhaps for future grid input/output activity.

All you need is a spare way on your consumer unit, for a new circuit to feed the Eddi and Uniq, worst case scenario we could use the combi boiler spur supply as long as it doesn't overload that circuit.

What distance is it to your CU?

It is ~8m from the CU (there are two spare ways) to the boiler location, around the outside walls of the kitchen.

As James points out:

Only a short run then (and potentially easy if behind kitchen cabinets?). It would be good to put it on its own 16A MCB or RCBO.


The Eddi could potentially go anywhere along [a new] radial run.

As to my possible expansion to cover space heat in future:

Expanding it to do your heating at some point.

It's possible but depends a lot on your load, it would be pricey unless the heat batteries drop significantly in cost over time.

A mix of several larger Uniq units and a small electric boiler would probably be the way to do it. An ASHP using a Uniq unit as a buffer might well be more energy and cost efficient.

2020-01-03: Avoiding Scale Build-up

While I didn't think that our water was hard (though it seems that I'm wrong), I am aware that we do have the odd scale mark (eg in the bath tub), and our boiler was very different after its heat-exchanger was descaled once!

Given my uneasiness about the HS38, I asked on buildhub if anyone knew of anything to support its functionality, or for alternatives.

For salt-based softeners, Harvey and TwinTec were recommended. The Harvey is of the order of £900 to buy, it adds sodium to the water so probably best not used for drinking or cooking, requires regular replacement of salt blocks, and takes up a significant fraction of the space of a UniQ. Costs may be partially recovered in increased heating efficiency for hot water, and in the dishwasher and washing machine if downstream. Soft water may gradually undo any scale already laid down. The Harvey does not require electricity.

An alternative suggested is the Combimate which is a phosphate doser, so does not soften, but stops more scale being laid down. At ~£170 and small and with a single annual maintenance step, this seems more in line with my available budget and space. Again, I wouldn't route water to the kitchen cold tap via it. This does add polyphosphates to the water, which, like the salt of (say) a Harvey, has an environmental cost and probably makes waste-water treatment harder.

2020-01-05: DHW After The Combi

Ruminating on what we might do to replace the combi entirely, considering only DHW for the moment, and excluding the possibility of AHSP for the moment (cost, planning and logistics complications)...

I found an instantaneous water heater buying guide which suggests a number of power ranges to support different DHW uses. (It notes that these depend on incoming water not being very cold.) The article's scale ranges from 3.7kW to supply a hand basin, through 5.5kW for a kitchen sink, up to 11kWh to supply a bath. Our current combi is notionally 24kW, and a bath can be run at reasonable lick.

The ~3kW (2.8kW at 230V AC) element in an empty UniQ running as a surrogate instant water heater is clearly going to struggle to do a good job even for the kitchen sink. And running a bath from that would be miserable. So the aim would clearly be to anticipate demand and (eg) top up overnight on low-carbon electricity in the winter months (or otherwise) when diverted PV won't cut it. The 3kW of the Sunamp will not strain our electricity supply. 11kW might, especially if other big users are running at the time such as the oven or kettle or dishwasher.

Looking at this as a fallback, for example the 9.5kW Powerstream Eco Instant Hot Water Heater costs under £120 2020-01-05 (RRP apparently ~£290) and is 160mm x 370mm x 84mm (H,L,D). (Manufacturer's page says A single Powerstream will supply 1 or 2 hand wash basins, or a basin and shower, when installed with the optional RM1 manual mixer accessory. They are not suitable for kitchen sink use, other than for hand washing purposes, and should never be fitted to supply a bath and the manual state The unit MUST NOT be fitted to any type of THERMOSTATIC mixer valve or tap.) Something of that ilk is potentially a cheap backup to provide at least a decent hot shower with no storage losses, if storage runs empty. A device like this may also accept a hot feed direct from the Sunamp, simplifying the plumbing considerably.

Maybe better, at 11kW, though still not claiming to be enough for more than a shower with ~3l/min flow at a lift of 30°C that we might want in winter, Strom SEIH11KTS1 Electrical Touch Water Heater Instant Water Heater 11kW is ~£250 on 2020-01-05, size 385 x 260 x 88mm. This one still not suitable for pre-heated water or thermostatic mixer valves.

Aquahot responded to my enquiry to suggest a model that will accept pre-heated water Maximum inlet temperature of 70°C is suitable for use with pre-heated water from solar heating systems: Zip CEX-U Undersink Instantaneous Water Heater 6.6 - 8.8kW £320 2020-01-06 294 x 177 x 108mm (H x W x D), though again not suitable for thermostatic mixer valves downstream. In this case it would not matter as the UniQ output could be routed directly through with no TMV required. Any UniQ-warmed water that was in the unit would however cool to room temperature, so this is an extra source of loss.

Also worth considering is the Stiebel Eltron DHC-E 8/10 instant water heater, see a thread on BuildHub.

No additional instant heat may be required in any case, given low losses from a UniQ 6 of 700Wh/d, ie max ~250kWh/y, or ~25% of total DHW demand, or roughly £50/y currently. In any case, with some extra feedback from the UniQ, eg the <50% full sensor, it may be possible to do without the combi with the simplest version something like:

  1. Divert spare PV generation until full. (Basic functionality.)
  2. Top up for up to ~1h in the small hours to put up to ~3kWh in the store. This will force some imports even in summer, but ensure that some DHW is available every morning first thing. No enhanced UniQ feedback required; doable with Eddi programming. Better: extend top-up time in winter and/or top up otherwise until 50% full, thus no top-up at all if low use and/or diversion sufficient.
  3. Manual 1h boost at any time. (Can be done from Eddi front panel.)
  4. Top up when <50% full outside 4--7pm peak. (Would need UniQ status output.)
  5. Top up when <50% full entirely locally forced by UniQ controller. (Would need UniQ control and an extra DPDT relay, but nice and simple.)
  6. Top up (slowly — 1kW max?) when near empty, at any time, if combi removed (or grid intensity low), to always have some 'instant' DHW. (Would need UniQ status output.)

Without extra UniQ feedback to force a top-up when in danger of running out, or UniQ local ability to force direct top-up at <50%, the overall system would be considerably less pleasant than the current combi 'always available' behaviour. (Auto top-up at <50% would allow a full bath to be run on demand, with recovery time of somewhere over an hour, which would be fine for 16WW; this would limit PV diversion to ~3.5kWh/d, ie the 'top' 50%.)

(When diverting PV, the system could dynamically — and smoothly! — adjust the amount spilled to grid before diversion. From (say) 50W minimum near noon when the grid may be full of spilled PV, or when all is good and the UniQ is empty to avoid fighting the Enphase AC Battery, up to (say) 500W when the tank is nearly full and/or grid carbon intensity is high to help out the grid when short of RE.)

It seems as if it would be useful to run several parallel mains cables from the CU/diverter to the UniQ in one go to save extra work later:

  • 240V 16A+ cable for UniQ control (plus possible local top-up supply, plus space-heat circulation pump, etc) if existing boiler supply is not suitable.
  • 240V 16A+ cable for diverted power to UniQ 6 for DHW.
  • 240V 16A+ cable for future diverted power to separate UniQ for space heat.
  • 240V lower-power cable primarily for signalling between DHW UniQ and diverter, eg a "getting empty" feedback to force diverter 'boost'.

2020-01-20: Schematic c/o Sunamp

Unvented cylinder and Combi pre feed with solar Schematic 002 p2 SA
Schematic for diverter, UniQ and gas combi boiler in correct configuration for 16WW. (Extract from Sunamp PDF, with permission.)

2020-01-26: Likely Formula

I am now reasonably convinced that a solution to do the core opportunistic DHW diversion from PV can work and should be based on the formula:

Eddi + UniQ6 + CombiSol = ~75% of DHW from PV

2020-02-03: Simple Gas Space Heat Replacement

A thought experiment, once the DHW is souped up not to need combi fallback, so I could rip out the combi and disconnect from the gas mains:

  1. The council is determined to pull our place down in a few years, for redevelopment.
  2. We have already greatly reduced gas consumption, from ~9MWh/y (2007) to more like 3.5MWh/y (for a family of four now) of which ~1MWh/y is DHW by my estimates.
  3. Thus there is ~2.5MWh/y of space heat demand over winter.
  4. It would likely be a tremendous pain getting an ASHP installed for reasons, including planning. I'd like to do a heat pump if I sensibly could for many reasons.
  5. Highest mean recent gas demand was 28kWh/d over Jan 2017 with a HDD (12C base) of 248, the highest over several years. Probably 24kWh/d was space-heat.
  6. I want to stop burning stuff, eg gas. I'd like to be grid friendly, eg move demand away from peak.

Why shouldn't I replace the combi gas boiler with a 3kW Willis heater (or possibly two in parallel, one set to a much lower temperature, mainly to help with eg morning start) and circulation pump, guaranteed NOT to run 4pm to 7pm (would probably be enabled 6am to 4pm and 7pm to 10pm ish, called on demand by individual Radbots) and switch to Octopus Agile or similar? Carbon intensity probably up a bit in the short term, OPEX costs probably similar to Ecotricity (eg matching SVT locally, no gas needed any more), CAPEX costs very low. System complexity fairly low. Uses more electricity than strictly necessary, which is a clear downside. But upfront (embedded) carbon of ASHP might not be recoverable before house is pulled down anyway.

The rough mean GB grid CO2 intensity for December and January full months was ~220gCO2e/kWh. A little above the notional 190gCO2e/kWh for burning gas. But my official gas boiler efficiency (SEDBUK) is only ~80%, so probably very comparable if I were to put together the Willis system well.

(2020-02-05: an interesting Twitter thread on GB electric heat, EVs, demand diversity, and how the grid will cope.)

(2020-02-07: in response to my considering an electric space-heat system with/out storage and with/out HP, it seems that current pricing rewards just avoiding 4--7pm rather than soaking up the wee hours. We're not rewarding ToU #exergy and #storage yet? a tweet from Greg Jackson Octopus founder: ... sadly the way the energy system works makes "sensible" structure uneconomic. There's currently no "discount" to us for using empty distribution network at night. Solving this would be HUGE.)

2020-02-09: Dear #EnergyTwitter, for the last ~5 years of the life of this house would it be better to keep the current ~80% efficient gas combi for ~2.5MWh/y of space heat, or switch to low-capex direct resistance, assuming a heat-pump with CoP ~3 is not reasonably do-able?

Return Willis MVP

2020-05-21: rather than completely replacing the combi, it seems to me that I could put upstream of it, ie in the rads return pipe, a Willis heater (~£40) set to a slightly higher temperature than the combi's radiator flow temperature. Not so high as to risk damaging the combi. This should then prevent the combi from ever firing if the Willis is on and supplying enough heating power. This gets the benefit of the existing combi's pump, and an immediate automatic fall-back to gas if needed.

The Willis would only be allowed to be on when electricity intensity was lower than gas intensity, and outside of peak electricity demand times, and when there's actual demand being called by Radbots. Maybe the boiler would fire briefly before Willis-warmed water would get to it. Maybe I could even generate a separate advanced call for heat to the Willis so that that effect would be minimised.

This could be cheap and simple enough to do alongside the DHW work, and give me an option to shade over from gas at least in part, whenever good from a carbon point of view.

The Willis could be supplied from the second heating element output on the Eddi, which could also limit power if other big electrical loads are running, such as cooking. This could then all be enabled/disabled remotely from my RPi for the carbon-intensity and grid-peak logic, and even the Radbot heat call. That should also allow tracking of the space heat kWh covered by the Willis.

Taking a sample of plausible heating hours in December 2019 (6am--10pm, excluding grid peak 4pm--7pm) with grid intensity under 190g/kWh, suggests that maybe 10% of all hours (~18% of heating hours) would have worked:

% gzip -d < data/FUELINST/log/201912.log.gz | awk '$1 ~ /T((0[6789])|(1[0123459])|(2[01]))/ && ($2 < 190)' | wc -l
% gzip -d < data/FUELINST/log/201912.log.gz | wc -l

Sample of first eligible slots in 2019-12:

2019-12-06T06:00Z 184
2019-12-07T06:10Z 171
2019-12-07T06:20Z 172
2019-12-07T06:30Z 174
2019-12-07T06:40Z 179
2019-12-07T06:50Z 180
2019-12-07T06:55Z 182
2019-12-07T19:40Z 187
2019-12-07T19:50Z 185
2019-12-07T20:00Z 182

(GBF thread.)

2020-03-31: On Hold

Given the coronavirus lockdown this project is on hold for now as 'non-essential'. It may not happen for a year unless the lockdown is as short as 3 months, in order to be able to catch some of this summer.

The vote for regeneration of the local estate was 512:190 in favour, so this house will almost certainly have been pulled down within a decade. That means any sort of heat-pump is unlikely to be financially viable — or a lifetime carbon saving — as a replacement for the combi.

2020-05-03: Year-round Top-up Thought

In order to minimise DHW carbon footprint through the year while allowing fallback to the combi when the UniQ becomes empty, I could force an electric top-up to the store whenever:

  • grid carbon intensity is significantly less than burning gas directly,
  • the UniQ is (say) less than half full,
  • the grid is not around peak demand (eg 4pm--7pm or 'red'),
  • house demand is not currently high (eg from cooking).

That 'half-full' threshold could be cranked down if lots of PV generation is anticipated soon, so as to leave space for it, or cranked up when little PV spill is expected such as in mid-winter.

If this causes some net imports in summer this will still have saved carbon.

This could attempt a slow top-up (eg 1kW) most of the time, and crank up towards max (3kW) as the UniQ empties, to reduce the need to revert to gas, while keeping grid load low and slow when possible.

If tuned right this should mean that the combi almost never needs to run, paticularly as the grid gets greener.

This may not be the best use of green grid energy until we have too much of it (eg regular negative pricing or similar). The algorithm could change to top-up whenever pricing is zero or negative instead, to help absorb excess.

2020-09-18: No Green Voucher For You!

It seems that none of this work is likely to be eligible (at least as primary measures) for the government's £5000 Green Homes Grant voucher scheme.

2021-03-21: DC Dump?

I'm sure that there's something like 500Wh to 1kWh per day in the sunniest six months going unused in the off-grid system from the ~550Wp of large wall-mounted panels.

Perhaps, when the off-grid battery is full, or for any other reason they are being allowed to float to Voc (open circuit) ~37V by the solar controller, that could be tapped.

If the raw output from the panels were to be fed to a nominal 240V 3kWh heating element (~19Ω) it would draw ~70W or ~2A. For 12 hours that would be ~800Wh.

Something as simple as the low voltage dropout that I currently use for my NiMH battery charger, but adapted to trigger just above the maximum power point (Vmpp) of the panels (~28V), could do the trick.

That could then be (say) fed to a UniQ3 upstream of the main UniQ6.

But considering the likely energy available, maybe a well-insulated Willis heater either side of the UniQ6 would work.

Maybe even more simple, would be to power something like a Nikou Car Kettle- Portable 750ml 24V Travel Car Truck Kettle Water Heater (~£26 ex-VAT as of writing) with Auto cut off power when water is boiling or Atyhao 12V / 24V 420ml Car Electric Kettle Travel Tea Mug Water Heating Cup Bottle Holder Vacuum Flasks Thermoses (~£21 incl VAT) to keep water hot for tea and coffee off-grid.

I could experiment by monitoring how often such a raw ~28V dump triggered, and how much power it drew. I could add a voltage monitor for the raw PV DC, analogue to an ADC, or capture it via the Morningstar controller.

2021-07-11: Brain Dump

Still not installed. Still planning to get on with it.

Given the observations in Do people with PV panels consume more electricity?, especially the point about energy stores getting full before noon, I might do all of these before (say) 11:00Z and/or when grid intensity is high:

  • Widen the spill to grid (say) from 50W to 250W before diverting.
  • Set a maximum level over which the store should not fill.
  • Set a maximum power at which the store can fill.

All of those help with grid management and making best use of PV generation from a grid point of view. All can be gradual rather than binary. High intensity can be 'red' and/or when over the 190g/kWh for burning gas.

I note that @Zapaman says:

Before the entire Sunamp(s) setup it was ~4.5kWh/d gas. Last summer with Sunamp iPV but no ASHP it was ~1.65kWh/d gas. So yes consistent with a fairly poor boiler efficiency I would estimate.

This was, from other figures, replacing gas kWh with electricity kWh roughly one for one.

2021-09-16: Waste Water Heat Recovery

This month I have replaced my off-grid battery storage and a second grid-coupled Enphase AC battery.

Having gotten those out of the way, I'd like to restart the planning for the UniQ installation.

I may wish to try putting the phosphate dosing device in first, to separate out that complexity and effort and experience.

I am on a webinar today hosted by the SEA (Sustainable Energy Association) presenting results for WWHR (Waste Water Heat Recovery), particularly considering how this interacts with heat pumps.

So maybe I should include WWHR on the existing boiler feed right ASAP to recover heat from shower use (ie when the boiler will be drawing water while hot water is flowing away).

Quote from the session: We tend to shower at about 41°C and get uncomfortable below that.

Things to consider for viability fo WWHR:

  • Estimated fraction/kWh DHW for showers for us, possiblt recoverable
  • The likely remaining lifetime of 16WW as a building
  • How easy it may be able to get to the bath/shower waste to install
  • How easy it may be able to get to the bath/shower waste to install
  • Capital/install costs of WWHR

We are not a two-long-showers-per-person-per-day household! It seems that between us we maybe only take ~5 showers per week. (Some of us prefer baths for example.) A suggested figure of 2.5kWh/shower (pulled up from the Intarwebs) would imply ~650kWh/year on showers; not all would be recoverable. Note however that avoided gas consumption with the UniQ in pure diversion, assuming ~4kWh/d DHW covered for 6 months of the year is ~720kWh, so WWHR should not be written off prematurely. WWHR should be effective all year and may possibly be more effective in winter with a higher differential temperature between waste water and incoming mains helping heat exchange.

Note that sust-it suggests lower energy per shower, with mid-table and a shower per day coming to ~550kWh/year.

For reference the Showersave Vertical System (QB1-21 / QB1-21C / QB1-21D) seems to retail at somewhere around £500 excluding VAT. Claimed around 60% efficient, assumed to mean 60% heat recovery.

2021-09-18: Carbon Diversion

I just did a quick and dirty check to see when grid intensity has been lower this year than gas per kWh, ie when it would make carbon sense to divert PV generation to a heat store via immersion rather than let it spill to grid and reduce emissions elsewhere.

Picking out samples from 10:00Z to 19:59Z (when we might have some sun), and GB grid intensity <190gCO2e/kWh from the start of 2021 gives:

% cat data/FUELINST/log/live/2021*.log | awk '$1 ~ /T1/ && ($2 < 190)' | head
2021-01-16T10:10Z 162
2021-01-16T10:15Z 165
2021-01-16T10:25Z 169
2021-01-16T10:35Z 172
2021-01-16T10:45Z 173
2021-01-16T10:55Z 177
2021-01-16T11:05Z 178
2021-01-16T11:15Z 177
2021-01-16T11:25Z 174
2021-01-16T11:35Z 174
% cat data/FUELINST/log/live/2021*.log | awk '$1 ~ /T1/ && ($2 < 190)' | tail
2021-08-13T17:55Z 179
2021-08-13T18:05Z 179
2021-08-13T18:15Z 180
2021-08-13T18:25Z 181
2021-08-13T18:40Z 185
2021-08-13T18:45Z 186
2021-08-13T18:55Z 187
2021-08-13T19:05Z 189
2021-08-13T19:15Z 188
2021-08-16T10:05Z 189

So not since mid-August at all given the UK's long wind drought!

If I'm happy to pre-charge the heat store from the grid when intensity is low, things are marginally better!

% cat data/FUELINST/log/live/2021*.log | awk '$1 ~ /T[^1]/ && ($2 < 190)' | tail
2021-08-31T03:45Z 185
2021-08-31T03:50Z 185
2021-08-31T04:00Z 184
2021-08-31T04:00Z 184
2021-08-31T04:05Z 184
2021-08-31T04:10Z 183
2021-08-31T04:15Z 184
2021-08-31T04:20Z 185
2021-08-31T04:25Z 187
2021-08-31T04:35Z 189


% cat data/FUELINST/log/live/2021*.log | wc -l
% cat data/FUELINST/log/live/2021*.log | awk '$1 ~ /T[^1]/ && ($2 < 190)' | wc -l
% cat data/FUELINST/log/live/2021*.log | awk '$1 ~ /T[1]/ && ($2 < 190)' | wc -l

2021-09-27: Progress

Some progress!

Following recommendations from PeopleWhoKnow (I'll save their blushes) I put together a list of a few recommended installers. Thank you both!

I'm on the waiting list to be considered by one installer from a few days ago. Another one called me this evening and is happy in principle to do it. He may visit informally for a pint and a discussion soon.

2021-09-29: Estimate

More progress! I have an estimate in today, along with some practical ideas. Not a million miles from the Before Times estimate...

2021-10-04: Combimate

I'm going to order and have installed ASAP a phosphate dosing (not softening) Combimate. We can get an idea of any pros or cons independent of the rest of the works.

It took many attempts to get exactly one of the right thing in the basket! Someone really needs to fix this UX for a 2-SKU site... Combimate Limescale Prevention Device and Combiphos Starter Pack, 15mm (COM1), £146.00 + £29.20 VAT (£175.20 total before delivery). (Delivery charges are mentioned in very small faint type...) I finally gave up with the on-line system and phoned. There's an extra £10+VAT for delivery.

I am told that a Combimate is made up to order and should be with me next week.

2021-10-11: arrival and fitting

20211011 Combimate during installation under kitchen sink

Combimate has been delivered: neither huge nor heavy!

Our favourite sensible builder has arrived to fit it ! I have paused the dishwasher mid-cycle while the fun happens, and indeed it has been powered down and moved out of the way...

Note that everything except the kitchen (cold) tap is being routed via the Combimate. So the kitchen tap remains direct from the mains, as it is where almost all our drinking/eating water is drawn.

Fitting all the pipework in the confined space under the sink took hours, about 4.5h in total! We also have a belt-and-braces pair of in-line cut-off values and a bypass valve, so we can take the Combimate out of line if we decide that we don't like it for any reason.

Meantime we can keep an eye out for our water behaving less 'hard'.

To-do: the dividing tray was left in place (as if for single-appliance use). That will need to be removed and the full 800g of Combiphos loaded...

2021-10-13: Visit

I had a visit today from a possible installer. We worked through the scheme and checked a few measurements, and have not found any huge barriers yet. This chap can't do the Part P electricals, so I may try to get those done in advance.

My visitor very kindly did a water hardness test at the kitchen tap (bypassing the Combimate) which suggested 220ppm Calcium carbonate (CaCO3). At the bathroom tap (via the Combimate) it was maybe showing 220ppm. Though i don't know if anything that the Combimate does should make a difference to this test. (The test involved titrating 10cm^3 of tap water with a drop at a time from a reagent bottle, at first pink, then going blue when enough is added, 20ppm per reagent drop.) Thames Water's on-line tool suggested 257ppm, so this is in broad agreement.

I may be seeing some signs of Combimate changes, eg soap lathering better in the bathroom. But nothing dramatic.

2021-10-17: Control Thoughts

I continue to ruminate on how best to manage the heat battery.

External variables that I may wish to watch include:

  1. Time-of-day (eg for peak demand times ~4pm to 7pm weekdays).
  2. Grid carbon intensity (current/forecast).
  3. Weather/insolation forecast.
  4. Mains water temperature (from monthly data) to estimate lift energy needed.
  5. Current SoC (State of Charge) of other energy stores (Enphase, maybe off-grid) to more effectively prioritise.

Control parameters that I may wish to set for the Eddi to manage in real-time, or slower via my control software (with a suggested range):

  1. Maximum power delivered to UniQ ([0,3000]W).
  2. Maximum SoC of the UniQ to allow further UniQ charging, slow via software ([0-100]%).
  3. Maximum total power drawn by house to allow UniQ charging ([0,4000]W).
  4. Minimum spill to grid power to allow UniQ charging ([50,500]W).

For example, in the 4pm to 7pm peak demand slot, max UniQ SoC or max power to UniQ could be clamped to 0. (And possibly also the max power drawn by the house, for good measure.)

Being slightly more clever it may make sense to actually boost UniQ max SoC just before the peak-time window, though maybe keep the whole-house power low, to encourage topping-up when grid demand and wholesale cost are often reduced. That helps avoid the grid having to ramp generation steeply. The Enphase Envoy-S on firmware D5.0.34 will not try discharge to support loads for ~4h before 4pm (with a peak time tariff set from 4pm to 7pm), so preloading the UniQ from grid then would not steal Enphase charge.

The initial intent is to set the system up 'vanilla' to heat the UniQ when a default (~50W?) spill is exceeded, up to the maximum 3kW UniQ load if the spill/excess would allow it, without watching any of these external variables.

After tweaking parameters for managing diversion so as to minimise carbon, but still relying on the combi as a fallback, the next step may be to start partly topping up from the grid when intensity is (much) lower than direct gas burn, eg in the wee hours. That will be expensive, with each gas kWh being replaced by an electricity kWh costing ~5x more. It would be good to prevent the Enphase discharging at these times, but that is not yet possible. An alternative workaround might be to charge the UniQ at maximum rate (3kW) to minimise the fraction drawn from the Enphase. Another might be to only pre-charge the Enphase overnight when the Enphase batteries are already empty.

The last stage in this madness could be to manage the UniQ so that the combi is never called on, ie the UniQ is kept full enough to cover reasonable demand. The no-combi version of the peak-time lock-out above might be:

  1. Maximum power delivered to UniQ: 1000W to only allow slow top-up and low demand from grid or reduced spill to grid.
  2. Maximum SoC of the UniQ to allow further UniQ charging, slow via software: 25% to be enough for washing up or a quick shower but not a full bath.
  3. Maximum total power drawn by house to allow UniQ charging: 2000W to basically cut out UniQ charging if there are other big loads such as cooking to limit grid load.
  4. Minimum spill to grid power to allow UniQ charging: 150W to dynamically default to spilling more to grid to reduce grid intensity.

2021-11-26: Thermino

Now that the Thermino is on the horizon (same price and physical size, greater storage capacity), I'll likely be going for one of those rather than a UniQ.

The Thermino PV 150 seems to be the equivalent of the UniQ 6, but I might be able to squeeze in the new intermediate size 180 instead.

2021-12-13: Yet More Thinking

I treat burning gas for heat as 190g/kWh, though it is likely higher for us.

Taking December so far there has been plenty of electricity below that (27%), and enough well below that (~11% below 150gCO2/kWh) to cover any storage losses. The latter is enough to capture ~4kWh (half the Sunamp capacity and a day's average use) at ~2kW. That would reduce I^2R losses, and is well below the maximum that the 3kW element allows.

(I'd like to have the Eddi stop importing to top-up at somewhere below 3kW to save some I^2R, but enough above or below 2kW to allow the top-up load to be distinguished from (say) the dishwasher.)

% cat data/FUELINST/log/live/202112??.log | awk '$2<190' | wc -l
% cat data/FUELINST/log/live/202112??.log | awk '$2<150' | wc -l
% cat data/FUELINST/log/live/202112??.log | wc -l
% cat data/FUELINST/log/live/202112??.log | tail
2021-12-13T16:45Z 278
2021-12-13T16:55Z 278
2021-12-13T17:15Z 279
2021-12-13T17:25Z 279
2021-12-13T17:55Z 278
2021-12-13T18:15Z 285
2021-12-13T19:35Z 293
2021-12-13T20:00Z 296
2021-12-13T20:25Z 301
2021-12-13T20:35Z 301

Most of it is in the wee hours.

So a simple carbon-saving top-up-from-grid algorithm (mainly for winter) might work, ie when all the following are true:

  • if the time is between approx 0:00 and 06:00 (or grid demand is in the bottom quartile?)
  • if the tank is less than half full
  • if the live current grid intensity is available and below 150gCO2/kWh
  • if the Enphase AC-coupled battery is empty (to avoid stealing/churning energy from it, and also as an indication of poor solar generation yesterday and thus likely today)
  • if there is a poor solar forecast for today

2022-01-06T16:00Z: an oddity: the grid has just gone relatively 'green' now, which is unusual for entering the 4pm to 7pm peak-demand period.

For the record: Effective grid carbon intensity for a domestic user is currently 190gCO2/kWh including transmission and distribution losses of 7%.

As of the evening of 2022-01-17 I note that there are a decent fraction of the wee hours this month that have had low enough grid carbon intensity to bank:

% cat data/FUELINST/log/live/202201??.log | awk '/^2022-01-..T0[0-6]/ && $2 < 150' | wc -l
% cat data/FUELINST/log/live/202201??.log | awk '/^2022-01-..T0[0-6]/ && $2 < 950' | wc -l

Note here that I am looking at the first 7 hours of each day, to 06:59, UTC.

But there are many days in a row with no such low-carbon overnight spots, eg none after the 9th up until today the 17th, so 8 days out of 17, under 50%:

% cat data/FUELINST/log/live/202201??.log | awk '/^2022-01-..T0[0-6]/ && $2 < 150 {print substr($1, 1, 10)}' | uniq -c
     42 2022-01-01
     43 2022-01-02
     43 2022-01-03
     43 2022-01-04
     41 2022-01-05
     43 2022-01-07
     35 2022-01-08
     42 2022-01-09

Assuming that storage losses would be outweighed by our gas boiler inefficiency allows us more gas-free days, 12 out of 17:

% cat data/FUELINST/log/live/202201??.log | awk '/^2022-01-..T0[0-6]/ && $2 < 190 {print substr($1, 1, 10)}' | uniq -c
     42 2022-01-01
     43 2022-01-02
     43 2022-01-03
     43 2022-01-04
     41 2022-01-05
     11 2022-01-06
     43 2022-01-07
     43 2022-01-08
     42 2022-01-09
     18 2022-01-11
     42 2022-01-16
     13 2022-01-17

Allowing the battery to fill (to 100% rather than 50%) when the following day is (predicted to be) low sun and high carbon might gain a couple more days, ie get about 14 out of 17 or 80% days' DHW without gas, and reduced CO2.

2022-01-02: The Year It Gets Done

After years of delay, it's all going to happen this year, sure thing!

To maximise the chances of this happening smoothly, I'm simplifing things a little.

Here is a summary of where things are:

  • A Combimate has already been installed to deal with hard water.
  • David S, who knows his Sunamp stuff, has informally agreed to do the Thermino installation and plumbing round our combi.
  • Dave M will project manage, including organising electrical works.
  • Sunamp is putting together a Thermio 150 (or 180 if available) ePV, with data port available for additional monitoring.
  • Sunamp can provide other elements such as expansion vessel, NRVs if required, Myenergi Eddi + Hub, from stock, possibly to all arrive on the same pallet.
  • The TMV that can slowly bleed heat from the Thermino into the combi if not hot enough to send directly to the taps, can be a CombiSol or Intasol (555CSD1 combi solar diverter) I believe.
  • The basic system schematic is as above.
  • The Sunamp unit will need to be installed under the combi within the cupboard unit, preferably retaining some of the shelving.
  • The Sunamp will need to be installed so that the %-full indicator lights are visible easily, eg by opening the cupboard door.
  • The Sunamp will need a local control supply (~3A max?) (and I may want to install an extra Raspberry Pi to talk to the Sunamp); it may be possible to use the existing fan/boiler spur, else a new supply cable will need to be brought round from the consumer unit.
  • An Eddi and Hub will need to be installed near the consumer unit and wired for power.
  • The Hub needs physical ethernet to the Internet router at all times, and connects to the Eddi through wireless (not WiFi).
  • The Hub could be deployed in the cupboard next to the router, so no wires need be routed through walls for it.
  • A cat 6 Ethernet (or RS423 serial cable) will need to be brought from the existing Raspberry Pi / Internet router to near the Sunamp unit.
  • A 4kW-capable cable will need to be brought round from the Eddi output 1 to drive the immersion heater in the Sunamp unit.
  • It may make sense to bring a second 4kW-capable cable from Eddi output 2 to the boiler cupboard to allow future expansion.
  • It has to be possible to safely isolate the Sunamp so that the combi can be tested independently eg for DHW delivery on demand even when the Sunamp unit is charged and able to supply DHW directly. This should also allow the Sunamp unit to be removed if necessary, while allowing heating and DHW to be provided from the combi.
  • All these works (Sunamp, cabling, etc) should not be visible in the kitchen unless looked for, eg by opening appropriate cupboard doors.


Physical dimensions of some key items:

Sunamp Thermino 150 ePV
h x d x l: 640mm x 365mm x 575mm, weight 139kg; 180 would be slightly taller and heavier; manual [PDF]
Myenergi Eddi
220 x 205 x 87mm (excluding wall bracket), weight 4.3kg (excluding wall bracket); note antenna at top
Myenergi Hub
100 x 100 x 38mm, the packed weight of the Hub (including ancillaries) is 200g as packed

Eddi to Sunamp Electrical Wiring

eddi wiring
Simplified partial wiring diagram (excerpt from Myenergi Eddi manual: thank you):
  1. Eddi
  2. Mains supply (230V AC from B16 circuit breaker in CU)
  3. Sunamp heat battery
  4. Sunamp heating element (actual rating 2.8kW at 230V)
  5. Isolator (20A double pole)
  • The Sunamp needs its own 3A supply (via 2-pole isolator) from local boiler spur, or brought round from CU.
  • Cable from Eddi to Sunamp heating element should be rated for 16A continuous. This is in the long cable run around the kitchen external walls.
  • Cable (also to be 16A continuous rated) from the second Eddi output is not to be used yet, but may be fed to a second Sunamp unit's heating element in future.
  • The cat 6 Ethernet cable should probably be alongside the 2x Eddi cables to the boiler cupboard for the majority of the route.

2022-01-26: Eddi and Hub

I'm kicking off the next step today by ordering the Eddi and Hub (c/o Sunamp) so that we can get all the electricals done up-front long before the Thermino arrives. (£325 + £70 + £20 P&P.)

This may also let me start setting up access from an RPi to the Eddi via the Hub early...

Arrived the following morning: tinkering ahoy!

I've done some unboxing and the equipment seems well made. There is a small piece of paper or similar slightly intruding onto the top-right of the Eddi display, which I shall ask Myenergi about. (I have sent an email to support.)

I'm doing the very first step of setting up the Hub, ie connecting it to my router and power and updating the Hub's firmware. Then I'm turning it off again until I'm ready to set up the Eddi with it.

That went almost according to the instructions (my server light was continuous white during the update process rather than flashing). My server light ended up solid blue (green was the alternative) when everything had settled down, before and after the update.

I have found my account on the forum.

I'm setting up an account to get at my dashboard to be able to have my RPi talk to the Eddi (via the Hub and the Myenergi servers probably). (I don't like registration demanding to know my energy supplier...)

I see this, which means I'm not going to be able to get further yet:

Before you can register a hub (e.g. your home or office), you will need the myenergi hub device to be connected to your router and paired with the 'master' zappi or eddi device.

Also, amongst other things, I'm being asked for a "Registration Code". I have no idea what that is.

2022-01-31: Myenergi support says that I get the registration code from the Eddi once I have paired it with the Hub. Also that no smartphone app is needed since everything can be done via the Web account. Hurrah!

2022-01-29: Randomised Exponential Backoff

Having a bunch of overnight heat-pump / heat-battery / EV start up on precise half-hour blocks to match tariffs is potentially quite an issue for the whole grid and the DNOs.

Newer EV smart chargers apparently randomise start times up to 15 minutes, but that isn't enough to manage local capacity.

Dyamically responding to overload with a robust algorithm such as randomised exponential backoff should help. Maybe detecting voltage sag is part of the answer.

Maybe my system can be part of the solution by keeping power draw modest, and by applying a backoff if problems such as sag are seen.

Unless the sag response can be automatically taken care of by the Eddi in real-time, the best I'm likely to be able to reasonably do is observe and react every few minutes.

I'm going to snag the Enphase and mains voltage readings to make this possible. I'll have to know what 'normal' is.

I'll also capture Enphase battery state of charge.

2022-01-30: Initial Control Setup

This computes what percentage full the heat battery should be topped-up to from the grid (if not already that full), based on local hour of day, grid intensity, and a few other factors. (Local grid sag is a reason not to dump, for example, though I don't expect it round here as major redevelopment is starting, and I don't suddenly expect an influx of EV chargers while that happens.)

This requires another component to look at target that this generates, the Thermino state, and then if appropriate force the Eddi to dump energy into the Thermino. This could run anywhere that can see both values.

Though top-up is currently only expected to happen when diversion isn't, eg in the wee hours of the morning, it is technically possible if the grid is full of low-carbon 'leccy during the day to override the divert and import from the grid on top of absorbing PV generation.

Heat battery control and DHW control parameters and logs and script.

Insufficiently Clamp

I will fit the supplied Eddi current clamp to monitor grid import/export.

Although I intend to use the Eddi's export margin (and possibly export threshold) and response delay parameters to help the Eddi diversion play nicely with the Enphase AC Batteries, it seems that really I should have a second clamp monitoring flow to and from the Enphase and use the "Avoid Drain" mode. Maybe I'll need to buy and retrofit CT2 later.

And we're off...

Here's the first night's log, with a storm raging over the north of the UK...

2022-01-30T22:21Z MT 0 GI 108 IT 100
2022-01-30T22:31Z MT 0 GI 102 IT 100
2022-01-30T22:41Z MT 0 GI 100 IT 100
2022-01-30T22:51Z MT 25 GI 97 IT 100
2022-01-30T23:01Z MT 0 GI 101 IT 100
2022-01-30T23:11Z MT 1 GI 96 IT 100
2022-01-30T23:21Z MT 13 GI 94 IT 100
2022-01-30T23:31Z MT 25 GI 93 IT 100
2022-01-30T23:41Z MT 25 GI 93 IT 100
2022-01-30T23:51Z MT 25 GI 92 IT 100
2022-01-31T00:01Z MT 0 GI 91 IT 100
2022-01-31T00:11Z MT 1 GI 90 IT 100
2022-01-31T00:21Z MT 2 GI 87 IT 100
2022-01-31T00:31Z MT 25 GI 86 IT 100
2022-01-31T00:41Z MT 25 GI 89 IT 100
2022-01-31T00:51Z MT 25 GI 92 IT 100
2022-01-31T01:01Z MT 26 GI 93 IT 150
2022-01-31T01:11Z MT 27 GI 97 IT 150
2022-01-31T01:21Z MT 38 GI 97 IT 150
2022-01-31T01:31Z MT 50 GI 95 IT 150
2022-01-31T01:41Z MT 50 GI 90 IT 150
2022-01-31T01:51Z MT 50 GI 88 IT 150
2022-01-31T02:01Z MT 50 GI 90 IT 150
2022-01-31T02:11Z MT 50 GI 91 IT 150
2022-01-31T02:21Z MT 50 GI 90 IT 150
2022-01-31T02:31Z MT 50 GI 90 IT 150
2022-01-31T02:41Z MT 50 GI 90 IT 150
2022-01-31T02:51Z MT 50 GI 89 IT 150
2022-01-31T03:01Z MT 50 GI 91 IT 150
2022-01-31T03:11Z MT 50 GI 90 IT 150
2022-01-31T03:21Z MT 50 GI 90 IT 150
2022-01-31T03:31Z MT 50 GI 89 IT 150
2022-01-31T03:41Z MT 50 GI 88 IT 150
2022-01-31T03:51Z MT 50 GI 88 IT 150
2022-01-31T04:01Z MT 50 GI 87 IT 150
2022-01-31T04:11Z MT 50 GI 78 IT 150
2022-01-31T04:21Z MT 50 GI 81 IT 150
2022-01-31T04:31Z MT 50 GI 81 IT 150
2022-01-31T04:41Z MT 50 GI 82 IT 150
2022-01-31T04:51Z MT 50 GI 87 IT 150
2022-01-31T05:01Z MT 50 GI 92 IT 150
2022-01-31T05:11Z MT 50 GI 93 IT 150
2022-01-31T05:21Z MT 50 GI 98 IT 150
2022-01-31T05:31Z MT 0 GI 103 IT 101
2022-01-31T05:41Z MT 50 GI 108 IT 149
2022-01-31T05:51Z MT 0 GI 111 IT 101
2022-01-31T06:01Z MT 0 GI 113 IT 100
2022-01-31T06:11Z MT 0 GI 118 IT 100
2022-01-31T06:21Z MT 0 GI 129 IT 100
2022-01-31T06:31Z MT 0 GI 136 IT 99
2022-01-31T06:41Z MT 0 GI 147 IT 51
2022-01-31T06:51Z MT 0 GI 157 IT 99
2022-01-31T07:01Z MT 0 GI 159 IT 50
2022-01-31T07:11Z MT 0 GI 159 IT 50

There is some smoothed (dithered) ramp up and down visible.

Also a glitch/'feature' just after midnight because the Enphase battery stats are not available yet for that day: I may want to let it use the end of the previous day's instead for at least the first half hour or so.

An initial tweak has been to have the fade in / fade out happen over the first/last 20 minutes of each hour (rather than 30 minutes). This can only provide a fairly coarse level of dither and randomisation. There is benefit in the lower-level Eddi driver also randomising at transitions.

Probably I should try soon to get some traction on the Myenergi API. Eg see MyEnergi-App-Api set boost times.

20220205 heatbatterytarget
Heat target % max fill from grid, vs actual grid intensity and top-up limit threshold, for 2022-02-05 [gnuplot].

2022-02-04: Order Placed

The Thermino 150 ePV order has gone in today: hurrah!

2022-02-05: Hub Step 2 and On

I'm pushing along the Myenergi setup a little further.

I've switched on the Hub again (green Power light, blue Server light). I'm now following the instructions to download new Eddi firmware to the Hub. (Press and hold the Download button until power goes amber then Server white, then a minute or two later the Server light is nack to blue.)

Eddi opened

I am opening up the Eddi for follow support's instructions to remove the sliver of paper top-right:

You can open the front of an Eddi up pretty easy to be fair, the two screws undo them and pull the face-off, then you can remove it.

Ah, I see, the sliver of paper is an arrow at the corner of a transparent peel-off plastic film screen protector! Now removed!

I cautiously provided temporary mains power to the Eddi with the main switch on 'bypass' (II). The (blue) heater 1 LED lit up, the screen was off.

I moved the main switch to 'on' (I) and the screen came alive, backlit. After a while the backlight went out. The screen shows "Waiting for Surplus". The (green) power LED is on.

When the switch is moved to the 'off' (O) position everything goes off.

Ah, now the next hitch, and a question back to support...

Where should I find the antenna for the top of the eddi?

I have found the little package with current clamp and screws, but no antenna.

I see it listed under "Box Contents" in the manual, and I think I know what it should look like, and I have looked through all the packaging several times, but I’m being an idiot. Do you have an image of what it should look like or where it should be within the main box?

Hub step 3 - pairing

I have looked on the Eddi what it already believes itself to be paired with, which is nothing (other than itself!) as expected.

I have noted the Eddi "Settings..." -> "Advanced..." -> "Linked Devices..." -> "Channel..." value.

I have selected "Settings..." -> "Advanced..." -> "Linked Devices..." -> "Pairing Mode..."

I have pressed and released the "Pair" button on the Hub. (Power light flashing red, etc.)

This failed the first time, probably due to not having the Eddi antenna fitted. So I moved them closer and retried. Now the hub serial number is shown on the Eddi screen. I pressed the Eddi tick button to accept the pairing.

The Hub instructions say:

If there are no red or green LEDs displayed on the Hub where it reads Zappi or Eddi, then scroll up to "Pairing Mode" on the Zappi/Eddi and press the Eddi tick button.

The Eddi says "SEARCHING FOR SLAVES" and the LED above "Eddi" on the Hub has lit up red ... and a little later has gone green. I think that the units are now paired.

Hub step 4 - new firmware for Eddi

I am expecting this to be flaky given the missing antenna.

I powered off the Eddi, then powered it on with the tick button held down, the selected the menu entry to download the latest firmware.

This may not work at all or may take much longer than the suggested 20 minutes.

I gave up once and moved elsewhere with the Hub not connected to the router (all LEDs white) and much closer to the Eddi.

It does not appear that the download even started. I'll put this off until another time. I have hit the "Run" option to get back into the main system (rather than power-cycle).

The Eddi is not bricked with the abortive firmware attempt. The date and time seem to have made their way into the Eddi.

I'm now going to retrieve the "Registration Code" which can be found on page 2 of the information menu of the Eddi in the hope that I can progress on-line registration.

Cannot see it there... I can see interesting stuff such as firmware V3.048.5 on page 1, and TX and RX packet counters going up...

Power-cycled the Hub and it this time cam eup with green lights for Power and Eddi only, not everything white as before.

Still not able to update the Eddi firmware...

With Hub connected to router and it and Eddi on and close, on Information... menu (2/4) a Hub Registration Code is now shown.

I tried to register the Hub on the Myenergi site, but (repeatedly) got an unhelpful Something went wrong. This was in my default Firefox browser (with NoScript).

I logged out, and logged in on a separate browser (Chrome). I created a new strongish password during this registration process. Now the Hub is shown as active.

I note that different things seem to be visible from Firefox and Chrome when logging in: the former is not showing the Eddi/Hub and is demanding that I verify myself somehow... Another log out and in and things seem better...

On the Hub the Server LED is now green, indicating successful registration.

Eddi settings

While pootling around I have set minimal parameters to work with the Thermino:

  • Grid Limit: 7A [which should be ~1700W typically]
  • Export Margin: 50W [lowest non-zero, next is 100W]
  • Response Delay: 5s
  • Boost -> Hot Cancel Delay: 30m [to avoid Sunamp cycling causing boost to drop out]
  • Time & Date -> Time Zone -> Auto DST: Off [stay in UTC/GMT for sanity]
  • Exp Threshold: 50W [set 2022-02-25 to match Export Margin, see below]

The oven and dishwasher seem to draw about 10--11A, so the Grid Limit could probably be bumped up a little while keeping a clear NILM signal from top-up.

The Eddi is now showing as "Active" in the online account (like the Hub).

Antenna found!

The antenna was hidden in the paper bag with the screws!

Small vampire

The base consumption of the Eddi seems to be ~3.3W, rising to ~3.9W when the screen backlight is on.

The Hub seems to use ~1.5W (maxing out at ~2.7W at times). Both measured with the Maplin N67HH. Thus ~100Wh per day between the Hub and Eddi.

Off (O) and bypass (II) seem to draw 0.0W (with no load connected). Good.

Myenergi API

Hurrah! I am now able to pull down a loggable line of Eddi stats in JSON with a simple script.

I can also force or cancel a timed one-off/manual boost with another script. It can take a while for commands to get through, and they can bunch up. I could probably safely send (say) every 10 minutes either an 11 minute boost or a cancel to stay continuously off or on. That crude mechanism would prevent any manual boost being set through the front panel though. Slightly more friendly might be to, when wanting to boost, only start one if not already running, and only try to cancel if one is already running that we had previously started (eg rbt is no longer than we would have set, and much shorter than the front-panel 1h boost time...

In the stats output sample below, the bsm value is 1 when this 'manual' boost is active.

{"eddi":[{"sno":XXXXXXXX,"dat":"05-02-2022","tim":"20:53:20","ectt1":"Internal Load","ectt2":"Grid","ectt3":"None","bsm":0,"bst":0,"cmt":254,"dst":1,"div":0,"frq":50.04,"fwv":"3200S3.048","pha":1,"pri":1,"sta":1,"tz":0,"vol":2439,"hpri":1,"hno":1,"ht1":"Tank 1","ht2":"Tank 2","r1a":0,"r2a":0,"rbc":0,"rbt":336,"tp1":127,"tp2":127}]}

Note: Yes, cg-jstatus will report in watts and jdayhour will report in units of 15 joules for some reason. Also:

  • "imp": Imported from grid
  • "exp": Exported to grid
  • "h1b": heater 1 boost
  • "h1d": heater 1 divert

2022-02-06: Eddi Logging

See the Myenergi API scripts and logs.

The basic Eddi JSON stats set is being captured at 10-minute intervals. That can be adjusted if necessary. The ability to ask the Myenergi servers for (eg) historic hourly stats by date means that a finer grain is likely not necessary for these particular samples.

Drop-out frequency 49.91Hz?

Looking at a sample of frequency data (the first ~1 million seconds/samples of 2021-12) suggests that the threshold for the bottom %1 of samples is ~49.854Hz, and the bottom 2% is ~49.868Hz, 10%/~49.91Hz.

To be grid friendly, and if sampling often enough (events will be short), maybe any boost/top-up should temporarily stop when the grid frequency is below or at ~49.86Hz. The Eddi reports to 2DP. The maximum run at/below 49.86Hz was 244s (~4 minutes). At/below 49.91Hz the maximum run was 912s/~15m.

This could be combined with a voltage sag response. Some randomisation before resuming boost/top-up would be sensible.

During such a frequency or voltage drop, rather than just stopping boost, the whole Eddi could 'stop' including any divert. One way or another that would make more energy available to (or reduce demand on) the grid.

It would be interesting to record if/when such demand responses happen.

Looking at the GB National Grid Frequency response services (especially Dynamic Moderation (DM) and Dynamic Regulation (DR)) suggests that if frequency drops below 49.8Hz (-0.2Hz) then the grid's own mechanisms are in trouble. But even below 49.9Hz (-0.1Hz) we could possibly help the big boys, albeit with their 1s/10s response times. ("Operational" limits are +/- 0.2Hz, statutory +/- 0.5Hz.)

On Twitter I suggested in particular that Dynamic Regulation be built in to the likes of Eddi.

2022-02-07: Hub Upgrade

I was directed by support to upgrade the firmware on my Hub (currently showing in the Web account as v3401S1.200). I must have messed up doing that when I thought I had before!

Upload still going (power light white, server light intermittently flashing white) !

After leaving it even longer without apparent completion, support advised me to restart the upgrade process, which I did.

The above white+white state is apparently a diagnostics mode. I tried holding down the download button lomger this time (maybe 1s or 2s) and perhaps the upgrade has worked? On the Web the version is still shown as v3401S1.200, so maybe not. I've left the Hub powered up so that support can interrogate it tomorrow, if they wish...

2022-02-09: Hub Odd

I phoned support, and we went through the Hub upgrade process together live, but the Hub still didn't upgrade. When the Eddi is installed we'll interrogate the Hub more via the Eddi. If I have got a dodgy firmware version (the LED patterns didn't seem to exactly match any of the instructions) then I may get the Hub replaced. We'll see.

Anyhow, thanks to support for continuing to be support and clear and responsive!

2022-02-23: Electrics In

The electrics for the Eddi and Thermino went in today. Took two people from approx 8am to 2pm.

In particular the long run of cables from the Eddi in the hall, round two sides of the kitchen to the boiler cupboard, is as far as possible being kept completely out of sight.

myenergi eddi solar diverter on wall next to consumer unit, both without covers, next to Enphase Envoy
myenergi eddi solar diverter on wall next to consumer unit, with covers, next to Enphase Envoy
myenergi eddi solar diverter lit up running but nothing to divert to yet
Some photos from the Eddi installation (more).

12:43: miraculously I am entirely off grid including laptops and router (and nothing has died) while the sparkie is working on the consumer unit!

2pm: all done. I can talk to the Eddi via the API, and stats are being logged.

4pm: even though the grid current clamp appears to have been correctly oriented (on the live red tail from the DNO fuse pointing towards the consumer unit) I was seeing unlikely and then impossible grid export claims in the stats ("grd":-3031) so I flipped it to the black/neutral still pointing towards the consumer unit. That has the additional benefit of not fighting for space with the Enphase clamp. Grid flows are now more plausible positive imports ("grd":139) given that the sky is overcast and some heavy loads are on.

2022-02-25: Exp Threshold

20220225 heatBatTarget
Heat target % max fill from grid, vs actual grid intensity and top-up limit threshold, plus status, for 2022-02-25.

I started plotting the Eddi status yesterday. Long after exports stopped the Eddi continued to report "sta":5 ie status 5, which is saying that the heat store is up to temperature ie full. The two boost lights are lit up on the Eddi unit and the display confirms the "up to temperature" status.

More precisely it indicates that the heater in the store isn't accepting power, which right now is because the Thermino is in my hallway, not connected up!

I was hoping that this status indication would be a useful crude (non-privacy damaging) measure of overall disposition. Other useful values should indicated diversion and boost.

In case it helps, though I had already set the Export Margin to 50W, I also set the Export Threshold to 50W. No immediate change seen.

Eventually in the evening I set a boost of zero minutes via the API, and the state immediately went to 1 (paused). The two blue lights on the Eddi now off also.

I think that this is a bug, or at least makes this value a lot less useful than it might be.

As a kludge/fix I've modified the logging script for the Eddi so that just after midnight (when creating a new log), if it sees "sta":5, to send a zero-length boost. That should reset the status to 1 if lingering for no good reason. (It may be wise to check that no boost is in progress with "bsm":0 also.)

2022-03-02: Export Margin 100W?

Looking at my Myenergi online account, it seems as if the Eddi is seeing transient export spikes of ~80W, typically just after a big import drops away. This may be the Enphase balancing inflow with a compensating outflow in the same time 'bucket' (or just taking a few moments to rein back).

This suggests that I should possibly push the export margin up to 100W to avoid false triggering (as maybe did happen today), though the response delay may be enough already.

The export values have just been updated to 100W:

  • Grid Limit: 7A
  • Export Margin: 100W
  • Response Delay: 5s
  • Boost -> Hot Cancel Delay: 30m
  • Time & Date -> Time Zone -> Auto DST: Off
  • Exp Threshold: 100W

I'm raising the notion of "significantly exporting" used elsewhere to 50W, ie half-way to this new threshold.

I really don't mind spilling a bit to grid before turning the rest into heat!

Note on differing readings between Eddi and Enphase... Just now at 9pm with our 3kWh kettle on, the Enphase battery empty (and no PV generation!), the Enphase reported 3123W import, the Eddi 3202W. There are other loads. (Another Eddi reading ten seconds before was 3214W.)

2022-03-04: Frequency

There definitely doesn't seem to be any point trying to respond to frequency at the 10-minute sampling rate used to set the max-topup-% value.

Of the Eddi (10-minute) samples logged so far there are none below 49.80Hz, ie everything is within operational range. About 6.5% at 49.8xHz, but basically no or very few adjacent samples.

% cat data/eddi/log/live/2022*.log | wc -l
% egrep '"frq":49.[0-8]' data/eddi/log/live/2022*.log | wc -l
% egrep '"frq":49.[0-7]' data/eddi/log/live/2022*.log | wc -l

2022-03-09: Thermino In

Sunamp Thermino ePC installation under gas combi in kitchen, start Sunamp Thermino ePC installation under gas combi in kitchen, in progress Sunamp Thermino ePC installation under gas combi in kitchen, complete

Yesterday at 8pm I turned the central heating off to save gas in the light of world events, and for climate, etc.


The Thermino is going in today.

The Thermino itself is being plumbed around my combi by David of Beautifully Green @Heatbatteries.

As ever our usual sensible builder, another David, is doing other physical works, as he did before (2022-02-23) when he organised the sparky too.

With the Thermino taking over some or all of DHW use as we move towards summer, gas use may drop to near zero.

Not that it's at all sunny so far by 9am!

Todays fun, fitting a PV @sunampltd Thermino onto a combi system with an Intasol valve and a @myenergiuk Eddi. Stop burning gas, but never run out of water. #environment #ClimateAction #oilandgas #carbonneutral
@heatbatteries 9:24 AM - Mar 9, 2022


We had some interesting issue that took out the house RCD when attempting to follow the wiring plan as above. Possibly a swapped L and N somewhere. So we're moving the H2 L to the input of the Eddi (so is off when the Eddi is powered off at the CU RCD breaker) and will use that as the Sunamp control live.


It's all just gone live a little after 4pm, and is diverting!

{"eddi":[{"sno":0,"dat":"09-03-2022","tim":"16:10:13","ectp1":627,"ectp2":-104,"ectt1":"Internal Load","ectt2":"Grid","ectt3":"None","bsm":0,"bst":0,"cmt":254,"dst":1,"div":627,"frq":49.98,"fwv":"3200S3.048","grd":-111,"pha":1,"pri":1,"sta":3,"tz":0,"vol":2446,"hpri":1,"hno":1,"ht1":"Tank 1","ht2":"Tank 2","r1a":0,"r2a":0,"rbc":0,"rbt":1051,"tp1":127,"tp2":127}]}

We put manual boost on to get some heat loaded up to test things, and the grid limit (~1.6kW) is being respected, with the rest from PV and Enphase.

"ectt1":"Internal Load","ectt2":"Grid","ectt3":"None","bsm":1,"bst":0,"cmt":254,
a":4,"tz":0,"vol":2446,"hpri":1,"hno":1,"ht1":"Tank 1","ht2":"Tank 2","r1a":0,"r

I'm boosting it to the brim as a sort of calibration from empty, though a little water has been drawn to test the system. (Don't look at the time of day that I'm doing this!)

By the time the Eddi was claiming 7.7kWh injected into the Thermino, turning on the kitchen tap at a moderate flow had the combi fire up, run for a bit, then shut down again, while the flow remained hot.

As of ~8pm, 8kWh has disappeared into the Thermino black hole!

Turning on the kitchen hot tap at a fairly slow rate, it ran hot after a while without the combi firing up at all. So, like when hypermiling in a car being easy on the accelerator, a bit of patience may be able to minimise/avoid any gas use.

When someone puts the kettle on (3kW) the Eddi stops boosting, as intended. Also good is that the Eddi ramps up the boost/diversion gently, over a minute or so.

As of 20:39Z and ~10.2kWh reported by the Eddi as sent to the Sunamp, diversion has stopped. The Thermino may be full, finally. (The Enphase is now empty.)

Screenshot 20220309 myenergi Device Usage with Thermino just filled following install
The myenergi Web display of Device Usage just after Thermino filled up to the brim!
Screenshot 20220309 Enphase Enlighten flat imports boosting Thermino via Eddi
Distinctive flat import chunk c/o Eddi Grid Limit.

Today the first person was on site at ~8am for an hour or two, another from ~9am to 4pm, and the first back from ~4pm to ~6pm to complete.

See more images from the installation.

If the Eddi's grid flow sensing is to be believed, with everything in place minimum grid flow is ~90W, rising to ~150W when the fridge/freezer is running.

A few years, over 13 thousand words on this page alone, and much hard cash, to get to this point!

2022-03-10: It Moves

Hurrah, in a bright moment I caught the Eddi diverting a tiny amount!

{"eddi":[{"sno":0,"dat":"10-03-2022","tim":"09:20:03","ectp1":92,"ectp2":-88,"ectt1":"Internal Load","ectt2":"Grid","ectt3":"None","bsm":0,"bst":0,"cmt":254,"dst":1,"div":92,"frq":50.08,"fwv":"3200S3.048","grd":-121,"pha":1,"pri":1,"sta":3,"tz":0,"vol":2446,"hpri":1,"hno":1,"ht1":"Tank 1","ht2":"Tank 2","r1a":0,"r2a":0,"rbc":0,"rbt":8,"tp1":127,"tp2":127}]}

(I took the opportunity while standing in front of the Eddi to turn off "Auto DST" since I want it to stay on UTC, ie solar time.)

At about 2:30pm, after diversion of ~2kWh, the Thermino is full again. This is almost simultaneous with the Enphase, so all excess is now spilling to grid, which is good! (About another 2kWh were spilled after this.)

The Thermino provided hot water for my daughter's entire shower, and almost all of my son's bath, with the combi cutting in for the last couple of minutes. The front-panel LEDs now indicate 'empty'.

The Eddi seemingly also 'probed' the Thermino and came out of state 5 ("max temperature reached") back to 1 ("waiting for surplus"). I saw the Thermino yellow/immersion indicator light on just now even though there is no boosting or diversion, which I assume is a state probe by the Eddi.

If you whack a hot tap full on then usually the combi fires up for a bit while the Intasol works out if the Thermino output is hot enough to use directly. This wastes a bit of gas, and indeed the ~30s ignition-and-out cycle is likely especially inefficient, likely with some unburnt gas and the combi-heated water not even getting used. Turning the hot tap on more gently for maybe ~30s can eliminate that combi fire-up it seems, providing the Thermino is up to temperature. Some user training may be useful, given that the short bursts of water used for washing hands etc often do not even make it to the taps anyway!

Observation suggests that the 'wasted' gas is ~0.005--0.01m^3, ie maybe ~50--100Wh, each time.

Could something similar to a CombiSave help?

2022-03-17: Tidy Up

Some tidy-up happened today, including cosmetic stuff.

Also adjusted the Combimate for the full set of pellets, ie for 'whole house' dosing, rather than 'single appliance' as I had it.

Sunny day, with more than 4kWh diverted. Next couple of days should be similar. A dusting of orange Saharan sand will be reducing generation a little...

2022-03-18: Full Up?

A good sunny day! As of about 5pm the Eddi claimed to have diverted more than 8kWh to the Thermino, but didn't hit full though diversion has at least paused for now. Generation today ~16kWh, ~1kWh exported.

The Enphase ACB and off-grid stores also are all but full.

Daily gas use is down to ~2kWh/d as of the end of today.

Also, I wired up a new FTDI to just TX and GND on the Thermino, and can see sensible telemetry output as one ASCII line every ~10s at 9600 baud 8n1. This will enable me to call for heat via an Eddi grid "boost" in the wee hours.

I had a nice fully-solar hot bath the next morning, making space to capture a bit more energy. But everything was full again shortly after noon!

2022-03-19: Recycled Pi

Today I'm rifling though my old Raspberry Pis looking for one to pair with the Thermino to monitor how full it is, and request a top-up if appropriate.

What I appear to have to hand are a couple of 2011-vintage Bs, one with a large memory card so possibly the first EOU RPi server, and a B+ V1.2 circa 2014 with an 8GB microSD.

The B+ would be my first choice, but it may be this one that I broke, so I need to test first!

In any case I would like to start with a bang-up-to-date "Lite" 32-bit version of Raspberry Pi OS (bullseye), and then configure and maintain it via Ansible. It's basically a glorified serial monitor and logger in this role, though I may also (for example) give it a DNS secondary.

It seems as if the 8GB microSD card with the B+ may be bust: I can't write an OS image to it successfully. So I stole the 16GB barely-used card from my phone... ... and just by looking at the LED activity I'd say this B+ is booting OK. (I have also repurposed an existing RPi case and power supply.)

The RPi is now (~5pm) minimally set up and plugged into the Thermino, so all subsequent work on it can be done remotely.

The Ethernet cable I had run round to the Thermino doesn't seem to be working, so for now I have the new RPi on WiFi. It set it up so that all its network activity (other than me SSHing in to admin it) is outgoing for now.

2022-03-20: Thermino Log

It's the equinox, and I have as of noon started logging regular samples of the Thermino's state. This will allow me to compute how 'full' it is, and therefore top up to (at most) the amount I calculate elsewhere.

I am ready to turn on the auto-boost-from-grid feature — I just need to uncomment a line of code — but I'll get through tomorrow's regular weekly supply meter readings to see how much gas we avoided purely by PV diversion.

2022-03-21: Diversion Story

So we have definitely used less gas, maybe as much as 90% less than usual, between turning the heating off early, and the Eddi/Thermino:

  • Over the last week we used 9.7kWh of gas (1.4/d).
  • Typical for March (eg last year) is 15kWh/d of gas.
  • Typical for mid-summer is ~4kWh/d of gas for (only) DHW.

That suggests ~(7 * (4 - 1.4)) = 18.2kWh gas saved, for DHW.

Over that same period (~6:15pm 14th to ~6:15pm 21st), the Eddi is reporting that it used and sent 32.9kWh to the Thermino. All of that, other that a tiny test, was diverted (ie no extra grid imports). That looks about consistent with extra consumption reported by the Enphase.

Well, that's a puzzler! Neither the Eddi nor the Thermino are glowing red, dissipating a couple of kWh per day between them! The Eddi claims ~97.5% conversion efficiency and the Thermino should leak less than 0.7kWh/d! Those losses might account for ~5kWh over the week. Also, the Thermino is full at the end of the period and may have started empty, which could account for up to ~8kWh. In total those get up to about 18+5+8 = ~31kWh. I haven't been totting up bath and shower and other DHW use; maybe the last 7 days have been unusally heavy?

More research is needed!

2022-03-28: Diversion Week

In the 7 days to ~6pm BST today, the Eddi diverted ~28kWh to the Thermino. (One sunny day the Thermino covered two showers and one bath!)

Over that week, we still used ~3.5kWh gas, or ~0.5kWh/d. Normal DHW use is ~4kWh/d, ie 7 or 8 times more. (Last March's daily consumption including space heat is ~15kWh/d.)

So a huge reduction in gas demand. And we could eliminate that residual use if we simply turn on the hot taps more slowly.

Here is an extract from the Eddi summary logs (note final line ~80kWh h1d+h1s via the Eddi this month, since installation):

#Eddi daily stats summary in kWh; definitely partial if h lt 24

2022-03-30: Warm Up

Today hasn't been very sunny (nor was yesterday) so there was relatively little in the Thermino and relatively little diverted to it today. So the Thermino is mostly empty (reported as 31%, but likely less).

Also, GB grid carbon intensity has been high for several days due to low wind. But tonight is forecast to be low-enough intensity that we could get an automatic wee-hours top-up. This will be the first time since the top-up code has been running.

So I gave the system a little test, manually overriding the top-up target to 51%, and letting the Thermino RPi pick that up and start a boost. It basically worked!

And then a tiny automatic boost happened in the wee hours...

Tuning is going to be needed to make this work!

tiny top up of a few minutes took place at 2022-03-31T00:42Z
With the heat battery about 1/3rd full and the target only just over, a tiny 50% (5-minute) boost happened just before 2am local time! Flaky Internet connectivity was not helping...

2022-04-04: Crude Frequency Response

I've just crudely put together a script to run every minute, and if diverting or boosting and mains frequency is <49.9Hz, stop the Eddi. If stopped and ≥49.9Hz then resume the Eddi.

In all its glory:

Massively inefficient, especially round-tripping the Internet for this, but I'll see if it triggers significantly in practice.

There is a little randomisation of resume time to help avoid potentially adding to frequency oscillations. Cleverer schemes are available.

I won't be saving the GB grid from blackouts with this, but I may help with frequency regulation just a nano-tad!

2022-04-07: Grid Stabilisation!

This first (line-per-record) Eddi frequency-response log from a day with the feature fully engaged and logging shows many responses.

Each line/record indicates a minute with mains frequency <49.9Hz where the Eddi either deferred importing, or allowed to spill to grid rather than diverted, a kilowatt or three.

2022-04-11: Losses x2

There are two clear sources of losses in the system. Neither is tragic.

Firstly, when a tap is turned on fast, about 50Wh--100Wh of gas is wasted firing up the combi before the Intasol works out that the combi is not needed. Maybe 0.5kWh/d wasted? This loss is largely independent of the Thermino, and now that it is measureable, it can probably be managed down with a bit of end-user training (which has already started).

Secondly, see below extract from two days' daily summary for which there was no DHW demand up to the point this output was captured. Each day the Thermino absorbed ~1.5kWh, getting internal temperatures up to just short of 80°C. That high, well above the phase change temperature, allows some bonus energy storage but also maximises thermal losses.

#Eddi daily stats summary in kWh; definitely partial if h lt 24

2022-04-16: 13 Minutes' Daily

In the nine full days since frequency-support logging went live, my ad hoc stabilisation has delivered a little under 15 minutes' grid support per day on average. There has been no day without any support.

% wc -l data/eddi/log/live/2022*.freq*
   24 data/eddi/log/live/20220407.freqResp.log
    7 data/eddi/log/live/20220408.freqResp.log
   18 data/eddi/log/live/20220409.freqResp.log
   10 data/eddi/log/live/20220410.freqResp.log
    4 data/eddi/log/live/20220411.freqResp.log
    5 data/eddi/log/live/20220412.freqResp.log
   21 data/eddi/log/live/20220413.freqResp.log
   11 data/eddi/log/live/20220414.freqResp.log
   16 data/eddi/log/live/20220415.freqResp.log
  116 total

Below counts the 10 minute intervals in which the Eddi was active and able to provide such support (including when stopped, providing it). 195 total, ie ~1950 minutes, so ~6% as expected.

Note that this sampling unreports boost / top-up activity because of timing.

% egrep -c '"sta":[346]' data/eddi/log/live/202204{07,08,09,10,11,12,13,14,15}.log

1950 minutes of Eddi activity over 9 days is ~15% duty cycle. It also shows the Eddi providing support for ~1% of all grid minutes.

Screenshot 20220420 flatish Eddi Export Margin exports with extra for grid low frequency response showing grid battery PV traces
Flatish exports (black, below the x-axis) coming up to solar noon on 2022-04-20 at RHS being held to eddi's Export Margin, but with extra exports when responding to low grid frequency by stopping diversion briefly.

2022-04-23: Low-Carb Top-Up

Screenshot 20220423T0630Z Enphase Enlighten view of 2kWh randomised am boost to 80pc from low carbon grid electricity

I added a new day-of-week override min-fill-by-dow.csv that requests a top up in the (early-morning) 'L' period to at least the specified percentage for given days of this week when all other conditions are met such as grid carbon intensity being low enough. In this case I had one active line 6,80 to top up to 80% on Saturday mornings.

Friday was a bit overast, so the heat battery was not filled right up, and Saturday wee hours saw lots of low carbon grid wind available.

Elexon FUELINST data is flaky in the early hours which makes for less clear graphs. But I also randomise power going into the heat battery on ramp-up and when close to target — see the Enlighten and Myenergi screenshots. And for three minutes during this boost the system supported the grid by pausing the boost imports when grid frquency fell below 49.9Hz.

20220423 heatBatTarget
Heat battery getting early morning boost driven by day-of-week target.

This boost delivered ~2kWh top-up to the heat battery, about one third from the Enphase ACB, and the heat battery now has oodles of hot water for a low-carbon hot bath for me this morning!

(The Eddi stats indicate each 'on' pulse at ~2.7kW to the Thermino, of which ~1.8kW was imported, with a total of 1.8kWh boost delivered to the Thermino.)

Screenshot 20220423T0630Z Myenergy portal view of 2kWh randomised am boost to 80pc from low carbon grid electricity
Myenergi portal device usage view of the heat battery getting early morning boost.


Some data samples and images from this boost:

I have now adjusted the Saturday minimum percentage to 75%, as that will likely interact better with how I currently calculate how full the Thermino is.

2022-04-30: Off-grid Brew and Thermino TARDIS

May2022 bill graph savings

A sunny warm day.

As of 5pm I'm having a nice cup of coffee brewed c/o my off-grid kettle.

There has been ~9kWh of diversion from grid-tied PV to Thermino today which is more than its nominal capacity: I took a bath just before it filled!

The diversion stats this month up to about noon today: days=29.5, heat battery mean kWh/d=4.0 (divert/d=3.9, boost/d=0.1).

This month compared with April last year, gas consumption is down from 5.6kWh/d to 0.38kWh/d, with gross electricity consumption up from 5.6kWh/d to 9.5kWh/d, which initially suggests some direct kWh efficiency savings even with resistive heating.

Our May Ecotricity dual-fuel bill covering to 29th April shows a marked reduction in both electricity and gas per day, which will be due in part to the expanded Enphase and the Thermino.

2022-05-01: Running on Fumes

A dullish overcast day. Only ~2.2kWh was diverted into the Thermino today.

In the afternoon/evening after no further diversion was available, some washing-up, a shower and then a bath took the Thermino to what I regard as empty (my %-full indicator is negative). But still only minimal gas was used.

2022-05-04: Adjusted Intensity Curve

Today I adjusted the static (by local time) intensity curve from:


That is, this attempts to better take account of the morning peak and the duration of the evening peak beyond the core 4pm--7pm. (Eg see Average UK household electricity demand against time of day for weekdays and weekends in mid-July and mid-January, as synthesised by the CREST Demand Model [2018].)

This is unlikely to make much practical difference (yet) as almost all top-up will happend in the unchanged 'L' section.

2022-05-16: Dull Brings Boost

Yesterday was a dull day which only allowed for ~300Wh diversion, and the Thermino did not fill.

Some washing-up and at least one bath or shower got the Thermino down to what I regard as 'negative' percent full territory, ie below 50°C. (This is about where the Intasol will have to bring the combi in.)

So this morning started with 1/8 days not full and Thermino in deficit, and a reasonably low-carbon grid, so boosted ~2.3kWh of which ~1.7kWh came from the grid, the rest from the Enphase. That boost nominally raised the Thermino from -5% to 15%.

2022-05-30: Slow is Good

Monitoring the Thermino state I'd say the typically slow top-up by diversion is better than a fast one, eg from boost. This is because heat seems better able to equilibriate between parts of the store with slow energy injection.

(Having said that, the following day, with sunshine after the rain (no bluebirds flying), I noted 3340W being diverted into the Thermino. Higher than the nominal 2800W, and higher than the ~2700W I limit boost to even with battery assistance...)