Appearance
Energy Monitoring
What the building is drawing, and what it has used.
Two ways in
A meter or smart plug exposed through Home Assistant (map its energy / power entities under Integrate → Home Assistant), or any device whose own decoder yields energy_kwh / power_w (Sensor Onboarding). No native BLE energy decoder ships yet. The energy rate on the settings page is not yet used by a cost figure anywhere.
Who it is for
Whoever pays the electricity bill, and whoever is asked to reduce it.
Getting a reading in
Omaya writes an energy reading — one row per meter per minute — for any device whose decoder yields energy_kwh or power_w. Two routes deliver that today:
- Home Assistant. Connect the organisation's Home Assistant under Integrate → Home Assistant and map the plug's or meter's
energyandpowerentities to an Omaya device. Each poll writes a reading; units are normalised (Wh → kWh, kW → W) from the entity's own unit, and a state ofunavailableis dropped rather than stored as zero. - A decoder of your own. If your meter advertises its readings over BLE, define its frame in Sensor Onboarding, map the cumulative register to
energy_kwhand the draw topower_w.
From either, the Energy app's dashboard, device list and report list every device that has written a reading (or whose model declares the capability), and the rule metrics and OAIA reading below work. The settings page under Your Apps → Energy shows reading health, counts the Home Assistant connections and meters, and links to the connection; the energy rate and currency it takes are stored for a cost figure that is not built yet.
What it records
| Reading | Means |
|---|---|
energy_kwh | Cumulative consumption — a meter reading, always rising |
power_w | Instantaneous draw — what it is pulling right now |
voltage_v, current_a | The supply itself |
| Temperature | Where the meter reports it |
The distinction between the first two is the one that matters. Power is a level; energy is a total. Summing power readings gives you nothing meaningful; the difference between two energy readings is real consumption.
The energy report does exactly that: over the period you pick, it takes the first and last meter readings and reports the difference, alongside average and peak power and average and peak temperature. Consumption is a subtraction, not a sum, and the report is built that way.
The screens
Dashboard, Devices, Device detail and the Energy report — consumption per meter over a period, with zone and venue, and a CSV export. All four are built and all four are empty today, for the reason above.
Making it mean something
A kWh figure on its own is a number. Paired with the rest of the platform it becomes an argument:
- Against occupancy — energy while the floor was empty. A building drawing its daytime load at 3 a.m. is the commonest finding and the cheapest to fix.
- Against space utilisation — energy per m² of space that was actually used.
- In a disclosure — Compliance carries GRI 302, GHG Protocol Scope 2, ISO 50001, Bursa NSRF and EU CSRD E1, and reads this app's readings as hourly consumption, so an onboarded meter feeds a disclosure without a second setup.
Alerting on it
Two energy metrics are available to rules, and the difference between them is the same level-versus-total distinction as above:
| Metric | Is | Use it for |
|---|---|---|
| Power draw now | Watts, summed over the meters in scope | "This floor is pulling more than it should right now" |
| Energy used today | kWh since local midnight | "We have already used more today than we normally do by lunchtime" |
Power draw now only counts a recent reading. A meter that has stopped reporting has no value rather than zero — so a "draw below 100 W" rule does not fire on a dead meter, which would otherwise be the most common false alarm of the lot.
Energy used today is a delta, not the meter reading. The meter's own figure only ever rises, so a rule on it would fire once and then for ever. The daily figure resets, which is what makes a threshold mean something.
Both work at device, zone or venue scope, and more than one meter in scope sums.
Pair either with raise a work order and an over-draw becomes a job for somebody rather than an email nobody opens.
What OAIA does with it
The assistant reads the same readings. Its own finding is left on: an hour after the venue closes, a meter still drawing at least 70 % of what it averages during opening hours — and at least 200 W — is a light, an air-conditioner or a machine nobody switched off. A server rack that runs all night is never a finding, because it draws the same by day. Ask it about energy and it will pair kilowatt-hours with the hours a room was actually occupied, which is the comparison nobody else makes.
When it disappoints
No devices. Nothing has written a reading yet: the Home Assistant connection has no energy or power entity mapped, or the onboarded decoder is not yielding energy_kwh / power_w. A device appears the moment its first reading lands.
Consumption looks wrong. Check whether you are reading power where you meant energy. It is the same mistake as reading a tag count as a headcount, in a different unit.
A power rule never fires. The meters have not reported in the last quarter of an hour, so there is no current value to compare — which is deliberate. Check the meter before the rule.