How to Verify Home Assistant Energy Data Against Your Utility Bill

Reconcile Home Assistant grid import with your electricity bill: compare meter readings and dates, fix solar/export errors, CT scaling and statistics gaps.

Quick Summary (TL;DR)

To reconcile Home Assistant with an electricity bill, compare the same physical quantity over the same time window. For most homes that means grid import in kWh, measured at the grid connection, between the supplier’s actual opening and closing meter readings. It does not mean the Energy dashboard’s total household consumption if you have solar panels or a battery. Nor does it mean the sum of your smart plugs, the current power reading in watts, or the amount charged in pounds.

Start with the meter registers and billing dates, establish whether the invoice is actual or estimated, then compare the grid-import statistic in Home Assistant for precisely that period. If the figures differ, work from the outside in: time boundaries, import/export direction, duplicated sources, sensor units and resets, then hardware placement and calibration. A consistent 2–5% difference has a very different likely cause from a sudden 1,000-fold jump; neither should be “fixed” by blindly editing historical data.

For UK installations, the supplier’s approved billing meter is the billing reference, not a consumer CT clampAliExpress price. Elsewhere, follow the local metering and supply rules. A DIN-rail meter or ESP32AliExpress price pulse reader can be a useful independent check, but does not automatically replace the utility meter for billing. This guide gives a repeatable reconciliation worksheet, worked examples and a fault-isolation procedure rather than an unsupported promise of laboratory-grade accuracy.

1. Understand which figure you are trying to reconcile

An electricity bill, a smart-meter portal and Home Assistant can each be correct while displaying different numbers. They may represent different measurement boundaries, update at different times, or account for solar generation differently. Before comparing anything, write down the name and unit of each figure.

Figure or sensorWhat it normally representsComparable to billed import kWh?
Supplier import registerCumulative energy imported from the public grid at the billing meter.Yes, when the register and dates match.
Supplier export registerCumulative energy sent to the public grid; may appear on a separate export statement.No; reconcile against export separately.
Home Assistant “Grid consumption”Imported energy recorded by the selected grid source(s).Usually, if all and only the correct import entities are configured.
Home Assistant “Home consumption”Household loads supplied by grid, PV and battery according to the dashboard model.No when onsite generation or storage contributes.
Inverter “solar production”Energy produced by the PV system at the measurement point defined by the inverter.No; production is not grid import.
Battery charge/dischargeEnergy moved into or out of storage; measurements may be AC- or DC-side.No; track separately and allow for conversion losses.
Individual appliance / smart plugAliExpress priceA downstream subset of household demand.No; incomplete and may overlap circuit monitors.
Supplier cost / in-home displayA tariff-based estimate or bill total including other charges.No; compare kWh before money.

Home Assistant’s electricity-grid guide explicitly separates energy imported from and returned to the grid. Its individual-device documentation also explains why upstream and downstream devices can overlap. A dashboard that looks sensible is not proof that the selected sensor measures the same boundary as the supplier meter.

2. Extract the actual bill data before opening Home Assistant

Find the bill covering the disputed period and transcribe the raw readings, not just the “units used” or the monetary total. If you have a two-rate tariff, record each register separately. If you have solar export payments, use the export statement or export register as a distinct reconciliation.

  1. Supply identity: address and meter serial number; in Great Britain also check the MPAN/supply identification when the property has more than one meter or supply. A meter replacement can create a discontinuity.
  2. Opening and closing readings: exact register labels, numerical values and the reading dates/times if supplied. Identify whether each is actual, customer-submitted or estimated.
  3. Register type: total active import, rate 1/rate 2 import, and export if applicable. Labels such as IMP, R01/R02 or OBIS 1.8.x/2.8.x depend on meter model and market; do not infer the tariff from the label alone.
  4. Billing interval: opening and closing boundaries; note whether the supplier treats dates as calendar days, reading timestamps or half-hourly settlement periods.
  5. Corrections: opening balance, meter exchange, estimated-to-actual catch-up, rebilling, tariff changes, VAT, standing charges, discounts and export credits. These affect money or bill presentation, not the underlying import-kWh definition.

For a UK smart meter, Citizens Advice’s meter-reading guide shows why “IMP KWH”, “TOTAL ACT IMPORT” and multi-rate registers must be interpreted according to the actual meter display. Its billing advice recommends checking whether readings are estimated. A supplier app’s daily usage chart may be delayed or rounded; the bill’s actual register readings are usually the better starting point.

Worked example: calculate bill usage from two actual readings

Illustrative arithmetic, not measured site data: suppose the same import register shows 12,840.6 kWh at the start and 13,271.9 kWh at the end. The supplier-meter interval usage is 13,271.9 − 12,840.6 = 431.3 kWh. If the bill displays only whole kWh, retain the precision available from the meter or statement and note any rounding.

Import_kWh = closing_import_register_kWh - opening_import_register_kWh
# Illustrative example
13271.9 - 12840.6 = 431.3 kWh

For two import registers, calculate each delta independently and add them. For example, 180.2 kWh on rate 1 plus 251.1 kWh on rate 2 is 431.3 kWh total import. The labels “day” and “night” are not universally fixed to R1 and R2; verify which tariff applies. Do not subtract the export register from the import total merely because you are paid for exported electricity.

3. Make the comparison interval genuinely identical

A billing cycle rarely begins at exactly the same point as a calendar month. If the invoice says “4 September to 3 October”, Home Assistant’s September monthly chart is not the right comparison. The opening and closing readings might also have been captured partway through the day. This matters particularly for EV charging, immersion heaters and heat pumps, which can move many kWh into the wrong day.

Time issueHow it creates a false discrepancyCorrective approach
Different start or end dayA single evening EV charge falls in only one total.Use the supplier’s actual reading boundaries; compare a short manually observed interval if timestamps are unknown.
Bill reading date but no clock time“Reading on 1 October” may not mean 00:00.Do not claim an exact match; allow for unknown partial-day consumption.
UTC versus local timeHome Assistant and supplier exports may label the same instant differently.Normalise timestamps before comparing interval rows.
British Summer Time / daylight savingA local calendar day can contain 23 or 25 hours at clock changes.Use timestamped intervals and avoid assuming every day has exactly 24 hours.
Half-hourly supplier data lagPortal graphs may be provisional or uploaded later.Prefer finalised supplier data; compare the same timestamped intervals.
Recorder or integration outageA power-derived total can miss consumption while HA is down.Check source-device lifetime registers, device logs and missing-statistics periods.
Meter exchange mid-periodOld and new registers have unrelated starting values.Reconcile pre-exchange and post-exchange periods separately.

A strong test is to photograph or note the approved meter’s import register at two known times, ideally 24–72 hours apart, while recording the Home Assistant source value at the same instants. Choose a period with ordinary loads; for solar homes, keep import and export separate. This eliminates most ambiguity caused by invoice cut-offs, supplier data delays and rate-period labels.

4. Select the correct Home Assistant statistic

Open Settings → Dashboards → Energy and inspect the entities configured under Electricity grid. The grid-import entity should represent imported energy, not instantaneous net power. Confirm that there is not a second overlapping grid source, such as both a CT-derived whole-home total and the utility meter’s import register. Check the return-to-grid entity separately.

Then inspect the source in Settings → Tools → States and Settings → Tools → Statistics (menu labels can change with Home Assistant releases). For a cumulative energy source, look for device_class: energy, a supported unit such as kWh or Wh, and an appropriate state_class such as total or total_increasing. A watts sensor normally has device_class: power and state_class: measurement; it cannot simply be treated as a kWh register.

The Energy dashboard uses Home Assistant’s long-term statistics, not a naïve subtraction of whatever happens to be displayed as the latest sensor state. Its long-term statistics documentation explains the stored sum for total sensors and the treatment of resets. In particular, a sensor that resets daily can still yield correct energy statistics when modelled properly, but comparing its end-of-day state with a lifetime meter register is meaningless.

  1. Check the exact entity ID used by the Energy dashboard; devices often expose total active energy, phase totals, returned energy and instantaneous power simultaneously.
  2. Look for statistics warnings, missing periods, suspicious spikes, unit changes or a sensor that started recording only halfway through the bill.
  3. For a clean interval, compare the increase in the statistic’s energy sum between boundaries, or the Energy dashboard’s grid-import total for that precise interval. Do not add together both a total and its constituent phases.
  4. If the device exposes a persistent import register, compare its start/end readings as a second independent diagnostic. It may be more informative than a reconstructed power integral during a Home Assistant outage.
  5. Before any historical-statistics repair, take a backup and preserve the original readings, timestamps and discrepancy calculation. Correct the source configuration first, then address damaged statistics deliberately.

The official Energy FAQ warns that combining multiple resetting utility-meter sensors into a single template total can create false jumps because the resets do not occur at exactly the same moment. Use the supported Energy configuration rather than hiding such spikes with arbitrary smoothing.

5. Calculate the discrepancy without misleading percentages

Once both values refer to the same interval and grid-import boundary, calculate the absolute difference and its percentage relative to the supplier-meter interval. Keep the sign: a positive result means Home Assistant recorded more import than the bill; a negative result means less.

difference_kWh = HA_grid_import_kWh - supplier_import_kWh
percentage_difference = 100 * difference_kWh / supplier_import_kWh

# Illustrative comparison, not a product accuracy test
supplier_import = 431.3
HA_import = 444.1
difference = 12.8 kWh
percentage = +2.97%

If the supplier-import denominator is zero or extremely small, a percentage is not useful: report the absolute difference in Wh or kWh and test a longer interval. There is no universal “within 5% means accurate” rule. Measurement class, CT ratio, installation conditions, low-load behaviour, timestamp uncertainty and the supplier meter’s own characteristics all matter. A 1% error quoted for a component is not a guarantee of 1% end-to-end agreement across an uncalibrated installation.

Example outcomeInterpretationFirst action
Bill 431.3 kWh; HA 444.1 kWhHA higher by 12.8 kWh (+2.97%); not automatically a faulty meter.Check time cut-offs, net/export mapping and CT phase association.
Bill 431.3 kWh; HA 431,300 kWhA 1,000× scale error is likely.Inspect Wh-to-kWh conversion, Modbus scaling and template multiplication.
Bill 431.3 kWh; HA 0 kWhNo valid grid-import statistic, wrong direction or missing recorder history.Check the actual selected entity and Statistics diagnostics.
Bill 431.3 kWh; HA 860 kWhPossible duplicate whole-home source or wrong summation.Review grid-source list and whether both mains and sub-meter were included.
Bill 431.3 kWh; HA 390 kWhPossible lost interval, wrong CT placement or missing phase.Compare persistent hardware register and time-series gaps.

6. The most common causes, ranked by diagnostic value

A. Import, export and net power are being confused

A bidirectional meter often exposes separate cumulative import and export registers as well as signed instantaneous net power. Signed net power is not the same as cumulative imported energy. Integrating a signed net-power series over a day yields a net quantity; the bill can charge for gross import and separately credit export. If your system alternates between import and export, integrating net power directly into one positive consumption total is an accounting error.

The correct conceptual procedure is to identify the grid boundary, separate import and export at the relevant metering interval, then accumulate each non-negative flow independently. Three-phase installations require particular care: a utility meter may calculate net import/export across phases according to its own metering method, while a CT system might add positive per-phase import and positive per-phase export separately. Both can be internally consistent yet disagree on gross registers if the accounting methods differ. Ask the installer or meter supplier to confirm the actual register semantics; do not infer them from a sensor named “total”.

B. A CT clamp is on the wrong conductor, backwards or paired with the wrong phase

A current transformerAliExpress price measures the conductor it surrounds, not “the whole house” by magic. Clamping a branch instead of the service conductor omits loads; clamping both live and neutral in the same window can cancel the magnetic fields. Reversing CT orientation can reverse the sign in some systems. On three-phase supplies, mismatching a CT with the voltage reference of another phase can produce severely wrong active-power readings even if current looks plausible. A qualified electrician should verify phase association, conductor routing, CT arrow orientation, transformer ratio and the monitor’s supported connection diagram.

CT accuracy is not a single fixed percentage at all currents. The manufacturer’s specification may exclude very low loads or use different error bands. For example, the official Shelly Pro 3EM knowledge base documents current-dependent accuracy bands, a configurable no-load threshold and model-specific CT requirements. Check the exact model and hardware revision on the label: Pro 3EM, Pro 3EM-400 and other variants must not be assumed to have interchangeable CTs or ranges.

C. Wh, kWh, W and kW have been mixed

A meter reporting 15,000 Wh has recorded 15 kWh, not 15,000 kWh. Power is a rate, energy is its accumulation over time: a steady 2 kW load for half an hour uses 1 kWh. A register exposed as raw integer units may require a manufacturer-specific multiplier; Modbus registers can also be affected by data type and byte/word order. Read the protocol document for the exact meter revision before applying any multiplier.

A less obvious error is a 60× or 3,600× mismatch from integrating watts using minutes or seconds but labelling the result as hours. The Home Assistant Integral helper provides explicit time-unit and metric-prefix settings. If the device already reports cumulative kWh, prefer that counter to re-integrating an intermittently sampled power sensor, provided the counter is correctly defined and reliable.

D. Daily-reset sensors and history gaps have contaminated statistics

Some ESPHome projects use Total Daily Energy, which resets each day, rather than a lifetime energy register. ESPHome documents an alternative integration sensor for a persistent total. The Home Assistant statistics engine can handle legitimate resets when the sensor semantics are correct; it cannot infer missing energy from an offline power sensor, nor safely recover a counter that resets unexpectedly and reports malformed values.

If a discrepancy begins on one exact date, inspect the device and Home Assistant logs for that day: firmware update, sensor rename, unit conversion, power outage, network failure, reset, statistics repair or a changed tariff automation. A step change at one timestamp points towards data handling; a stable proportional difference over many days points more towards scaling, installation or measurement boundary.

E. You have counted a load twice

Suppose a whole-house CT includes an EV charger, and the EV charger’s own kWh is also added as another grid source. That duplicates energy. Appliance monitors belong under individual devices or a properly defined hierarchy, not as additional parallel grid connections. If a submeter is downstream of another circuit monitor, define that relationship instead of summing both into a whole-house figure. The official individual-device energy guide describes upstream-device relationships for this case.

7. Solar panels and batteries: use the right energy balance

With PV, the bill measures grid import; it does not measure total electricity consumed inside the home. For a consistent AC-side accounting boundary, an illustrative balance is:

Home_loads ≈ Grid_import + PV_generation + Battery_discharge
             - Grid_export - Battery_charge

This is a bookkeeping identity only when all quantities refer to the same interval and compatible measurement boundaries. DC-side battery or PV figures, inverter conversion losses, hybrid inverter topology, auxiliary loads and meter placements can require explicit loss terms. Do not use the formula as a calibration tool until the diagram and sensor definitions are known.

Illustrative example: grid import 250 kWh, AC PV production 400 kWh, grid export 100 kWh, battery discharge 40 kWh and battery charge 20 kWh would imply approximately 570 kWh supplied to home loads under the stated assumptions. A bill showing 250 kWh import is not missing the other 320 kWh. The household consumed more electricity than it purchased because it used onsite generation and storage. Compare 250 kWh against the Home Assistant grid-import source, not against 570 kWh home consumption.

Installation arrangementBill comparisonCommon trap
Grid-only homeImport register versus HA grid import.Using summed appliance meters instead of service import.
PV without batteryImport register versus HA grid import; export separately.Comparing home consumption or PV generation with import.
PV with batteryImport and export separately; battery charge/discharge are supporting flows.Counting battery discharge as newly generated energy or mixing AC/DC readings.
Three-phase PVConfirm supplier register method and CT phase summation.Per-phase import/export totals differ from the meter’s cross-phase netting method.
Dedicated export connectionReconcile each physical connection/register separately.Treating a dedicated export meter as if it were the household import meter.

For configuration, see Home Assistant’s solar and battery guides. The Energy FAQ also covers a dedicated solar export connection. On this site, Home Assistant Energy Dashboard: Correct Grid, Solar and Battery Entities explains entity selection; that is a separate task from reconciling supplier readings.

8. A repeatable diagnostic test you can perform safely

Do this before buying replacement CTs or changing templates. It is deliberately designed to avoid opening a consumer unit, removing a meter seal or handling exposed conductors. If you cannot read the approved meter safely from its normal display, ask your supplier for readings or an accessible report.

  1. Capture baseline: at a known local timestamp, record the supplier-meter import register (and export if fitted), Home Assistant’s raw grid-import counter and the source-device’s own register. Photograph the normal display only where permitted.
  2. Record the setup: entity IDs, units, state classes, meter make/model and revision, CT ratios, phase mapping, firmware versions, Home Assistant version and selected grid sources. Do not alter them during the test.
  3. Wait a meaningful interval: ideally 24–72 hours with enough energy to dominate display rounding. Include typical load changes. Avoid a period when a known network outage or meter exchange will interrupt the test.
  4. Capture the same three registers again: supplier import, Home Assistant statistic delta, and device total. Export register if applicable. Note exact timestamps and whether they are local time or UTC.
  5. Calculate three deltas: supplier meter, source-device hardware register, Home Assistant long-term statistic. A hardware register agreeing with the supplier but not Home Assistant points towards data handling; both hardware and HA disagreeing suggests installation, calibration or boundary.
  6. Check interval slices: use hourly or half-hourly data if available. Identify whether the discrepancy is continuous, proportional to load, concentrated around PV export, or isolated to a single missing period.
  7. Change one thing at a time: if an electrician corrects CT orientation or phase mapping, repeat the baseline test. Keep old and new results rather than rewriting the original record.

Example reconciliation worksheet

FieldSupplier meterMonitoring hardwareHome Assistant
Start timestamp2026-09-10 09:00 local2026-09-10 09:00 local2026-09-10 09:00 local
End timestamp2026-09-12 09:00 local2026-09-12 09:00 local2026-09-12 09:00 local
Start import reading12,840.6 kWh1,440.2 kWhStatistic baseline recorded
End import reading12,866.0 kWh1,465.4 kWhStatistic baseline + 25.3 kWh
Interval import25.4 kWh25.2 kWh25.3 kWh
Difference from supplierReference−0.2 kWh−0.1 kWh

All numbers in this worksheet are invented solely to demonstrate the method, not test results or claimed device performance. The raw register offsets differ because meters were installed at different times. Only changes over the same period are compared. This is why trying to force a Shelly lifetime counter to display the same absolute number as the utility meter is unnecessary.

9. Which monitoring method is easiest to reconcile?

You do not need to buy anything to check an existing Home Assistant installation. If the present system cannot provide trustworthy import and export registers, the following choices have different trade-offs. The purpose here is reconciliation capability, not a ranking of the most attractive gadgets.

MethodBest use in a bill reconciliationKey limitations and purchasing checks
Read the approved utility meter directlyMost direct interval reference when accessible.Manual readings or permitted local data port; supplier owns/controls meter access. UK smart meters do not universally expose Dutch-style P1.
Supplier interval data / supported integrationUseful second view of bill-aligned import and tariff periods.May be delayed, estimated or dependent on supplier account/API; regional availability varies.
Optical ESP32AliExpress price pulse readerNon-invasive pulse-counting check on a visible LED marked imp/kWh.Confirm pulse constant and what LED measures; missed pulses during downtime; not necessarily separate import/export; do not tamper with meter.
CT whole-home monitor, e.g. Shelly Pro 3EM familyLocal monitoring with per-phase readings and potentially separate returned energy.Correct CT and voltage reference, phase mapping, low-load accuracy, correct model/CT variant; qualified installation.
Direct-connected DIN-rail Modbus meter, e.g. SDM120-MIndependent branch or feed kWh counter with local RS485 access.SDM120-M is a single-phase 45 A direct-connected model; not a universal 100 A service monitor. Select correct meter, installation and certification.
Three-phase Modbus meter, e.g. SDM630-Modbus V2Dedicated three-phase feed metering with documented registers.Check exact V2 variant, direct/CT wiring, MID approval, register semantics, RS485 gateway and installer labour.

The manufacturer’s Eastron SDM120-M page specifies 1P2W, up to 45 A direct connection, RS485 Modbus/DLT645 and bidirectional measurement; its download centre distinguishes SDM630 Modbus V2 from other SDM630 revisions. Read the actual data sheet for the purchased SKU rather than assuming every “SDM120” or “SDM630” has the same port or approval. The Home Assistant Shelly integration is local, but the Shelly hardware’s counters and your recorder history are separate things.

Budget for the full system: meter and correct CTs where required, protective devices, DIN-rail space or a suitable enclosure, voltage reference wiring, RS485-to-Ethernet/USB adapter if needed, network cabling, electrician commissioning, and any ongoing supplier/API costs. A cheap meter bought online can be the least important part of the final bill. Check national approval markings and the exact supply topology: UK/EU 230 V single-phase and 400/230 V three-phase are not interchangeable with North American 120/240 V split-phase products.

10. UK billing, MID approval and electrical safety

In Great Britain, electricity used for billing is subject to regulated meter approval and accuracy rules. The UK Office for Product Safety and Standards states that meters used for billing must be of an approved design and describes the supplier-led independent meter-testing route. See national regulation of electricity meters and independent accuracy testing. A consumer monitoring device, even one marketed as “1% accurate”, is not automatically an approved billing meter or grounds for altering an invoice.

A meter with a relevant MID approval may be appropriate for certain submetering applications, but approval is model- and configuration-specific and does not transfer to a different product revision, CT pairing or jurisdiction. For an actual supplier-meter accuracy dispute, first contact the supplier with the serial number, dated readings and evidence. An independent test may incur a charge if the meter proves accurate under the applicable rules. Do not cut seals, remove meter covers or interfere with utility-owned wiring.

In the UK, consumer-unit work should be designed and carried out by a competent professional to the applicable edition of BS 7671 and local legal requirements. The IET states that BS 7671:2018+A4:2026 was published in April 2026, with the previous edition valid during the transition until 15 October 2026; check the requirements at the actual installation date. Other countries have their own electrical rules, meter-access restrictions and approved measurement arrangements.

Safety boundary: Reading a normal meter display and checking Home Assistant settings are homeowner tasks. Moving CTs, opening a live distribution board, adding voltage references or direct-connected meters, and altering service conductors are not. A CT can also present hazards if mishandled; follow the exact manufacturer’s instructions and use a qualified installer.

11. When the bill still does not agree

After the interval, register and sensor checks, classify the evidence. This prevents an expensive hardware replacement that leaves the real problem untouched.

PatternMost useful next investigationWhat not to do
Disagreement only in one invoiceCheck estimated-to-actual catch-up, meter exchange, reading dates, tariff register mapping.Do not recalibrate the CT to an estimated bill.
Difference proportional to load over many weeksCheck CT ratio, phase mapping, meter model, low-current performance and Modbus scale.Do not apply an unexplained global correction factor.
Difference mainly on sunny daysCompare gross import/export registers and cross-phase netting.Do not subtract export from import as a shortcut.
Sudden spike on one dateCheck HA statistics repair, reset, unit or entity change.Do not wipe all energy history.
Hardware total matches supplier, HA does notInspect integration availability, recorder, long-term statistics and duplicate entities.Do not replace the measurement hardware first.
Both hardware and HA disagree with supplierVerify physical measurement boundary and installation, then seek qualified testing.Do not assume supplier meter is faulty without evidence.

If the discrepancy remains material after a controlled test, provide your installer or supplier with the interval table, photographs of approved meter readings, the meter serial number, sensor/entity details and a timeline of changes. For suspected utility-meter inaccuracy in Great Britain, follow the formal supplier route described by OPSS. The evidence is far more useful than a screenshot of a dashboard showing a higher number than an invoice.

Frequently asked questions

Why does Home Assistant show more electricity than my bill?

It may be showing home consumption rather than grid import, or it may have duplicated a whole-home and downstream source. A different time window, incorrect CT ratio or a statistics spike can also inflate the total. First compare the bill’s import-register delta with the Energy dashboard’s grid-import source for identical timestamps.

Can I use a smart plug to calibrate a whole-house CT?

A smart plug can help sanity-check a modest single-phase load within its approved rating, but it is not a traceable calibration reference and may have its own low-load error. Never use an unsuitable smart plug with a large heater, EV charger or hard-wired appliance. A proper commissioning check uses the relevant meter and qualified test equipment.

Should I add my solar inverter production to grid import?

No. Grid import is energy purchased at the utility connection. PV production is a separate flow. Home Assistant uses these flows to estimate home consumption, but adding generation to the import register would no longer match the bill.

Why does my supplier show two tariff registers while Home Assistant shows one?

The supplier can bill the same total imported kWh at different rates. You can reconcile total import by summing both register deltas, then use Home Assistant’s Utility Meter integration to allocate consumption to tariff periods. Verify the tariff schedule, daylight-saving changes and switching logic; a tariff helper created mid-cycle has an incomplete first cycle.

Does an accurate meter mean my Home Assistant data cannot have gaps?

No. A device can measure and store energy correctly while Home Assistant is disconnected. Whether missing data is recovered depends on the hardware’s persistent counters, its history API, the integration and the recorder. A power-only integration may permanently miss energy during downtime; a lifetime energy counter may recover the aggregate but not the original hourly distribution.

Is a 3% discrepancy acceptable?

There is no single acceptable percentage for every system and interval. A short comparison with uncertain meter timestamps is not a calibration test. Assess the meter specification, installation, load range and length of observation; repeat the comparison over a controlled period. If the regulated billing meter is suspected to be inaccurate, use the supplier’s formal testing process.

Conclusion: reconcile the boundary before blaming the meter

The fastest reliable path is supplier actual import register → identical timestamps → Home Assistant grid-import statistic → independent hardware counter. If the supplier and hardware agree but Home Assistant does not, investigate the integration and statistics. If both monitoring readings disagree, inspect measurement placement, phase association and calibration with a qualified installer. Keep solar production, battery flows, export and monetary charges out of the import comparison until their own registers are reconciled.

For related implementation decisions, read our DIN-rail Modbus energy meter comparison and grid, solar and battery entity guide. The former helps select a properly specified secondary meter; the latter helps ensure that Home Assistant models the right energy flows.

Official sources and further reading

CONTINUE EXPLORING / SMART HOME & ESPHOME

Read next

Practical guides related to this article.

Explore the topic →
HARDWARE DECISION GUIDEChoosing Home Assistant hardware?

Compare practical options before you choose hardware.

Compare options →