Energy
Loads, baselines, leak inference
The energy vertical is the youngest of the five and the one with the least regulation behind it. Customers come here for money: workshops, laundries, bakeries, small manufacturers who got an electricity bill that does not match their intuition.
What we measure
Three sensor kinds:
- Current (A) per phase, via a CT clamp (Shelly EM, IoTaWatt, generic SCT-013).
- Voltage (V) per phase, usually one per phase per panel.
- Active power (W) — derived from the above if not measured directly, read directly from a Shelly EM, an IoTaWatt or a Modbus meter.
We do not measure reactive power or harmonics; those are different sensor classes and a different product.
Hardware
For a single panel up to three phases:
- Shelly Pro 3EM (DIN-rail, three-phase, ~€140). Reports cumulative energy, instantaneous P, V, I per phase, every 1 s. Recommended.
- Shelly EM (single phase, ~€50). For a workshop on a single phase or a single appliance circuit.
- IoTaWatt (~€220, includes 14 clamps). Better when you want to meter every circuit individually, not just the main feed.
For a tenant submeter without ripping into the panel:
- Plug-in Shelly Plug S Gen3 (~€20) — drops in front of the appliance. Reports cumulative kWh and instantaneous W. Limited to 16 A / 3.6 kW circuits.
Baselines
OpenSense computes a baseline per channel automatically: the median load over the trailing 7 / 30 / 90 days, bucketed by hour-of-day and day-of-week. The chart overlays the baseline as a translucent band; the live trace either tracks the band (normal) or diverges (something changed).
This is the diagnostic everyone actually wants from an energy meter: "is today different from a normal Tuesday?"
Three rule templates use the baseline:
- Standing load alarm. If the overnight consumption (02:00–05:00 local) exceeds 1.5× the baseline for 3 consecutive nights, fire. The usual cause: a fridge thermostat failed, a freezer is defrosting too often, an outdoor heater was left on.
- Step-change. If the rolling 1-hour mean shifts > 30 % vs the baseline band for > 2 h, fire. The usual cause: a piece of equipment was replaced or rewired and someone forgot to tell anyone.
- Phase imbalance. If
max(I_phase) − min(I_phase) > 30 % × mean(I_phase)on a three-phase feed, fire. The usual cause: an electrician put a new heater on phase 2 only.
Leak inference
For laundries and food service, water and gas leaks show up in the electricity meter before they show up anywhere else. A failed solenoid valve on a dishwasher heats water continuously; the booster heater's element draws ~2 kW even when nothing is being washed.
OpenSense's leak inference is just the standing load alarm above,
applied to a circuit you have flagged as mostly_off_overnight. It is
not a guarantee — and we do not market it as a leak detector — but in
the small sample of pilot customers it has caught two failed dishwasher
valves and one chronically-on outdoor fountain.
What we deliberately do not do
- Itemised disaggregation ("the fridge used 1.2 kWh today, the oven 3.4"). That requires per-circuit metering or NILM (non-intrusive load monitoring), which is a different sensor class and a different product. Sense and Smappee occupy that niche.
- Demand-response control. We monitor; we do not switch loads.
- Carbon accounting. We can multiply your kWh by the grid intensity of the time block (eu-central is publishable), but we do not currently expose that as a built-in report. Custom integration via the read API.
The monthly report
POST /v1/reports with template = energy_monthly returns:
- Cumulative kWh for the period, vs the same period last year.
- A 24×7 heatmap of consumption by hour-of-day / day-of-week.
- The three biggest anomalies (step-change events) with timestamps and the contemporaneous load curve.
- Phase imbalance summary (three-phase sites only).
Most customers run this once a month, find one anomaly worth chasing, and recover the meter cost within a quarter.