| Internet-Draft | GREEN-PEM-YANG | December 2025 |
| Benoit, et al. | Expires 19 June 2026 | [Page] |
This document defines the YANG data model for Power and Energy monitoring of devices within or connected to communication networks.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 19 June 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
This document defines a YANG data model for Power and Energy Monitoring and control of devices within or connected to communication networks, for the use cases document in [I-D.ietf-green-use-cases-00].¶
The data model includes both the monitoring and control of Energy Objects for networked devices.¶
This YANG data model is based on the the "GREEN framework" [I-D.belmq-green-framework-06], following the "GREEN terminology" [I-D.ietf-green-terminology-00].¶
Power and Energy Monitoring and Control can be applied to devices in communication networks. All identifiable devices with measurable or representable Power and Energy characteristics fall within the scope of this specification. Target devices include (but are not limited to) routers, switches, Power over Ethernet (PoE) endpoints, smart PDU, storage and compute servers, etc.¶
Where applicable, device monitoring extends to the components of the device as well as software and service running on the device. As a result, the metrics to be monitored include Device Level Energy Efficiency (DLEE), Component Level Energy Efficiency (CLEE) and potential Service Level Energy Efficiency (SLEE) at the orchestrator-level, etc. For example, a router can contain components such as Line Processing Unit (LPU), Switch Fabric Unit (SFU), Main Processing Unit (MPU).¶
This document makes use of the terms defined in [I-D.ietf-green-terminology-00]:¶
- Power - Energy - Energy Management - Energy Monitoring - Energy Efficiency/Energy Efficiency Ratio - Device Level Energy Efficiency (DLEE) - Component Level Energy Efficiency (CLEE) - Service Level Energy Efficiency (SLEE)¶
This document makes use of the terms defined in [I-D.belmq-green-framework-06]¶
- Energy Object¶
The terms reused from [I-D.ietf-green-terminology-00] and [I-D.belmq-green-framework-06] are capitalized in this specification.¶
This document uses the terms Power and Energy in accordance with [I-D.ietf-green-terminology-00]. Power refers to the instantaneous rate at which a device consumes or produces electrical energy (typically expressed in Watts). Energy, by contrast, represents the cumulative amount of work performed over time (typically expressed in Joules or Watt-hours). Both concepts are required within this YANG module. Power enables real-time monitoring, control, and optimization of device operation, while Energy provides a time-integrated view necessary for accounting, reporting, and even for sustainability analysis. This specification includes both Power and Energy attributes.¶
The terminology for describing YANG modules is defined in [RFC7950]. The meanings of the symbols in the YANG tree diagrams are defined in [RFC8340].¶
The "GREEN framework" described in [I-D.belmq-green-framework-06] covers monitoring and controlling devices and components where monitoring includes measuring Power, Energy, demand and attributes of Power.¶
For the whole picture of the monitoring interfaces and the relevant requirements, please refer to "GREEN reference model" in section 4 in [I-D.belmq-green-framework-06].¶
The Power and Energy Data Model reports the Power and Energy consumption of each Energy Object as well as the units, sign, measurement accuracy, etc. A containment tree view of the Power and Energy Monitoring is presented.¶
module: ietf-power-and-energy
+--rw energy-objects
+--rw power-entry* [object-id]
+--rw object-id string
+--ro source-component-id? -> /hw:hardware/component/name
+--ro eo-power? int32
+--ro eo-power-nameplate? uint32
+--ro eo-power-unit-multiplier? identityref
+--ro eo-power-data-source-accuracy? identityref
+--ro eo-power-power-factor? power-factor
+--ro eo-power-measurement-local? boolean
¶
The ietf-hardware YANG module [RFC8348] is required by the Power and Energy YANG module. In the ietf-hardware YANG model, there are three identifiers for hardware components, which are "name", "physical-index" and "uuid". Among them, "name" is the key to "List of components", "physical-index" matches entPhysicalIndex in the legacy Entity MIB [RFC6933] if it exists, and UUID is the Universally Unified IDentifier [RFC4122] of the component.¶
In the Power and Energy YANG Module defined in this specification, there is a leaf named "source-component-id" which refers to the component name in the ietf-hardware model. The "source-component-id" can in turn reuse the UUID in the ietf-hardware YANG module.¶
There are also cases where the controllers also generate its own set of UUIDs for the hardware (components). In such a case, it might be necessary to document the mappings between the UUIDs generated on the hardware side and the UUIDs on the controller side. Basically, the devices (such as routers) generate the UUID and the controller can query it .¶
The EMAN IETF Working Group (https://datatracker.ietf.org/wg/eman/about/) is a concluded Working Group that produces a couple of RFCs in the domain of Power and Energy. The Working Group produced MIB modules for monitoring and control for power and energy, for the context information, for battery monitoring, and an extension to the ENITY-MIB to add the UUID definition [RFC6933].¶
For various reasons, those MIB modules were not implemented by vendors.¶
The Power and Energy data model defined in this specification use the Monitoring and Control MIB for Power and Energy [RFC7460] as a starting point to discuss the solution to the different use cases in [I-D.ietf-green-use-cases-00].¶
However, it has not been the goal to simply map the MIB module to a YANG module. The changes compared to the EMAN MIB modules are mainly due to the alignment with the up-to-date requirements of the network carriers on Energy Efficiency. Compared to the MIB modules, some definitions and types are optimized, some new Energy Objects are added and some legacy Energy Objects are removed accordingly.¶
This YANG Module is used to monitor and control Power and Energy usage of network devices and the components on these devices.¶
<CODE BEGINS>
module ietf-power-and-energy {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-power-and-energy";
prefix eo;
import ietf-hardware {
prefix hw;
reference
"RFC 8348: A YANG Data Model for Hardware Management";
}
import ietf-inet-types {
prefix inet;
reference
"RFC 6991: Common YANG Data Types";
}
organization
"IETF GREEN Working Group";
contact
"WG Web: <https://datatracker.ietf.org/wg/green/>
WG List: <mailto:green@ietf.org>";
description
"This YANG module specifies for Power and Energy monitoring and
control of devices within or connected to communication networks.
Copyright (c) 2025 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
for full legal notices.";
revision 2025-12-10 {
description
"Initial revision";
reference
"RFC XXXX: Energy Object YANG Data Model";
}
identity data-source-accuracy {
description
"Base identity for all possible data accuracy types.
This identity serves as the root for a hierarchy of accuracy
types, allowing for extensibility while maintaining alignment
with current and future industry standards.
The hierarchy, as defined in this YANG module, is as follows.
Other modules may extend this hierarchy with additional
accuracy base- and sub-types as needed.
data-source-accuracy
├── accuracy-unknown
│ └── accuracy-unavailable
├── accuracy-estimated
│ ├── accuracy-static
│ ├── accuracy-historic
│ └── accuracy-learned
└── accuracy-measured
├── accuracy-measured-bronze
├── accuracy-measured-silver
├── accuracy-measured-gold
├── accuracy-measured-red
└── accuracy-measured-ones
";
}
identity accuracy-unknown {
base data-source-accuracy;
description
"The accuracy of the power data is unknown.";
}
identity accuracy-unavailable {
base accuracy-unknown;
description
"A power data is not available for some reason, such
as a sensor failure or a component being powered off.";
}
identity accuracy-estimated {
base data-source-accuracy;
description
"The power data is estimated, perhaps based on a model,
history or calculation rather than a direct measurement.";
}
identity accuracy-static {
base accuracy-estimated;
description
"The power data is based on static data, such as
manufacturer specifications, datasheet of typical power values
or nameplate ratings, rather than real-time measurements.";
}
identity accuracy-historic {
base accuracy-estimated;
description
"The power data is based on an historic measurement data
for this specific system and usage pattern.";
}
identity accuracy-learned {
base accuracy-estimated;
description
"The power data is based on an machine learning
model prediction.";
}
identity accuracy-measured {
base data-source-accuracy;
description
"The power data is a direct, real-time measurement
from a sensor.";
}
identity accuracy-measured-bronze {
base accuracy-measured;
description
"The power data is a direct, real-time measurement
from a sensor with +/- 30% accuracy for typical values.";
}
identity accuracy-measured-silver {
base accuracy-measured;
description
"The power data is a direct, real-time measurement
from a sensor with +/- 10% accuracy for typical values.";
}
identity accuracy-measured-gold {
base accuracy-measured;
description
"The power data is a direct, real-time measurement
from a sensor with +/- 5% accuracy for typical values.";
}
identity accuracy-measured-red {
base accuracy-measured;
description
"The power data is a direct, real-time measurement
from a sensor with +/- 2% accuracy for typical values.";
}
identity accuracy-measured-ones {
base accuracy-measured;
description
"The power data is a direct, real-time measurement
from a sensor with all non-zero digits valid.";
}
typedef power-factor {
type uint8 {
range "0 .. 100";
}
default 100;
description
"The percent value of the power factor measurement.
Leaf often omitted, implying 100%.";
reference
"Replaces RFC 7460: eoPowerCurrentType object";
}
identity power-state {
description
"Base identity for all possible power states. This identity
serves as the root for a hierarchy of power states, allowing
for extensibility while maintaining alignment with the IANA
Power State Set Registry.";
reference
"IANA: Power State Set Registry";
}
identity unit-multiplier {
description
"Base identity for unit multipliers as defined in IEC 61850-7-3
Annex A. These represent exponents of 10 for scaling units
associated with the integer units used to measure the power or
energy.";
reference
"RFC 7460: UnitMultiplier";
}
identity multiplier-milli {
description
"Represents a multiplier of 10^-3 (0.001) associated with the
integer units used to measure the power or energy.";
reference
"RFC 7460: UnitMultiplier";
}
identity multiplier-none {
description
"Represents a multiplier of 10^0 (1) associated with
the integer units used to measure the power or energy.";
reference
"RFC 7460: UnitMultiplier";
}
identity multiplier-kilo {
description
"Represents a multiplier of 10^3 (1,000) associated with the
integer units used to measure the power or energy.";
reference
"RFC 7460: UnitMultiplier";
}
identity multiplier-mega {
description
"Represents a multiplier of 10^6 (1,000,000) associated with
the integer units used to measure the power or energy.";
reference
"RFC 7460: UnitMultiplier";
}
identity multiplier-giga {
description
"Represents a multiplier of 10^9 (1,000,000,000) associated
with the integer units used to measure the power or energy.";
reference
"RFC 7460: UnitMultiplier";
}
container energy-objects {
description
"Energy objects container for power attributes.";
reference
"RFC 7460: eoPowerTable";
list power-entry {
key "object-id";
description
"Power entry for an energy object, indexed by object id.
Each entry contains the complete set of power attributes
for a specific physical component.";
reference
"RFC 7460: EoPowerEntry";
leaf object-id {
type string;
description
"An identifier that uniquely identifies the energy object
in a device.";
}
leaf source-component-id {
type leafref {
path "/hw:hardware/hw:component/hw:name";
}
config false;
description
"Reference to the component name in the ietf-hardware
model. This leaf creates a direct semantic link between the
power attributes and the physical component they describe.
";
}
leaf eo-power {
type int32;
units "Watts";
config false;
description
"The current power usage measurement for the energy object.
This value represents the instantaneous power consumption
of the component. Positive values indicate power
consumption, while negative values can indicate power
generation (e.g., for devices with battery backup or
renewable energy sources).";
reference
"RFC 7460: eoPower object";
}
leaf eo-power-nameplate {
type uint32;
units "Watts";
config false;
description
"The nameplate power rating of an energy object. This is
the maximum power that the device is designed to consume or
produce, as specified by the manufacturer. Essential for
power budget calculations and capacity planning.";
reference
"RFC 7460: eoPowerNameplate object";
}
leaf eo-power-unit-multiplier {
type identityref {
base unit-multiplier;
}
config false;
description
"The unit multiplier used to measure the power or energy.
This multiplier applies to both eo-power and
eo-power-nameplate values, allowing representation of power
values from milliwatts to gigawatts using integer
arithmetic.";
reference
"RFC 7460: eoPowerUnitMultiplier object";
}
leaf eo-power-data-source-accuracy {
type identityref {
base data-source-accuracy;
}
config false;
description
"The accuracy of the power data source. Indicates whether
the data source is a direct measurement, an estimate, or
unavailable and also the accuracy level of the data source.
This metadata is crucial for network management
applications to assess the reliability and accuracy of the
power data.";
reference
"RFC 7460: eoPowerMeasurementCaliber object";
}
leaf eo-power-power-factor {
type power-factor;
config false;
description
"The percent value of the power factor measurement for the
energy object. This information is important for
understanding the electrical characteristics of the device
and for correctly interpreting the power data.";
reference
"Replaces RFC 7460: eoPowerCurrentType object";
}
leaf eo-power-measurement-local {
type boolean;
config false;
description
"Indicates whether the power measurement is local (true) or
remote (false). A local measurement is taken directly at
the device, while a remote measurement is collected from
an external source. This information can be useful for
troubleshooting and understanding the data source.";
reference
"RFC 7460: eoPowerMeasurementLocal object";
}
}
}
}
<CODE ENDS>¶
TO BE COMPLETED¶
This section will be completed once the YANG module is complete, according to https://wiki.ietf.org/group/ops/yang-security-guidelines.¶
This section is modeled after the template described in Section 3.7.1 of [RFC-to-be draft-ietf-netmod-rfc8407bis].¶
The Power and Energy YANG module defines a data model that is designed to be accessed via YANG-based management protocols, such as NETCONF [RFC6241] and RESTCONF [RFC8040]. These YANG-based management protocols (1) have to use a secure transport layer (e.g., SSH [RFC4252], TLS [RFC8446], and QUIC [RFC9000]) and (2) have to use mutual authentication.¶
The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.¶
This document requests IANA to register the YANG module "ietf-power-energy-monitoring".¶
Note to IANA: RFC XXXX must be replaced by the newly assigned RFC number.¶
This work has benefited from the regular discussions on the GREEN Design Meetings. The authors wish to thank the following individuals, who provided helpful comments and reviews to this document.¶