Energy usage analyser
Import your smart-meter data (Green Button XML or CSV, Octopus, Home Assistant, or any interval CSV) in the browser; see every hour as a heatmap, daily and monthly use, baseload and peaks; price it on flat, tiered and time-of-use tariffs you can edit; and try an EV, a heat pump, solar and a battery against your own hours.
Added · updated 28 October 2026
Works with
- Solar ROI calculator Energy and off-gridopens a solar system there with your annual use, price and self-use
- Smart-home toolkit Home automation and devicesuses its Home Assistant address to pull energy sensor history
- Dwelling service load calculation US electricalsends the last year’s peak demand to its 220.87 method
How to use it
How to use it
Import — drop a file or choose one. It is read in your browser and kept in this browser’s storage; nothing is uploaded. Until you import, the tool shows a synthetic sample year.
-
Green Button XML (ESPI, “Download My Data” from most US utilities). Units come from each reading type (watt-hours, with its power-of-ten multiplier); delivered and received (exported) readings are kept apart; times are UTC and converted with the time zone you choose.
-
Green Button CSV in the common layouts: PG&E-style (
TYPE, DATE, START TIME, END TIME, USAGE, UNITS), Opower-style withIMPORT (kWh)andEXPORT (kWh), SDG&E-style (Date, Start Time, Duration, Consumed, Generated, Net). Gas rows are skipped. -
Octopus (UK) consumption CSVs, Home Assistant history CSVs (a running kWh total: the tool takes the increases between readings and copes with meter resets), and any interval CSV with a date-time (or a date and a time) column and a kWh or Wh column, or one row per day with 24, 48 or 96 interval columns. Dates such as
3/4/2024are read month-first unless a day over 12 shows otherwise — or set the order yourself. -
Home Assistant directly: connect with a long-lived token to import an energy sensor’s hourly long-term statistics (same client as the smart-home toolkit; the token stays in memory). From an
httpspage to a Home Assistant onhttp://on your network, use the gitwebsite app’s relay.
Usage — totals, average day, a year at this rate, baseload (the median over complete days of each day’s lowest hour: what is always on), the biggest hour, peak demand in kW (energy in an interval ÷ its length, so 15-minute data shows higher peaks than hourly), and the biggest day. The heatmap has a column per day and a row per hour: routines appear as bands. Use Heatmap full screen to see a year at full size. Daily and monthly bars (months priced on the chosen tariff), an average weekday and weekend, and the ten biggest hours.
Tariffs — flat, tiered (blocks reset each calendar month) and time-of-use. For time of use, add periods with prices, add seasons by month, and paint each hour of weekdays and weekends with a period; US federal holidays can be priced as weekends. Export is credited at the import rate of the hour (net metering; on tiered tariffs netted within the month) or at a fixed export rate. Fixed monthly charges are prorated by the hours of each month you have data for. The comparison prices your hours on every tariff, scaled to a year. The presets are examples with illustrative rates — real tariffs change; copy your utility’s current rate sheet (delivery charges included).
What-ifs — add an electric car (distance a day ÷ efficiency ÷ charging efficiency, charged from the hour you plug in at the charger’s power), a heat pump replacing gas heating (gas × furnace efficiency = heat; heat ÷ seasonal COP = electricity; a therm is 29.3071 kWh), rooftop solar (size × specific yield, shaped by month and by the sun’s height through each day) and a battery (stores surplus solar, and optionally charges in the tariff’s cheapest hours to cover dearer ones). See the change in the bill — with the gas saved — and an average day before and after. Open this system in the solar ROI calculator carries your use, average price and the self-use found here to Solar ROI for payback and NPV.
Export data and tariffs saves everything as JSON you can import again.
Limits
-
A model on your past hours: weather, driving and tariffs change. Bills are cut on meter-read dates, not calendar months, and include charges this does not model (demand charges, minimum bills, baseline allowances by climate zone, true-up rules).
-
Heat-pump electricity is spread over each month’s hours a little heavier at night; real use follows the weather hour by hour and a heat pump’s COP falls in the cold. For sizing one, see heat loss and HVAC sizing.
-
Solar uses clock time as solar time (an hour off in daylight saving) and clear-day shapes; the monthly shape is the solar ROI tool’s typical northern-hemisphere one.
-
The battery uses a simple rule, not an optimiser. Missing hours count as zero.
Sources: NAESB REQ.21 Energy Services Provider Interface (Green Button) for the XML model (reading types, units, flow direction); US EIA, average heat content of natural gas (≈1,037 Btu per cubic foot) for ccf; the therm is 100,000 Btu by definition.
Related: Solar ROI, heat loss and HVAC sizing, smart-home toolkit, sun and moon.
Linking to an example
Your usage data and tariffs never go in a link; the what-ifs and currency do. Add the tab after #: import,
usage, tariffs or whatif.
| Parameter | Meaning | Example |
|---|---|---|
|
Currency |
|
|
EV on, distance a day, miles per kWh (kWh/100 km in km mode), plug-in hour, charger kW |
|
|
Heat pump on, gas for heating a year, unit ( |
|
|
Solar on, kWp, specific yield, latitude |
|
|
Battery on, kWh, kW, mode ( |
|
|
One of the presets below |
|
example= |
Shows |
|---|---|
|
An EV doing 40 miles a day charged from midnight (open) |
|
The same EV plugged in at 6 pm — compare the time-of-use costs (open) |
|
600 therms of gas heating replaced by a heat pump with a seasonal COP of 3 (open) |
|
6 kWp of solar and a 13.5 kWh battery (open) |
|
The example tariffs compared (open) |
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser — network requests go only to the services named on this page.