How WattIQ works
WattIQ takes a file of your home's energy data and shows you, in plain numbers, how much of your solar you actually use, how independent you are from the grid, and what a home battery would save you each year — including roughly how long it would take to pay for itself.
What you'll need
One file exported from your meter, inverter or energy monitor (Home Assistant, your inverter app, your utility portal, etc.) — a CSV, or an inverter Excel export such as Deye Cloud. Each row is one time interval — hourly or 15-minute both work. WattIQ reads these columns:
Consumption (required)
How much electricity your home used in that interval, in kWh.
Solar / PV (optional)
How much your panels produced. Without it, solar and battery figures are zero.
Import / Export (optional)
Grid in and grid out. If they're missing, WattIQ works them out from consumption minus solar.
Don't have a file handy? Download the sample below — a realistic full year of hourly data for a ~5 kWp home — and try the tool with that first.
The three numbers, in plain language
Self-consumption
Of all the solar you produced, the share you used yourself instead of sending to the grid. Higher is better — home-used solar is worth far more than what the grid pays you for it.
Self-sufficiency
Of all the electricity you used, the share that came from your own solar (directly or via the battery) rather than the grid. This is your independence from the utility.
Battery savings & payback
How much less your grid bill would be each year with a battery, what the battery costs, and how many years until those savings cover the cost.
How the savings are worked out
WattIQ runs your data twice, interval by interval: once with no battery, once with the battery you pick. A battery stores surplus solar when you have it and gives it back later, so it cuts what you buy from the grid — the big win — while slightly reducing what you sell back. The yearly saving is the difference between those two grid bills.
A battery's benefit rises with size and then flattens out: past a point it rarely fills, because dark winter months simply don't have the sun to charge it. That ceiling is physical, not a glitch — it's why the cheapest battery that captures most of the benefit is usually the smartest buy.
Honest about the assumptions
The MVP keeps the model simple on purpose. These are the choices most likely to make a number feel off — worth knowing before you trust the figures or share them:
- A partial upload scaled to a year can mislead. If you upload less than a full year, the annual figure is an estimate that assumes the rest of the year looks like what you uploaded. A sunny summer month scaled up overstates a real year. It also assumes the grid was at nominal voltage — in areas with frequent overvoltage, inverters are forced to stop exporting around midday. You can model that with the “Daytime curtailment” setting: it treats some midday surplus as lost and shows how much a battery would recover by storing it for the evening. Upload a full year for a trustworthy annual number.
- Flat prices only. One import price and one export price for the whole period — no time-of-use or dynamic tariffs yet. On a time-of-use tariff a battery is usually worth more, so this is the conservative case.
- No battery power limit. The model lets the battery charge or discharge any amount within its usable size in one interval. Real batteries have a maximum kW rate, so very spiky loads are modelled slightly optimistically.
- No degradation or standby losses. Only the round-trip efficiency (energy lost charging then discharging) is modelled. Batteries also fade over years and lose a little while idle — not yet included.
- The battery starts empty. Day one is slightly understated on short files; negligible over a full year.
Your data stays yours
Your file is processed for your report only. Nothing about your home is sold or shared. This is an early beta — feedback on both the numbers and the wording is very welcome.
Spotted a number that looks wrong, or wording that's unclear? That's exactly the feedback this beta needs.