Home Assistant Energy Dashboard for UK SMETS2 Meters

Connect your UK SMETS2 smart meter to Home Assistant's Energy dashboard - n3rgy, Hildebrand Glow, and Octopus integrations compared step by step.

Home energy monitoring dashboard showing electricity usage charts
Updated How we review →
Rob
By Rob4 June 2026 · 15 min read

The Home Assistant Energy dashboard is one of the most useful features the platform has shipped - a single pane that tracks electricity, gas, solar, and EV charging across the whole house. The catch for UK households is that your SMETS2 smart meter won't talk to it out of the box. The Data Communications Company (DCC) keeps the meter's Home Area Network locked down, so there's no plug-and-play local API. The good news: three well-supported integrations bridge the gap, and the right choice mostly comes down to how much you care about real-time data versus cost and simplicity.

This guide walks through all three - n3rgy.com, the Hildebrand Glow IHD, and the Octopus Energy community integration - then shows how to wire your meter data into the Energy dashboard, set up utility-meter helpers, and build cost-tracking automations.

Why SMETS2 doesn't make this easy

The UK's second-generation smart meters (SMETS2) sit behind a centrally-managed network run by the DCC. Every meter on the rollout talks to the DCC via a cellular or radio backhaul, and only authorised parties - your supplier, the network operator, and accredited third parties - can request data through it.

The meter does broadcast readings over a local Zigbee mesh called the Home Area Network (HAN). In theory you could put a Zigbee receiver in your house and pick up the broadcasts directly, which is exactly what the in-home display that came with your meter does. In practice, the HAN uses an authentication scheme that locks out anything not commissioned to your meter by the DCC - you can't just pair a generic Zigbee stick to it.

That's where Consumer Access Devices (CADs) come in. A CAD is a piece of hardware that's been registered with the DCC, paired to your specific meter, and authorised to read its data. Once joined, it can either expose the data locally over Wi-Fi/MQTT (the route Hildebrand takes) or push it to a cloud service the user can then query (the route n3rgy takes). Either way, you're not bypassing DCC - you're using it through a sanctioned door.

Octopus Energy gives you a third path that skips local hardware entirely. As your supplier, Octopus already has the right to pull half-hourly readings from your meter via the DCC, and they expose those readings back to you through a REST API tied to your account.

Your three integration paths at a glance

Each option has different trade-offs across cost, granularity, cloud dependency, and supplier requirements:

  • n3rgy - free, no hardware, cloud, half-hourly D+1.
  • Hildebrand Glow - one-off ~£70 hardware, local, real-time (~10-second updates), works regardless of supplier.
  • Octopus Energy integration - free, no hardware, cloud, half-hourly D+1, but Octopus-only.

For most households the deciding factor isn't technical - it's whether you're already on Octopus (in which case path 3 is essentially free and gives you full tariff-aware cost tracking), and how much real-time matters to you. If you're tuning a heat pump or running an EV on an Intelligent Octopus tariff, the live data from a Glow stick is worth the £70. If you just want the dashboard to populate so you can spot the £80/month TV-on-standby hidden in your usage, n3rgy is fine.

UK smart electricity meter display showing kWh consumption
SMETS2 meters expose readings locally over Zigbee, but the HAN is authenticated - only a commissioned CAD can join.

Option 1: n3rgy data feed (free, no hardware)

n3rgy.com is a free consumer-access service that sits between the DCC and you. Register with your MPAN (electricity) or MPRN (gas) and the meter's GUID - both printed on the bill or visible on your in-home display - and within roughly 24 hours your historical half-hourly data is available through their API.

Once you're set up, install one of the community n3rgy Home Assistant integrations through HACS. It polls the n3rgy API and creates sensors for electricity (and gas, if you've added the MPRN). The granularity is half-hourly and lags by one day - yesterday's readings come in around 9am the next morning. That's plenty for a usage dashboard but useless for live load monitoring.

Setup in summary:

  • Sign up at the n3rgy consumer portal with your MPAN/MPRN and the meter GUID.
  • Wait ~24 hours for the first data to land in your account.
  • Add the n3rgy integration in HACS, point it at your account, restart Home Assistant.
  • The integration exposes total daily consumption sensors per fuel type, plus half-hourly history.

The big caveat is the cloud dependency. Your data flows from the meter, via DCC, to n3rgy's servers, to your Home Assistant. If n3rgy ever turns the lights off or starts charging, your historical data goes with it. For a free service that asks nothing of you, that's an acceptable trade - but plan for the possibility of migrating off it.

Option 2: Hildebrand Glow IHD (local, real-time)

The Hildebrand Glow IHD is a small Zigbee CAD device that pairs to your SMETS2 meter and republishes readings over MQTT - both to Hildebrand's cloud (used by the Bright app) and, crucially, to a local MQTT broker on your network. The local stream updates roughly every 10 seconds for electricity, with gas readings whenever the meter wakes up to broadcast (typically every 30 minutes, because gas meters are battery-powered).

You can buy it from Pimoroni in the UK. Once you've unboxed it, the workflow is:

  • Plug it in within Zigbee range of your meter (usually anywhere in the house).
  • Sign up for the Bright app - that triggers the commissioning request through Hildebrand's DCC integration.
  • Wait for commissioning to complete (typically a few hours, occasionally a day or two).
  • In the Bright app or Hildebrand portal, opt into local MQTT and note the credentials.
  • Configure Mosquitto on Home Assistant (the official MQTT broker add-on works fine), then install the ha-hildebrandglow-dccc integration via HACS pointed at the local broker.

The integration creates sensors for instantaneous power draw, daily kWh, monthly kWh, and gas (where available). Because the broker is on your LAN, the data path is meter → IHD → your MQTT broker → Home Assistant, with no cloud round trip. If your internet drops, the dashboard keeps updating.

The real-time data unlocks a different class of automation. You can spot the kettle and dishwasher cycling, kick off solar-diverter logic the moment grid draw goes negative, or have Home Assistant alert you when a heat pump goes into defrost mode based on the consumption signature.

Option 3: Octopus Energy integration

If you're on Octopus Energy, the community-maintained HomeAssistant-OctopusEnergy integration is the obvious answer - and arguably the best of the three, because it gives you tariff-aware cost data that the other two can't.

Setup:

  • Log into your Octopus account, go to Developer, and generate an API key.
  • Note your account number - it's on every bill, format A-XXXXXXXX.
  • Install the Octopus Energy integration via HACS.
  • Add the integration via Settings → Devices & Services, paste your API key and account number.

The integration creates a thicket of sensors automatically: current electricity rate, current standing charge, today's consumption, today's cost, gas equivalents, and - if you're on a smart tariff - half-hourly upcoming rates for the next day's Agile prices, Octopus Go off-peak windows, or Intelligent Octopus dispatch slots.

The Agile-rate sensors are particularly useful. You can build an automation that runs the dishwasher only when the half-hourly rate drops below your threshold, charges the EV in the cheapest four-hour window each night, or sends a notification when prices go negative (which happens more often than you'd think on a windy day).

The one limitation: data is half-hourly with the same D+1 lag as n3rgy - you're consuming Octopus's API rather than reading a local stream - so don't expect live load monitoring. For that, pair the integration with a Glow IHD and use the IHD for real-time consumption and the Octopus integration for tariff-aware cost tracking.

Raspberry Pi single-board computer running on a desk
A Raspberry Pi 5 makes a capable Home Assistant host for the Energy dashboard, MQTT broker, and HACS integrations together.

Wiring it into the Energy dashboard

Once an integration is providing kWh sensors, the rest is configuration. Open Settings → Dashboards → Energy and you'll see five sections: electricity grid, solar panels, home battery storage, gas, and water.

Under Electricity grid, click Add consumption and pick the cumulative kWh sensor your integration provides. The key word is cumulative - the dashboard expects a monotonically-increasing total, not instantaneous power. If your integration exposes both, choose the daily or lifetime kWh sensor.

If you have solar with export, add the Return to grid sensor (cumulative export kWh) in the same panel. Under Solar panels, add the cumulative solar generation sensor from your inverter integration (SolarEdge, GivEnergy, Solis, Enphase - they all expose this).

For costs, either tie each grid sensor to a per-kWh price entity (the Octopus integration provides one) or enter flat-rate pricing in the dashboard config. Per-entity pricing is what you want for time-of-use tariffs.

Save, give Home Assistant an hour to start aggregating, and the dashboard fills out. The first day will show partial data; by day two you'll have a full set of hourly bars across consumption, cost, and (if relevant) solar and battery.

Adding utility_meter helpers

The Energy dashboard handles the day/week/month aggregation natively, but if you want to expose those buckets as their own entities - to put on a Lovelace card, fire an automation off, or send to a notification - the built-in utility_meter helper does the job.

You can configure these through the UI (Settings → Devices & Services → Helpers → Create Helper → Utility meter), or via YAML:

utility_meter:
  daily_grid_consumption:
    source: sensor.grid_consumption_kwh
    cycle: daily
  monthly_grid_consumption:
    source: sensor.grid_consumption_kwh
    cycle: monthly

Each utility-meter entity resets on its cycle boundary (midnight for daily, the first of the month for monthly) and tracks the source-sensor's delta in between. Add as many as you want - daily, weekly, monthly, quarterly, yearly - pointing at the same source sensor.

This is also how you split consumption when you have a single grid sensor but want to attribute usage to different appliances. Combine a utility_meter with a template sensor that subtracts your EV charger's known draw, and you get a usable approximation of household-minus-EV consumption.

Cost tracking: per-kWh vs Agile vs Go

For a fixed-rate tariff, the Energy dashboard's built-in flat-rate config is fine - enter your pence-per-kWh and standing charge and forget about it.

For a time-of-use tariff, you want entity-based pricing. The Octopus integration handles this automatically, exposing a current_electricity_rate sensor that updates every half hour to match what you're actually being charged. Configure the Energy dashboard to use that entity as the cost source instead of a static price, and the costs in your dashboard will reflect the real per-half-hour rate.

For Agile, this is especially important - the rate can range from 35p in peak winter evenings down to -5p when wholesale prices go negative. Your dashboard will track all of it, and an automation listening to the rate sensor can run high-draw loads during the cheap windows automatically.

For Go or Intelligent Octopus, the rate sensor flips between off-peak and standard automatically based on the configured window. An automation that triggers when the sensor reads below your threshold is a one-liner: have the heat pump pre-heat, the dishwasher run, the EV charger kick on, or the immersion top up the hot-water cylinder.

Gas, solar, and EV charging

Gas: both n3rgy and the Octopus integration expose gas-meter readings if you've registered your MPRN. The Glow IHD reads gas too, but updates are sparse - typically every 30 minutes because the gas meter only wakes up periodically to preserve battery. Add the gas sensor under the Energy dashboard's gas section the same way you added electricity.

For prices, the Octopus integration provides gas rates and standing charges in the same shape as electricity. For other suppliers, set a flat-rate price in pence per kWh (your gas bill will quote in kWh, not cubic metres - the meter conversion is handled upstream).

Solar: solar inverter data doesn't come from the smart meter - it comes from the inverter itself via its own integration. SolarEdge, GivEnergy, Solis, Growatt, Enphase, Tesla, and most others have HACS integrations. Add the generation sensor to the solar panel section, and the return-to-grid sensor (which does come from your smart meter, as a separate export reading) to the electricity grid section.

EV charging: if your charger reports its own kWh delivered to the car (Zappi, Ohme, Wallbox, and most Type 2 OCPP chargers do), add it as a named individual device under the electricity grid panel. The Energy dashboard will then break out EV charging separately from household consumption.

Common gotchas

Instantaneous vs cumulative sensors - the dashboard needs cumulative kWh, not power in watts. If your sensor's unit is W or kW, it's the wrong one.

State class matters - sensors need state_class: total_increasing or total. measurement doesn't work. Check via Developer Tools → States.

Meter resets confuse the dashboard - if the underlying sensor resets to zero (firmware update, device restart), HA can interpret the drop as a huge negative reading. The Octopus and n3rgy integrations handle this; some older custom integrations don't.

Half-hourly lag - both Octopus and n3rgy show yesterday's data this morning. Don't refresh the dashboard hourly waiting for the last 30 minutes to appear.

n3rgy commissioning can take 48 hours - not always 24. If your account is empty after a day, give it another.

Glow IHD signal range - needs to be within Zigbee range of the meter, not the router. If your meter is in an outdoor cupboard, you may need to position the IHD nearby and pull data over Wi-Fi.

Octopus API key rotation - if you regenerate the key in your account, the integration silently stops working until you update the credentials in HA.

Gas readings are sparse - every 30 minutes or longer. The dashboard will show stepped, not smooth, gas consumption regardless of the integration.

Frequently asked questions

Q01Do I need a Raspberry Pi to run Home Assistant for this?
Not specifically - any Home Assistant install works, including the Yellow, the Green, or a virtual machine. A Pi 5 with an SSD is a popular cost-effective choice that comfortably handles HA Core, an MQTT broker, and a dozen HACS integrations including the energy ones.
Q02Will this work with a SMETS1 meter?
It depends. Most SMETS1 meters have been migrated onto the DCC by now and behave as SMETS2 for these purposes. Older non-migrated SMETS1 meters can't be commissioned to a CAD and aren't covered by n3rgy - the Octopus integration is your only option (and only if your supplier is Octopus).
Q03Can I use the Hildebrand Glow without an account?
No - Hildebrand needs to commission the device to your specific meter through the DCC, which requires registering it. Once commissioned, you can use it offline via local MQTT and ignore the cloud account if you prefer.
Q04Which integration gives the most accurate cost data?
The Octopus Energy integration, because it ties costs to the actual half-hourly rate that's being charged. n3rgy and Glow give consumption only - you have to layer pricing on top in the Energy dashboard, which works fine for a flat tariff but misses the nuance of Agile, Go, or Intelligent.
Q05Can I run all three integrations at once?
Yes, and there's a sensible case for it. Glow for real-time consumption, Octopus for tariff-aware cost data and smart-tariff dispatch sensors, and n3rgy as a free historical backup. Just point the Energy dashboard at the Glow daily-kWh sensor as your primary, and use the others for automation and reconciliation.
Q06What if I'm not on Octopus?
The community-maintained Octopus integration is Octopus-specific. For other suppliers, your options are n3rgy (free, cloud, D+1) or a Hildebrand Glow IHD (paid hardware, local, real-time). British Gas Hive used to expose smart-meter data but currently doesn't have a maintained HA integration; the same is true for E.ON Next and most other big suppliers.