What is this?
PRR Flex Dashboard is an open-data community project that collects 1-minute interval telemetry from household price-responsive resources (PRRs) orchestrated by HAEO running inside Home Assistant, and publishes it as an open dataset under CC-BY-4.0, aggregated by NEM region.
The goal is to build the demand-side equivalent of OpenElectricity: a community-maintained, publicly accessible picture of how much price-responsive flexible load exists in each NEM region, and how it responds to price signals at the household optimiser layer.
This data is framed as a community-data complement to AEMO's IPRR Reporting Track. See docs/IPRR-SUBMISSION.md for the full framing.
The household telemetry schema
Every interval, each participating household pushes one record. Full specification:
SCHEMA.md.
Machine-readable: schema/telemetry.schema.json.
From v0.6.0 the dashboard aggregates strictly by region; postcode_prefix
remains in the per-household record for privacy-preserving locality but is no longer surfaced in dashboard rollups.
| Field | Type | Units | Description |
|---|---|---|---|
schema_version | string | literal "2.0" | Schema version guard, rejects v1.x records |
interval_start_utc | string | ISO8601 UTC | Interval start timestamp |
region | string | NEM code | NSW1, QLD1, VIC1, SA1, TAS1 |
postcode_prefix | string | 3 digits | First 3 digits of postcode only (privacy boundary). Retained in records; not used for dashboard aggregation from v0.6.0. |
net_import_kw | number | kW, signed | Net grid import (+) or export (-) |
price_signal_seen | number | $/kWh | Buy price or tariff signal seen by HAEO optimiser |
price_export_seen | number | $/kWh | Export (FiT) price seen by HAEO optimiser |
buy_sell_spread | number | $/kWh | Derived spread: price_signal_seen minus price_export_seen |
optimiser_setpoint_kw | number | kW, signed | Setpoint commanded by HAEO |
flex_available_up_kw | number | kW, ≥0 | Additional load the household could absorb now |
flex_available_down_kw | number | kW, ≥0 | Load reduction or export increase available now |
storage_soc_pct | number | %, 0-100 | Battery state of charge |
envelope_import_limit_kw | number | kW, ≥0 | Max allowed import (DNSP or firmware constraint) |
envelope_export_limit_kw | number | kW, ≥0 | Max allowed export |
shadow_price_import | number | null | $/kWh (native) | LP dual on import envelope constraint, published natively in $/kWh |
shadow_price_export | number | null | $/kWh (native) | LP dual on export envelope constraint, published natively in $/kWh |
shadow_price_soc_min | number | null | $/kWh (native) | LP dual on minimum SOC constraint, published natively in $/kWh |
shadow_price_soc_max | number | null | $/kWh (native) | LP dual on maximum SOC constraint, published natively in $/kWh |
naive_baseline_kw | number | kW, signed | Estimated consumption without optimisation (the receipts field) |
assets[] | array | Per-asset records (battery, EV chargers). See SCHEMA.md. | |
deferrable_loads[] | array | Shiftable appliance loads reported by HAEO |
IPRR and VSR framing
AEMO's Integrating Price-Responsive Resources (IPRR) program, and its associated Price Responsive Reporting Guidelines, require aggregators to report available capacity, price responsiveness, and envelope constraints. From the AEMO 15 May 2026 IPRR stakeholder briefing, the Visible Scheduled Resource (VSR) data points are mapped on the dashboard's VSR conformance tab as LIVE / EXTENDABLE / WIP / GAP.
This project is not a registered aggregator. It is the open-data complement: a community dataset that demonstrates what distributed household optimisers can measure and report, using only open tools and a standard schema, with no central intermediary.
Project Edith (Ausgrid, Dec 2025)
identified envelope constraints as a critical missing data layer for locational DER planning.
The envelope_import_limit_kw and envelope_export_limit_kw fields
in this schema are a direct response to that finding.
How to join
Requirements: Home Assistant with HAEO installed and configured for your household.
-
1
Create a fine-grained GitHub PAT
In your GitHub account, create a fine-grained PAT scoped to
purcell-lab/nem-flex-telemetrywithContents: Read and write. -
2
Add HACS custom repository
In HACS, add
https://github.com/purcell-lab/nem-flex-telemetryas a custom Integration repository. -
3
Install and configure
Install "NEM Flex Telemetry" from HACS, restart HA, then go to Settings → Devices & Services → Add Integration. Enter your PAT, household ID, postcode prefix (recorded but not used for dashboard rollups), region, and HAEO entity mappings.
-
4
Opt in and verify
Agree to the CC-BY-4.0 data licence, opt in to cohort participation, and verify data is flowing at
github.com/purcell-lab/nem-flex-telemetry/tree/main/data/raw/<your-id>.