Nothing to show yet
Today
Last 24 hours, by interval
A rolling 24 hours ending at the current quarter-hour, sliding as it refreshes. Solar segments are what each dwelling consumed from generation plus what was exported; grid segments are what each imported and will be billed for.
Month to date — whole property
Main house
Granny flat
Solar savings
Saved per day
Each day is priced interval by interval at the rate that applied at the time, so solar used during an expensive band is worth more than the same kilowatt-hour at midday. This is an estimate from our own meters and the plan's own rates — it is not a bill, and nobody is charged from it.
Main house
Granny flat
History
Where the energy went
Breakdown
Split a bill
Bill details
Result
History
Electricity plan
Plan details
Week at a glance
Every quarter-hour of a week, coloured by the window it resolves to. Any Unmatched cell means an interval that would fall through — add a catch-all window at priority 0.
Settings
Roles and permissions
Static Web Apps decides who someone is; this decides what they may do. Grant a role from Role management in the Azure portal, then set what it can reach here. Data scope limits whose figures they see — a house tenant sees the house and the shared site totals, not the flat's usage.
Data quality
Interval coverage by day
Billable asks whether a bill can be produced at all: an interval counts when both meters covered it. It is normally 100%, so treat it as a warning light rather than a score. Meter agreement is the one that moves — it excludes intervals where the two meters disagreed slightly, which happens routinely and does not make a bill wrong. A day can be fully billable and still show disagreement.
Neg. house means the flat read higher than the whole property, so the house was clamped to zero for that interval — two independently calibrated meters, subtracted. Drift means the Envoy failed its own internal identity, which would point at the solar meter rather than at ours.
How the split works
Two meters, one subtraction and seven steps turn a single retailer bill into two fair shares. Every formula below is the one the code actually runs — if this page and the code ever disagree, the page is the thing that is wrong.
The Envoy measures the whole property
The solar inverter system meters everything crossing the property boundary, in fifteen-minute intervals, and uploads it to Enphase's cloud: how much the panels generated, how much the whole site consumed, and how much crossed the meter as import and export.
Those four are not independent — they must balance, and that gives us a free integrity check on every interval.
Measured on real data at an average of 0.013 Wh out. When this identity fails it points at the solar meter, not at ours, which is why it is reported separately on the Data quality page.
A second meter watches only the flat
A Shelly Pro EM-50 sits on the granny flat's own circuit and is read every minute — far more often than the solar data arrives. Channel 0 is the whole flat. Channel 1 is the EV charger, which lives inside that circuit.
The two channels are never added together. The EV is already counted in the flat's total; summing them would bill that energy twice.
The main house is never measured
There is no meter on the house. Its consumption is what is left when the flat is taken off the whole property.
This is the single most important thing to understand about the system, because everything awkward downstream follows from it. Two independently calibrated instruments are being subtracted, so the house carries the error of both. On a quiet interval the result can even come out slightly negative, which is impossible — so it is clamped to zero and the interval is flagged.
That clamp is the Neg. house column on the Data quality page. It runs at roughly 3% of intervals and accounts for about a kilowatt-hour in total.
Solar is shared, interval by interval
Each dwelling is entitled to a share of whatever the panels made in that quarter-hour. Whatever one cannot use — because it simply was not drawing that much — spills to the other rather than being treated as exported.
Then a cap, because the two meters disagree. Self-consumption is exactly what was generated and not exported, and the Envoy measures both of those itself — so it is the trustworthy number.
Without that cap, meter drift credited the dwellings with solar that had actually been exported — 1.5% of generation, which is money.
Grid import is attributed
Whatever a dwelling used beyond its solar came off the grid. The flat's import comes from its own directly measured consumption. The house's is then whatever is left of the real meter reading.
Anchoring the house to the measured import rather than to its derived consumption is deliberate: it guarantees the two shares always add up to what the meter actually recorded, so the retailer's kilowatt-hours are never invented or lost.
Every interval is priced at its own rate
A time-of-use plan charges differently through the day, so each quarter-hour is matched to the band in force at that moment — the plan that covered the date, then the window that covered the time and the day of the week.
This is why the Savings page prices interval by interval instead of using an average: a kilowatt-hour used during an expensive band is worth more than twice one used at midday, and averaging would credit the panels for the weather rather than for when they generated.
The bill's dollars are split, never recomputed
The retailer's bill is the authority. Each charge line is divided by each dwelling's share of the import measured during that band's intervals.
The flat's side is rounded and the house's is taken as the remainder, so the two always sum to the bill exactly, to the cent — nobody is ever short or over by a rounding error.
All figures in this system include GST, on both the bill and the plan, so the derived total matches what was actually paid.
Where the numbers come from
| Figure | Source | How often |
|---|---|---|
| Solar generated | Envoy microinverters | 5 minutes |
| Site consumption, import, export | Envoy consumption CTs | 15 minutes |
| Granny flat consumption | Shelly Pro EM-50, channel 0 | 1 minute |
| EV charger | Shelly Pro EM-50, channel 1 | 1 minute |
| Main house consumption | Derived: site − flat | 15 minutes |
| Rates | The plan you entered | On change |
| Bill totals | The retailer's bill you entered | Per bill |
Only one row is derived rather than measured, and it is the one every data quality flag traces back to.