schema.nfh.globalSearch schemas…

EnergyResource

Canonical term page (persistent IRI). Versioned resource URLs are listed below for easy copy/paste.

Canonical IRI

https://schema.beckn.io/EnergyResource

Developer URLs

EnergyResource

Canonical, technology-neutral class for any asset that produces, consumes, stores, or modulates energy — solar PV, wind, batteries / BESS, EVs and EVSE/V2G, controllable loads, the metering and connection points that anchor them, and aggregate sites that contain other resources.

Per the DEG Hourglass architecture, EnergyResource is one of the five core primitives at the neck of the hourglass — every higher-layer schema (P2P-trading, demand-flex, EV-charging, …) converges on this class to describe the assets a contract is about.

**Canonical IRI:** https://schema.beckn.io/EnergyResource/v2.0

**Namespace prefix:** deg:https://schema.beckn.io/deg/EnergyResource/v2.0/

**Tags:** energy-trade · p2p-trading · demand-flex · item · energy-resource

---

Versions

VersionStatusNotes
v2.0CurrentCanonical class — resourceId, resourceType, plus optional dimensioning (make, model, ratedPowerKw, energyCapacityKwh), provenance (telemetryProvider), extensibility (resourceAttributes), and topology (subResources + parentResources). Original {sourceType, meterId} shape was replaced in this revision — see v2.0/README.md. Absorbs the short-lived DER/v1.0/ schema.
v0.3DeprecatedOriginal definition as a component in EnergyTrade/v0.3/attributes.yaml. Still referenced by P2P-trading wave1 fixtures via the deg-1.0.1 tag.

---

Properties (v2.0)

No field is required at the schema level — domain profiles (demand-flex's network rego, p2p-trading's item gates) enforce their own cross-field expectations.

Identity + rated dimensioning

PropertyTypeDescription
resourceIdstringStable identifier; recommended URI scheme der://<type>/<id>.
resourceTypestring (open)Open-string asset class — SOLAR, SOLAR_PV, WIND, BIOGAS, EV_CHARGER, EV_V2G, BATTERY, BESS, SMART_HVAC, SMART_WATER_HEATER, CONTROLLABLE_LOAD, GRID, GRID_METER, …
make / modelstringManufacturer info.
ratedPowerKwnumber ≥0Rated peak dispatchable power.
energyCapacityKwhnumber ≥0Rated stored-energy capacity (storage-class only).
telemetryProviderstringVendor API / data-source identifier supplying telemetry.
resourceAttributesobject (open)Type-specific extensible bag.

Topology

PropertyTypeDescription
subResourcesarrayChild resources. Each item is either a bare resourceId (FK to a sibling EnergyResource) or an inline-nested EnergyResource.
parentResourcesarray of stringsParent resources — resourceIds this resource sits behind (typically a meter or aggregation point). String-form only; parents are enumerated elsewhere.

---

Linked Data

TermIRI
EnergyResourcedeg:EnergyResource
resourceIddeg:resourceId
resourceTypedeg:resourceType
makedeg:make
modeldeg:model
ratedPowerKwdeg:ratedPowerKw
energyCapacityKwhdeg:energyCapacityKwh
telemetryProviderdeg:telemetryProvider
resourceAttributesdeg:resourceAttributes
subResourcesdeg:subResources
parentResourcesdeg:parentResources

---

Usage

  • **P2P-trading**: attached to Item.itemAttributes (or Resource.resourceAttributes for inter-DISCOM flows). Carries {resourceId, resourceType} to identify the asset being sold. Resource-type verification occurs at onboarding but may change post-onboarding (e.g., switching from solar to diesel). Resource type influences pricing but not workflow.
  • **Demand-flex**: attached as objects in offerAttributes.inputs[seller].inputs.energyResources[] on the seller's commitment. Uses the identity + dimensioning fields plus parentResources[] to point each DER back at its grid meter (enumerated in participatingMeters[*]). The settlement rego ignores resources entirely (settlement is on grid-meter actuals); these objects exist for proof-of-performance and reconciliation. See the demand-flex devkit.
  • **Future domains** (EV-charging, distribution-grid management) reuse the same class.

For full property tables, embedding patterns, and worked examples, see v2.0/README.md.