Solar and Home Assistant: Maximise self-consumption (UK 2026)

Published 8 April 2026 · 13 min read

Read in: English · Deutsch · Español · Italiano · Français · Русский

Some links in this guide are Amazon affiliate links — we earn a small commission if you buy, at no cost to you. We only recommend kit we'd put in our own homes.

Here is the uncomfortable maths at the heart of owning solar in the UK, and why home assistant solar self consumption is the single biggest upgrade most solar owners never make. Every kWh you consume inside the house is worth roughly 24 to 28p, because it is a kWh you did not buy from the grid at the standard April 2026 price cap (and more if you would otherwise be paying a peak time-of-use rate). Every kWh you export is worth somewhere between about 3p and 12p, depending on your Smart Export Guarantee tariff — Octopus Outgoing Fixed dropped from 15p to 12p in March 2026 and most legacy SEG tariffs pay less. That is a two to eight times gap, every single kWh, every single day your panels are generating.

Put another way: you paid five figures for a solar array, and for most of the year you are selling the majority of its output at a steep discount to the price you will pay for the same electricity six hours later. Closing that gap is not a hardware problem. The panels are already on the roof. It is an orchestration problem, and Home Assistant is the tool that solves it.

Why solar default behaviour fails UK homes

A typical UK solar install follows a predictable daily shape. Generation ramps up from around 9am, peaks somewhere between noon and 2pm, and tails off by late afternoon. The household, meanwhile, does the opposite. The morning rush finishes, the house empties, the baseline load drops to a fridge and a router, and anything the panels produce beyond that trickle flows straight out to the grid. Then everyone comes home at six, the oven goes on, the kettle boils, the lights come up, and you start buying electricity at peak grid rates.

Your inverter, left alone, does almost nothing to change this. It converts DC to AC, it reports generation to an app, and it dumps surplus to the grid. That is the entire behaviour. A handful of hybrid inverters with batteries will hold some energy back for the evening, but almost none of them will talk to your dishwasher, your immersion heater, or your EV charger. They do not know when the weather forecast changes. They do not know that you usually do a wash on a Wednesday. They do not know that the tumble dryer is a 2.5kW load that would comfortably run on a sunny afternoon.

Home Assistant is the layer that closes that gap. It reads your inverter in real time, watches what the rest of the house is doing, checks tomorrow's forecast, and actively moves loads around to soak up generation before it leaves the property. That is the whole game.

Reading your inverter into Home Assistant

None of this works until Home Assistant can actually see your solar data, and the integration landscape for UK inverters is a mixed bag. Here is the honest state of play.

SolarEdge has a native Home Assistant integration via the monitoring API. It works, but it is rate-limited and polls relatively slowly, which makes it fine for dashboards and reconciliation but marginal for fast automation triggers. A local modbus connection over TCP is the better option if you can get onto the inverter's network port.

GivEnergy is one of the strongest in the UK market for Home Assistant users. Two community integrations dominate: the GivTCP add-on (published via MQTT) and the givenergy-local HACS custom component, both of which expose generation, battery state, grid flow and charge controls. GivEnergy themselves have been relatively developer-friendly about API access.

Solis and Growatt both work through community integrations, and both have had periods where a firmware or cloud API change on the manufacturer side broke the integration for weeks at a time. If you have one of these, expect to occasionally lose data until the community catches up.

Fox ESS has a well-regarded community HACS integration (nathanmarlor/foxess_modbus) that talks locally over Modbus rather than the Fox cloud. Quality has improved considerably over the past couple of years and cloud outages no longer take your automations down with them.

Sofar and Huawei generally require a modbus RS485 connection and a little more setup effort, but both can be made to work reliably once they are in.

MyEnergi kit, including the Eddi diverter and Zappi EV charger, has an excellent community integration (CJNE/ha-myenergi) and is usually the easiest way to get solar-adjacent data into Home Assistant if you already own the hardware. Note that it is cloud-based, so outages at MyEnergi can pause local automations.

If your inverter is not on this list, the fallback is almost always a CT clamp energy monitor feeding an ESPHome device, or a Shelly Pro 3EM on the mains tails. That gives you real-time generation and grid flow data even when the inverter refuses to cooperate.

The four big self-consumption moves

Once Home Assistant can see what your panels are doing, there are four moves that deliver the vast majority of the savings. Everything else is rounding error.

Divert excess solar to hot water

This is the single highest-impact automation for most UK solar homes. A standard hot water cylinder with an immersion heater is essentially a thermal battery. It will happily absorb 2 to 3kW of solar surplus for an hour or two and hold that heat for the rest of the day. For most households, that is enough to cover all the hot water needs from April to September, for free.

The purpose-built hardware options are the MyEnergi Eddi and the Marlec Solar iBoost+. Both cost somewhere in the region of £250 to £450 before installation, both modulate proportionally rather than switching hard on and off, and both integrate with Home Assistant in one form or another. Proportional modulation matters — it means the device follows your export in real time, throttling the immersion up and down so you are never pushing electricity to the grid and pulling it back a minute later.

If you already have a Shelly ecosystem, you can build essentially the same behaviour with a Shelly Pro or a Shelly 1PM on the immersion circuit and a Home Assistant automation that turns it on when export exceeds a threshold for a sustained period. You lose the proportional control, but at a fraction of the hardware cost, and for a single 3kW immersion on a sunny day the on/off approach captures most of the value.

Realistic savings sit somewhere between 500 and 1,500 kWh per year of free hot water, depending on cylinder size, household usage and array size. At self-consumption rates that is worth somewhere around £140 to £420 a year, which pays back most diverter hardware inside two summers.

Charge a home battery from solar, not grid

If you already have a home battery, Home Assistant's job is to make sure that battery is charged by the sun, not by cheap overnight grid electricity, whenever there is a realistic chance the sun will do the work for free. That sounds obvious, but the default behaviour of many hybrid inverters is to top the battery up from the grid overnight regardless of tomorrow's forecast, because the inverter has no idea what tomorrow's forecast is.

Home Assistant does. It can pull a solar production forecast, compare it to the battery state of charge, and either skip the overnight grid charge entirely on a sunny forecast, or trim it to a smaller top-up on a mixed day. The logic works with GivEnergy, Fox ESS, Sofar, Tesla Powerwall, and most Pylontech-based setups. Full details in the home battery guide.

Layer Octopus Agile or Octopus Go on top and you get the full picture: charge from solar when you can, from cheap grid when you cannot, and never from peak grid. See the Octopus Agile guide for the tariff side.

Schedule big loads around solar peaks

Dishwashers, washing machines and tumble dryers are high-power, short-duration loads that most households run whenever is convenient. "Whenever is convenient" is almost never the middle of a sunny afternoon. Home Assistant can fix that without changing your routine much at all.

The basic pattern is a delayed-start automation. You load the machine in the morning, set it to "solar ready" via a dashboard button or a physical Zigbee button, and Home Assistant waits until export exceeds the machine's expected draw for several minutes before triggering the cycle. If the forecast is poor and no suitable window appears by a cutoff time, the automation either runs it anyway or holds it until tomorrow, your choice.

In summer, this moves two to four cycles a week entirely onto solar for the average household. That is not glamorous money, but it is money you were previously burning.

Smart EV charging from solar only

An EV is the single biggest controllable load most households will ever own. A 7kW charger can absorb essentially everything a 4kWp array can produce on a sunny day. The Zappi from MyEnergi is the established UK solar-diverting EV charger, with a dedicated "Eco+" mode that modulates charge rate to match available surplus, and a clean Home Assistant integration. Ohme chargers are also widely used and can be driven from Home Assistant, though the solar-following logic has to be built on the Home Assistant side rather than relying on the charger firmware.

The full walkthrough lives in the EV charging guide. The short version: if you have solar and an EV and you are currently charging on a flat overnight tariff, you are leaving a lot of money on the table.

Hot water divert in detail

Of the four moves above, hot water diversion is the one almost every solar home should do first, because it has no behavioural cost. You do not have to remember to press a button, you do not have to rearrange your laundry, you do not have to own an EV. The cylinder sits there and absorbs whatever the roof produces, and your morning shower is warm.

The reason a purpose-built solar diverter like the Eddi or iBoost+ is worth the money for a lot of people is that proportional modulation is genuinely hard to replicate with a simple relay. A standard immersion is a 3kW load. If your solar is exporting 1.2kW and you switch the immersion on hard, you now have to import 1.8kW from the grid to run it, which is exactly the opposite of what you wanted. A modulating solar diverter will instead feed the immersion precisely 1.2kW and stay glued to that figure as conditions change.

That said, if you already have Home Assistant running, a Shelly on the immersion, and a reasonable view of your export, you can approximate the same behaviour by only switching the immersion on when sustained export clearly exceeds the immersion's rated draw, with a generous buffer and a minimum runtime to avoid short cycling. It is not as efficient as an Eddi, but the hardware cost is under £50 and the automation is a dozen lines of config. For a household already invested in Home Assistant, this is often the right call.

One thing worth saying plainly: if your cylinder does not have an immersion heater, or you have a combi boiler with no cylinder at all, this entire section does not apply to you. Solar diversion to hot water only works if there is a tank to dump the heat into.

Summer vs winter reality

An honest guide has to acknowledge that UK solar is deeply seasonal. In June and July, a healthy 4kWp south-facing array on a typical UK roof can comfortably run the daytime household load, fully charge a 5 to 10kWh battery, heat the hot water cylinder, and still put several kWh into an EV. Self-consumption on those days can genuinely approach 100% if the automations are tuned properly.

In December and January, the same array might produce 3 to 5 kWh on a good day and almost nothing on a grey one. You will not be running tumble dryers off the sun in winter. The goal shifts from "soak up surplus" to "do not waste the little there is", which mostly means keeping the battery topped up from cheap overnight rates and letting the panels trickle into the baseline load.

This is where Home Assistant earns its keep versus a dumb diverter. It can read a solar production forecast, see that tomorrow looks poor, and pre-heat the hot water overnight on a cheap tariff rather than waiting for sun that will not arrive. It can also see that tomorrow looks excellent, skip the overnight battery charge, and let the panels do the work for free. A standalone diverter cannot reason about tomorrow. Home Assistant can.

What to watch for

A few things that catch people out, worth knowing before you start.

Inverter integrations lag manufacturer firmware updates. Growatt and Solis in particular have had extended periods where a cloud API change or a firmware push broke the community integration. If you are building automations that depend on real-time inverter data, have a fallback — usually a CT clamp or a Shelly Pro 3EM on the mains tails — so your hot water divert does not silently stop working because a cloud endpoint changed.

Smart meter export data and inverter export data will not agree exactly. The smart meter is the source of truth for billing and Smart Export Guarantee reconciliation, but it reports on half-hourly boundaries, which is far too slow for automation. Use the inverter (or your CT clamp) for real-time triggers, and use the smart meter data only for monthly reconciliation and sanity-checking.

Finally, a genuinely important point about old Feed-in Tariff customers. If you installed solar early enough to be on the Feed-in Tariff rather than the Smart Export Guarantee, you are almost certainly paid on generation metering with a deemed export figure. That means you get paid the same for every kWh you generate regardless of whether you export it or use it yourself. For those households, the economics are even more lopsided in favour of self-consumption, because there is effectively no export payment to give up. You are paid on generation, and then everything you consume yourself is additional savings on top. If you are on SEG, you are the one making the two-to-six times arbitrage trade every day.

The setup without the homework

Everything above is achievable by any determined owner with a weekend, a decent broadband connection and a willingness to read release notes. The tricky part is not the initial setup. It is the ongoing reality that inverter integrations drift, forecast providers change, cloud APIs rotate, and the automation that was saving you £30 a month in August quietly stops working in October and nobody notices until the bill arrives.

If you want the self-consumption gains without owning the maintenance, that is exactly what habbb does. We set Home Assistant up against your inverter, build the diverter, battery and load-shifting automations, and then keep them running — tested updates, monitoring, backups, the lot. You keep the savings, we keep the wheels on. Have a look at the managed service overview, or start with the broader energy savings overview if you want to see how solar fits into the bigger picture.

The panels are already on your roof. The value gap is already there every day. Closing it is the cheapest energy upgrade you will ever make.