# description
Canonical base schemas shared by all typed EnergyResource kinds. v1.1: power fields use QuantitativeValue {value, unit} with short unit aliases (kW, MW, kWh, kVA, kVAR, kV) mapped to QUDT IRIs via JSON-LD context. Contains typed QV variants (QVPower, QVEnergy, QVApparentPower, QVReactivePower, QVVoltage), EnergyResourceCommonAttributes, and EnergyResourceCommon. Optional admin fields on the attributes bag: serialNumber (CIM EndDeviceInfo.serialNumber), inspection (IEEE 1547-2018 / CEA commissioning record), aggregator (IEEE 2030.5 / IEC 61850-7-420 demand-flex enrolment).

# $defs.QVPower.description
Active power quantity. unit must be one of: W (watt), kW (kilowatt), MW (megawatt).

# $defs.QVEnergy.description
Stored-energy quantity. unit must be one of: kWh (kilowatt-hour), MWh (megawatt-hour).

# $defs.QVApparentPower.description
Apparent power quantity. unit must be one of: kVA (kilovolt-ampere), MVA (megavolt-ampere).

# $defs.QVReactivePower.description
Reactive power quantity. unit must be one of: kVAR (kilovolt-ampere reactive), MVAR (megavolt-ampere reactive). Value may be negative for absorption.

# $defs.QVVoltage.description
Voltage quantity. unit must be one of: V (volt), kV (kilovolt).

# $defs.EnergyResourceCommonAttributes.description
Dimensioning and provenance fields shared by all resource kinds. Inherited inside each kind's attributes bag via allOf. No field is required at this level.

# $defs.EnergyResourceCommonAttributes.properties.maxExport.description
Maximum power injected to the grid (generates/discharges). Always ≥0. CIM: GeneratingUnit.maxOperatingP / PowerElectronicsConnection.maxP (injection).

# $defs.EnergyResourceCommonAttributes.properties.maxImport.description
Maximum power drawn from the grid (absorbs/charges). Always ≥0. CIM: PowerElectronicsConnection.maxP (absorption).

# $defs.EnergyResourceCommonAttributes.properties.telemetryProvider.description
Vendor API / data source identifier for telemetry.

# $defs.EnergyResourceCommonAttributes.properties.commissioningDate.description
ISO 8601 date-time the asset was commissioned.

# $defs.EnergyResourceCommonAttributes.properties.serialNumber.description
Manufacturer-assigned device serial number from the equipment nameplate. Distinct from id (the network-issued DID). CIM: cim:EndDeviceInfo.serialNumber (IEC 61968-9).

# $defs.EnergyResourceCommonAttributes.properties.inspection.description
Commissioning / safety inspection record. IEEE 1547-2018 commissioning evaluations (Cl. 11); CEA (Technical Standards for Connectivity of Distributed Generation Resources) Regulations, 2013 (amended 2018).

# $defs.EnergyResourceCommonAttributes.properties.inspection.properties.date.description
ISO 8601 date the inspection was performed.

# $defs.EnergyResourceCommonAttributes.properties.inspection.properties.result.description
Inspection outcome. 'conditional' = pass subject to remedial action.

# $defs.EnergyResourceCommonAttributes.properties.inspection.properties.inspectorId.description
Identifier of the inspector or inspecting body, per licensee records.

# $defs.EnergyResourceCommonAttributes.properties.aggregator.description
Third-party flexibility / demand-response enrolment for this asset. controllable=false means observation-only. IEEE 2030.5; IEC 61850-7-420 DER control roles.

# $defs.EnergyResourceCommonAttributes.properties.aggregator.properties.id.description
Aggregator identity — typically a did:web.

# $defs.EnergyResourceCommonAttributes.properties.aggregator.properties.controllable.description
True if the aggregator is authorised to dispatch/curtail the asset.

# $defs.EnergyResourceCommonAttributes.properties.aggregator.properties.enrolledOn.description
ISO 8601 date the asset was enrolled with the aggregator.

# $defs.EnergyResourceCommon.description
Structural envelope inherited by every typed EnergyResource kind via allOf. Defines id, type, topology (subResources, parentResources), and the attributes bag.

# $defs.EnergyResourceCommon.properties.id.description
Stable identifier for this resource. For METER resources the meter serial number is conventional.

# $defs.EnergyResourceCommon.properties.type.description
Asset class discriminator. Constrained to a kind-specific enum or const in each typed kind schema.

# $defs.EnergyResourceCommon.properties.subResources.description
Topology — child resources. Each item is a bare id string or an inline EnergyResource object.

# $defs.EnergyResourceCommon.properties.parentResources.description
Upward topology — ids of parent resources.

# $defs.EnergyResourceCommon.properties.attributes.description
Attribute bag. Inherits EnergyResourceCommonAttributes via allOf plus kind-specific fields.