How it works · WattEY
How WattEY turns meter data into a number you can defend
Most energy platforms answer “how much did you use?” WattEY answers a harder question: “how much, from where, at what time — and which parts of that do we actually know?” That last clause is the whole product.
A number you can defend
Any dashboard can draw a bar. The difficulty is a meter that went dark for nine hours, a CT clamp installed backwards, a solar array feeding back at noon, and a generator nobody logged — all on the same site, on the same day, inside the same number.
A defensible number is one that survives being challenged. That means four things, and WattEY is built around all four:
| A number you can defend… | |
|---|---|
| 1 | Traces to an instrument — not to an average, an estimate, or a fill |
| 2 | Reconciles — its parts add back to the whole, visibly |
| 3 | Declares its own gaps — what is unknown is labelled, not smoothed over |
| 4 | Matches the meter on the wall — checkable by anyone who walks up to it |
Verified in production: a disputed electricity bill was settled by replaying a meter’s own registers over the exact billing period. WattEY’s figure matched the meter to 0.015% — and the discrepancy turned out to be a billing-period mismatch, not a metering error.
A customer who catches the platform guessing once stops trusting every number it ever showed them. A platform that visibly refuses to guess earns the right to be the system of record — and the system of record is the one nobody replaces.
The four flows
A site is not one number. Electricity arrives and leaves by four different routes, each measured by a different instrument, at a different point in the system — and a site’s real energy picture only exists once all four are on the same timeline.
| Flow | What it is | Where WattEY reads it |
|---|---|---|
| ⬇ Grid import | Units drawn from the utility | The meter’s own import register |
| ⬆ Grid export | Units sent back to the utility | The meter’s own export register |
| ☀ Solar generation | Units the array actually produced | The inverters themselves |
| 🔥 Generator output | Units burned from diesel | A dedicated meter on the generator supply |
Each of those four comes from a different device that does not know the others exist. Put them on one timeline and each one explains the others. That is the product.
The rule that holds it together
Generation is never folded into consumption. The tempting move is to compute consumption = import + generation − export so everything balances. WattEY refuses: generation is read at a different instrument from the grid figures, and instruments fail independently. Fold a bad generation number into consumption and you get a figure that is wrong, looks perfectly reasonable, and still balances — so nothing downstream can ever detect it. Kept separate, a broken generation feed breaks exactly one number, and it is visibly the generation one.
Consumption stays grid-truth. Generation is shown next to it, never mixed into it.
And generation is cross-checked against itself: it arrives from the inverters in two independent forms (a fine-grained shape across the day and an authoritative daily total), and WattEY compares them every day, automatically, flagging any day they disagree beyond tolerance. That disagreement notice is internal-only — a customer is never shown one of our systems distrusting another.
One page, five kinds of meter
The customer never picks a type — the platform classifies the hardware from its own telemetry (two flags, derived nightly: has it ever reported separate import and export? has it seen a generator in the last 90 days?) and renders only what that meter can truthfully support. An administrator can override any classification — 14 of 36 live meters carry a manual override today.
The live mix, today
| Type | Live | What it is |
|---|---|---|
| 1T | 16 | Single-tariff grid meter — import only |
| SM | 16 | Smart bidirectional meter — import and export |
| 2T | 2 | Dual-tariff bidirectional meter |
| GM | 2 | Dedicated generator meter |
| 2T-L | 0 | Dual-tariff import-only — supported, none deployed |
What “consumption” means on each type
Same word on screen, five different pieces of arithmetic underneath — every figure read through the meter’s own strategy, never decided by the card.
| Type | Consumption is… | Label shown |
|---|---|---|
| 1T | import only (export is a hard zero — no register exists) | “Consumption” |
| SM | import − export (export read from the register) | “Net consumption” |
| 2T | import − export (export read from the register) | “Net consumption” |
| 2T-L | import only (hard zero) | “Consumption” |
| GM | generator output, counted as import | “Generator units” |
Why the absences matter: a 1T meter has no export register, so a Solar Export card is not rendered at all — a flat zero would say “this site produces nothing” when the truth is nothing is being measured. Absence is the honest answer; a zero is a lie.
The generator meter — an honest history
A generator meter answers a different question from a grid meter: not “how much did I draw?” but “when did it run, for how long, and how many units did it burn?” WattEY originally tried to detect generator runs on a shared grid meter using the tariff-changeover signal. Two live tests disproved it — the changeover never drives that signal, so every generator unit was being booked as grid import. Rather than leave a tab showing permanently empty data, the tab was removed and generators were given their own meter.
So on a generator meter there is no tariff signal at all: load itself is the on/off signal, derived from the 3-minute power stream. 517 generator runs have been detected and attributed. The label reads “Generator units” — counted as import, because a generator meter is a single-tariff device installed on the generator supply.
Diesel is the largest controllable energy cost on an industrial site here, and almost nobody measures it. Runtime, burn rate and grid-vs-generator attribution is a standalone capability — and the two live generator meters are the proof it works.
Walking the device page
The banners — what loads before any number
🔴 Wiring Fault Banner. The nightly wiring check’s verdict used to reach only a small header badge — while every figure below it was computed in full confidence by code that had no idea the meter was known-bad. On one live site that produced a header reading “Phase C reversed” sitting directly above a card reporting 2,201 kWh of “solar export” that was actually reversed import. The banner now sits above every number. It does notcorrect anything — the meter is the record of truth; adjusting readings in software would layer a guess on a known-bad signal and erase the evidence. Its wording points at the meter installation, not the platform: the system is reporting a miswired clamp faithfully, and is the only reason anyone knows.
🟡 Stale Data Banner. If the last reading is more than 15 minutes old, everything below is flagged as not live — because a dashboard that looks live but isn’t is how someone makes a load-shedding decision on a number that stopped updating three hours ago.
The trend arrows — like for like
Today-so-far is compared to yesterday to the same hour; month-to-date to the same daysof last month. They used to divide a part-period by a whole one — which, measured on live production at 14:00 on the 24th of a 31-day month, understated the day-on-day trend by an average of 84.6 percentage points across 23 devices, and showed seven sites falling while they were actually rising (one rice mill read −20.9% when it was +71.9%). An arrow pointing the wrong way is worse than no arrow.
Meter Reading — the card that ends bill disputes
Import and export for any date range, with time of day, taken straight from the meter’s own lifetime counters — the meter’s numbers, with nothing of ours in between, over the bill’s exact dates (never a calendar month). The reading timestamps and a coverage bar are always shown, so a range silently collapsing to when the data begins, or a “day” that spans ten hours because the meter was dark, can never masquerade as clean. This is what turns WattEY from a monitoring tool into an evidence tool.
Consumption pattern, phase health & the offline band
Day vs night is split using actual sunrise and sunset for the site’s coordinates, not a fixed 6-to-6 assumption — with a third column, offline: when a meter was dark, that energy appears as its own labelled amber band, “offline · times unknown”, so the parts still reconcile to the total (month-to-date it has reached up to 21% of a site’s off-hours energy). Phase Health shows per-phase power, power factor and how often each phase runs backwards after dark — evidence under the wiring verdict, and when the nightly check and the seven-night view disagree about which phase, the card says so and a human decides. And CT ratios are set per device: get one wrong and every figure downstream scales by the same factor — the failure mode that makes a peak read 711 kW when it should read 71.
The analysis page — the whole estate
Rows are devices, columns are days, each cell up to nine metrics (import, export, net consumption, peak demand, peak/off-peak units, day/night units, and offline units — energy recovered but un-timeable). One shared aggregator serves this and the device page, so a customer comparing a total across the two screens finds they match byte for byte — the math is not reimplemented anywhere. Today is never in the range (partial data is excluded, not caveated), and every view exports to CSV: the artefact a finance team actually wants is a spreadsheet that reconciles.
The four rules
Everything above follows from four commitments. They are the product.
1. Never estimate. Never interpolate. Never pro-rate.
When a meter is dark, the energy is recovered from its cumulative register on reconnect, so totals stay correct. But when inside the gap it was used is unknowable — so it is drawn as its own labelled band. Most platforms fill a gap with an average. WattEY draws the gap.
2. Never fold generation into consumption.
Generation is read at the inverters; import and export at the meter. Two instruments, failing independently. Kept separate, a broken feed breaks exactly one number, and it is visibly the generation one. Consumption stays grid-truth.
3. Never compare a part-period against a whole one.
Today-so-far against yesterday to the same hour; month-to-date against the same days of last month. Where no honest comparison exists, the page says “no comparison” rather than printing a percentage.
4. Every aggregate must reconcile.
Measured + offline = gross, on every card, for every meter type. A figure that cannot be reconciled is labelled, not displayed. The platform is built so that an unexplained number is impossible to show.
The moat is not the dashboard. It is the ten months of discovering what a meter lies about, and building a system that says so out loud. Meter data in, a number you can defend out.
All behaviour described here is live in production as of 24 September 2026, across 36 meters at 20 businesses in 6 cities. More on the thinking behind it: why we built WattEY.

The brain behind the engineering
Every model, alert and inspection method behind these platforms is built and overseen by Engr. Reyyan Niaz Khan — BijliBachao’s energy systems consultant · founder, a UET Lahore electrical engineer with 14+ years in Pakistan’s energy sector and the pioneer of digital energy auditing in pakistan. He is the engineering mind that keeps your solar honest.
Meet the founderHow WattEY works, your questions
- What does “a number you can defend” mean?
- A figure that survives being challenged: it traces to an instrument (not an average or estimate), its parts reconcile to the whole, it declares its own gaps rather than smoothing them, and it matches the meter on the wall. A disputed bill was settled this way — WattEY matched the meter to 0.015%.
- Why aren’t solar generation and consumption combined?
- They’re read at different instruments (inverters vs the meter) that fail independently. Folding a bad generation figure into consumption gives a wrong number that still looks reasonable and balances, so nothing can detect it. Kept separate, a broken feed breaks exactly one visible number. Consumption stays grid-truth.
- How does WattEY know what kind of meter it is?
- It classifies the hardware from its own telemetry — has it ever reported separate import/export? has it seen a generator recently? — and renders only what that meter can truthfully support. An administrator can override any classification (14 of 36 live meters do today).
- What happens to energy while a meter is offline?
- It’s recovered from the cumulative register on reconnect, so totals stay correct — but the timing is unknowable, so it’s shown as a labelled “offline · times unknown” band beside day and night. Measured + offline = gross. It has reached up to 21% of a site’s off-hours energy in a month.
- How was a reversed CT clamp caught automatically?
- Solar cannot generate at 2am, so a meter exporting after dark is a reversed clamp, every time. The nightly check runs exactly that test — and it has caught 6 meters, with no site visit.
Meter data in, a number you can defend out
One reconciled picture across grid, solar and generator — measured, not estimated, and checkable against the meter on the wall. Talk to our engineers about your site.
