<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bcmj-green-power-and-energy-yang-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="GREEN-PEM-YANG">Power and Energy YANG Module</title>
    <seriesInfo name="Internet-Draft" value="draft-bcmj-green-power-and-energy-yang-01"/>
    <author initials="C." surname="Benoit" fullname="Benoit Claise">
      <organization>Everything OPS</organization>
      <address>
        <email>benoit@everything-ops.net</email>
      </address>
    </author>
    <author initials="C." surname="Gen" fullname="Gen Chen">
      <organization>Huawei</organization>
      <address>
        <email>chengen@huawei.com</email>
      </address>
    </author>
    <author initials="M." surname="Palmero" fullname="Marisol Palmero">
      <organization>Individual</organization>
      <address>
        <email>marisol.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Lindblad" fullname="Jan Lindblad">
      <organization>All For Eco</organization>
      <address>
        <email>jan.lindblad@for.eco</email>
      </address>
    </author>
    <date year="2026" month="February" day="03"/>
    <area>OPS</area>
    <workgroup>GREEN</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>GREEN</keyword>
    <keyword>YANG</keyword>
    <keyword>Power</keyword>
    <keyword>Energy</keyword>
    <abstract>
      <?line 49?>

<t>This document defines the YANG data model for Power and Energy
monitoring of devices within or connected to communication networks.</t>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>



    </abstract>
  </front>
  <middle>
    <?line 74?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>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
<xref target="I-D.ietf-green-use-cases-00"/>.</t>
      <t>The data model includes both the monitoring and control of Energy
Objects for networked devices.</t>
      <t>This YANG data model is based on the the "GREEN framework"
<xref target="I-D.belmq-green-framework-06"/>, following the "GREEN terminology"
<xref target="I-D.ietf-green-terminology-00"/>.</t>
      <t>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.</t>
      <t>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).</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document makes use of the terms defined in
<xref target="I-D.ietf-green-terminology-00"/>:</t>
        <artwork><![CDATA[
- Power
- Energy
- Energy Management
- Energy Monitoring
- Energy Control
- Energy Efficiency/Energy Efficiency Ratio
- Device Level Energy Efficiency (DLEE)
- Component Level Energy Efficiency (CLEE)
- Service Level Energy Efficiency (SLEE)
]]></artwork>
        <t>This document makes use of the terms defined in
<xref target="I-D.belmq-green-framework-06"/></t>
        <artwork><![CDATA[
- Energy Object
]]></artwork>
        <t>The terms reused from <xref target="I-D.ietf-green-terminology-00"/> and
<xref target="I-D.belmq-green-framework-06"/> are capitalized in this
specification.</t>
        <t>This document uses the terms Power and Energy in accordance with
<xref target="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.</t>
        <t>The terminology for describing YANG modules is defined in [RFC7950].
The meanings of the symbols in the YANG tree diagrams are defined in
[RFC8340].</t>
      </section>
    </section>
    <section anchor="the-green-framework">
      <name>The GREEN Framework</name>
      <t>The "GREEN framework" described in <xref target="I-D.belmq-green-framework-06"/>
covers monitoring and controlling devices and components where
monitoring includes measuring Power, Energy, demand and attributes of
Power.</t>
      <t>For the whole picture of the monitoring interfaces and the relevant
requirements, please refer to "GREEN reference model" in section 4 in
<xref target="I-D.belmq-green-framework-06"/>.</t>
    </section>
    <section anchor="power-and-energy-data-model">
      <name>Power and Energy Data Model</name>
      <t>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.</t>
      <sourcecode type="yangtree"><![CDATA[
module: ietf-power-and-energy
  +--ro energy-objects
     +--ro energy-entry* [object-id]
        +--ro object-id              string
        +--ro source-component-id?   -> /hw:hardware/component/name
        +--ro power
        |  +--ro instantaneous-power     int32
        |  +--ro nameplate-power?        uint32
        |  +--ro unit-multiplier         identityref
        |  +--ro data-source-accuracy?   identityref
        |  +--ro power-factor?           power-factor
        |  +--ro measurement-local?      boolean
        +--ro energy
           +--ro total-energy-consumed?   uint64
           +--ro total-energy-delivered?  uint64
           +--ro unit-multiplier?         identityref
           +--ro data-source-accuracy?    identityref
           +--ro measurement-local?       boolean
]]></sourcecode>
    </section>
    <section anchor="relationship-to-the-hardware-yang-data-model">
      <name>Relationship to the Hardware YANG Data Model</name>
      <t>The ietf-hardware YANG module <xref target="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 <xref target="RFC6933"/> if it exists, and UUID is the Universally
Unified IDentifier <xref target="RFC4122"/> of the component.</t>
      <t>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.</t>
      <t>The mapping between energy-object entries in this YANG Module and the
hardware-components in ietf-hardware YANG module <xref target="RFC8348"/> is
designed to be 1:1, architecturally aligning each energy-entry with
exactly one physical hardware component via source-component-id.</t>
      <t>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.</t>
      <t>The ietf-hardware YANG module <xref target="RFC8348"/> allows to discover all the
device components, including the containment tree, and the parent/child
relationship, which is important for energy/power aggregation (see the
contains-child relationship in RFC 8348).</t>
    </section>
    <section anchor="relationship-to-the-eman-work">
      <name>Relationship to the EMAN Work</name>
      <t>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 <xref target="RFC6933"/>.</t>
      <t>For various reasons, those MIB modules were not implemented by
vendors.</t>
      <t>The Power and Energy data model defined in this specification use the
Monitoring and Control MIB for Power and Energy <xref target="RFC7460"/> as a
starting point to discuss the solution to the different use cases in
<xref target="I-D.ietf-green-use-cases-00"/>.</t>
      <t>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.</t>
    </section>
    <section anchor="power-and-energy-yang-module">
      <name>Power and Energy YANG Module</name>
      <t>This YANG Module is used to monitor and control Power and Energy usage
of network devices and the components on these devices.</t>
      <sourcecode type="yang" markers="true"><![CDATA[
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";
  }

  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 2026-01-22 {
    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-like-parent
        ├── accuracy-unknown
        │    └── accuracy-unavailable
        ├── accuracy-estimated
        │    ├── accuracy-static
        │    ├── accuracy-historic
        │    └── accuracy-learned
        └── accuracy-measured
             ├── accuracy-measured-bronze
             │    ├── accuracy-measured-bronze-1
             │    ├── accuracy-measured-bronze-10
             │    ├── accuracy-measured-bronze-100
             │    └── accuracy-measured-bronze-1000
             ├── accuracy-measured-silver
             │    └── accuracy-measured-silver-...
             ├── accuracy-measured-gold
             │    └── accuracy-measured-gold-...
             ├── accuracy-measured-red
             │    └── accuracy-measured-red-...
             └── accuracy-measured-ones

       The accuracy levels under accuracy-measured are based on
       percent-wise accuracy classes:
          bronze:  +/- 30%
          silver:  +/- 10%
          gold:    +/- 5%
          red:     +/- 2%

       In addition, the accuracy-measured-ones identity indicates
       a power data measurement with all digits valid, except trailing
       zeros.

       Since percent-wise accuracy works poorly for very small
       values, standards such as IEC 62053, IEC 61850-7-4 and
       IEEE 1451 define accuracy classes based on a combination of
       percent-wise accuracy and absolute accuracy thresholds.
       E.g. +/-1 % of reading  +  +/-0.05 absolute units.

       Similarly, for each percent-wise accuracy class, this module
       defines a few absolute tolerance classes, indicated by
       suffixes to the accuracy identity names. The suffixes indicate
       absolute accuracy thresholds:
          no suffix:   +/-0.5  absolute units
          -1:          +/-1    absolute unit
          -10:         +/-10   absolute units
          -100:        +/-100  absolute units
          -1000:       +/-1000 absolute units
       Thus, for example, accuracy-measured-gold-10 indicates
       a power data measurement with an accuracy of either
       +/-5% or +/-10 absolute units, whichever is larger.

       For example, a power sensor reading might report a value
       of 16250, with unit multiplier of milli (10^-3), under
       accuracy-measured-gold-10. This indicates that the actual
       power value is between 16.2375 and 16.2625 Watts, since
       5% of 16.250 Watts is 0.8125 Watts, which is greater than
       the absolute threshold of 10 milliwatts (0.010 W).

       At another time, the same sensor might report a value
       of 150, with unit multiplier of milli (10^-3), under
       accuracy-measured-gold-10. This indicates that the actual
       power value is between 0.140 and 0.160 Watts, since 5% of 
       0.150 Watts is only 0.0075 Watts, which is less than the
       absolute threshold of 10 milliwatts (0.010 W).";
  }
  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-like-parent {
    base data-source-accuracy;
    description
      "The accuracy of the power/energy data is the same as this energy
       object's parent object. This identity is useful for hierarchical
       energy objects where child objects inherit the accuracy
       characteristics.";
  }
  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 precision and accuracy such that
        |actual-sensor| ≤ sensor * 30% OR |actual-sensor| ≤ 0.5";
  }
  identity accuracy-measured-bronze-1 {
    base accuracy-measured-bronze;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 30% OR |actual-sensor| ≤ 1";
  }  
  identity accuracy-measured-bronze-10 {
    base accuracy-measured-bronze;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 30% OR |actual-sensor| ≤ 10";
  }  
  identity accuracy-measured-bronze-100 {
    base accuracy-measured-bronze;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 30% OR |actual-sensor| ≤ 100";
  }  
  identity accuracy-measured-bronze-1000 {
    base accuracy-measured-bronze;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 30% OR |actual-sensor| ≤ 1000";
  }  
  identity accuracy-measured-silver {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
        |actual-sensor| ≤ sensor * 10% OR |actual-sensor| ≤ 0.5";
  }  
  identity accuracy-measured-silver-1 {
    base accuracy-measured-silver;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 10% OR |actual-sensor| ≤ 1";
  }  
  identity accuracy-measured-silver-10 {
    base accuracy-measured-silver;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 10% OR |actual-sensor| ≤ 10";
  }  
  identity accuracy-measured-silver-100 {
    base accuracy-measured-silver;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 10% OR |actual-sensor| ≤ 100  ";
  }  
  identity accuracy-measured-silver-1000 {
    base accuracy-measured-silver;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 10% OR |actual-sensor| ≤ 1000";
  }  
  identity accuracy-measured-gold {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 5% OR |actual-sensor| ≤ 0.5";
  }
  identity accuracy-measured-gold-1 {
    base accuracy-measured-gold;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 5% OR |actual-sensor| ≤ 1";
  }  
  identity accuracy-measured-gold-10 {
    base accuracy-measured-gold;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 5% OR |actual-sensor| ≤ 10";
  }  
  identity accuracy-measured-gold-100 {
    base accuracy-measured-gold;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 5% OR |actual-sensor| ≤ 100";
  }  
  identity accuracy-measured-gold-1000 {
    base accuracy-measured-gold;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 5% OR |actual-sensor| ≤ 1000";
  }  
  identity accuracy-measured-red {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 2% OR |actual-sensor| ≤ 0.5";
  }
  identity accuracy-measured-red-1 {
    base accuracy-measured-red;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 2% OR |actual-sensor| ≤ 1";
  }  
  identity accuracy-measured-red-10 {
    base accuracy-measured-red;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 2% OR |actual-sensor| ≤ 10";
  }  
  identity accuracy-measured-red-100 {
    base accuracy-measured-red;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 2% OR |actual-sensor| ≤ 100";
  }  
  identity accuracy-measured-red-1000 {
    base accuracy-measured-red;
    description
      "The power data is a direct, real-time measurement
       from a sensor with precision and accuracy such that
       |actual-sensor| ≤ sensor * 2% OR |actual-sensor| ≤ 1000";
  }  
  identity accuracy-measured-ones {
    base accuracy-measured;
    description
      "The power data is a direct, real-time measurement
       from a sensor with all digits valid, except trailing zeros.
       For example, a sensor reading of 12300 represents
       a sensor value between 12250 and 12350.";
  }
  
  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.
           yocto(-24),   -- 10^-24
           zepto(-21),   -- 10^-21
           atto(-18),    -- 10^-18
           femto(-15),   -- 10^-15
           pico(-12),    -- 10^-12
           nano(-9),     -- 10^-9
           micro(-6),    -- 10^-6
           milli(-3),    -- 10^-3
           units(0),     -- 10^0
           kilo(3),      -- 10^3
           mega(6),      -- 10^6
           giga(9),      -- 10^9
           tera(12),     -- 10^12
           peta(15),     -- 10^15
           exa(18),      -- 10^18
           zetta(21),    -- 10^21
           yotta(24)     -- 10^24
        ";
    reference
      "RFC 7460: UnitMultiplier";
  }
  identity multiplier-yocto {
    description 
      "Represents a multiplier of 10^-24 associated with the
       integer units used to measure the power or energy.";
  }
  identity multiplier-zepto {
    description 
      "Represents a multiplier of 10^-21 associated with the 
       integer units used to measure the power or energy.";
  }
  identity multiplier-atto {
    description 
      "Represents a multiplier of 10^-18 associated with the 
       integer units used to measure the power or energy.";
  }
  identity multiplier-femto {
    description 
      "Represents a multiplier of 10^-15 associated with the 
       integer units used to measure the power or energy.";
  }
  identity multiplier-pico {
    description 
      "Represents a multiplier of 10^-12 associated with the 
       integer units used to measure the power or energy.";
  }
  identity multiplier-nano {
    description 
      "Represents a multiplier of 10^-9 associated with the 
       integer units used to measure the power or energy.";
  }
  identity multiplier-micro {
    description 
      "Represents a multiplier of 10^-6 (0.000001) associated with the
       integer units used to measure the power or energy.";
  }
  identity multiplier-milli {
    description 
      "Represents a multiplier of 10^-3 (0.001) associated with the 
       integer units used to measure the power or energy.";
  }
  identity multiplier-units {
    description 
      "Represents a multiplier of 10^0 (1) associated with 
       the integer units used to measure the power or energy.";
  }
  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.";
  }
  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.";
  }
  identity multiplier-tera {
    description
      "Represents a multiplier of 10^12 associated 
       with the integer units used to measure the power or energy.";
  }
  identity multiplier-peta {
    description
      "Represents a multiplier of 10^15 associated 
       with the integer units used to measure the power or energy.";
  }
  identity multiplier-exa {
    description
      "Represents a multiplier of 10^18 associated 
       with the integer units used to measure the power or energy.";
  }
  identity multiplier-zetta {
    description
      "Represents a multiplier of 10^21 associated 
       with the integer units used to measure the power or energy.";
  }
  identity multiplier-yotta {
    description
      "Represents a multiplier of 10^24 associated 
       with the integer units used to measure the power or energy.";
  }

  container energy-objects {
    description
      "Energy objects container for power and energy attributes.";
    reference
      "RFC 7460: eoPowerTable";
    config false;
    
    list energy-entry {
      key "object-id";
      description
        "Power and energy entry for an energy object, indexed by object id.
         Each entry contains the complete set of power and energy 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 an energy object.";
      }        
      
      leaf source-component-id {
        type leafref {
          path "/hw:hardware/hw:component/hw:name";
        }
        description
          "Reference to the component name in the ietf-hardware 
          model. This leaf creates a direct semantic link between the
          power/energy attributes and the physical component they describe.
          ";
      }

      container power {
        description
          "Container for power measurement attributes.";
        reference
          "RFC 7460: eoPowerEntry attributes";
        leaf instantaneous-power {
          type int32;
          units "Watts";
          mandatory true;
          description
            "The power usage measurement for the energy object right now.
            This value represents the instantaneous power consumption
            of the component. This value is specified in SI units of watts 
            with the magnitude of watts (milliwatts, kilowatts, etc.) indicated 
            separately as unit-multiplier in this container. 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 nameplate-power {
          type uint32;
          units "Watts";
          description
            "The nameplate power rating of an energy object. This is 
            the maximum power that the energy object 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 unit-multiplier {
          type identityref {
            base unit-multiplier;
          }
          mandatory true;
          description
            "The unit multiplier used to measure the power. 
            This multiplier applies to both instantaneous-power and nameplate-power
            values, allowing representation of power values from milliwatts
            to gigawatts using integer arithmetic.";
          reference
            "RFC 7460: eoPowerUnitMultiplier object";
        }
        
        leaf data-source-accuracy {
          type identityref {
            base data-source-accuracy;
          }
          default accuracy-like-parent;
          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. 
            By default, the accuracy is inherited from the parent energy
            object, facilitating hierarchical accuracy definitions
            without the need to specify accuracy at every level.
            This metadata is crucial for network management 
            applications to assess the reliability and accuracy of the 
            power data.";
          reference
            "RFC 7460: eoPowerMeasurementCaliber object";
        }
        
        leaf power-factor {
          type power-factor;
          description
            "The percent value of the power factor measurement for the 
            energy object. This information is important for 
            understanding the electrical characteristics of the energy object
            and for correctly interpreting the power data.";
          reference
            "Replaces RFC 7460: eoPowerCurrentType object";
        }
        leaf measurement-local {
          type boolean;
          description
            "Indicates whether the power measurement is local (true) or
             remote (false). A local measurement is taken directly at
             the energy object, 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";
        }
      }
      container energy {
        description
          "Container for energy measurement attributes.";
        reference
          "RFC 7460: eoEnergyEntry attributes";
        
        leaf total-energy-consumed {
          type uint64;
          units "Watt-hours";
          description
            "The total cumulative energy consumed by the energy object
            since the last reset. This value is specified as 
            watt-hours with the magnitude of watt-hours (milliwatt-hours, 
            kilowatt-hours, etc.) indicated separately as unit-multiplier 
            in this container. This value is useful for tracking
            overall energy usage over time for billing, reporting,
            or optimization purposes.";
          reference
            "RFC 7460: eoEnergyConsumed object";
        }
        
        leaf total-energy-delivered {
          type uint64;
          units "Watt-hours";
          description
            "The total cumulative energy delivered by the energy object
            since the last reset. This value is specified as
            watt-hours with the magnitude of watt-hours (milliwatt-hours, 
            kilowatt-hours, etc.) indicated separately as unit-multiplier 
            in this container. This value is relevant for energy objects
            capable of generating power, such as those with renewable
            energy sources or battery backup systems, or capable of providing
            energy to other energy objects (e.g., PoE switches).";
          reference
            "RFC 7460: eoEnergyProduced object";
        }
        leaf unit-multiplier {
          type identityref {
            base unit-multiplier;
          }
          description
            "This multiplier applies to both total-energy-consumed
             and total-energy-delivered values. It determines the scale
             of the energy measurements, allowing representation of
             energy values from milliwatt-hours to gigawatt-hours
             using integer arithmetic.";
          reference
            "RFC 7460: eoPowerUnitMultiplier object";
        }
        
        leaf data-source-accuracy {
          type identityref {
            base data-source-accuracy;
          }
          default accuracy-like-parent;
          description
            "The accuracy of the energy data source. Indicates whether 
            the data source is a direct measurement, an estimate, or 
            unavailable and also the accuracy level of the data source. 
            By default, the accuracy is inherited from the parent energy
            object, facilitating hierarchical accuracy definitions
            without the need to specify accuracy at every level.
            This metadata is crucial for network management 
            applications to assess the reliability and accuracy of the 
            energy data.";
          reference
            "RFC 7460: eoPowerMeasurementCaliber object";
        }
        leaf measurement-local {
          type boolean;
          description
            "Indicates whether the energy measurement is local (true) or
             remote (false). A local measurement is taken directly at
             the energy object, 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";
        }
      }
    }
  }
}

]]></sourcecode>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>Heterogeneous sensor capabilities across components complicate power
and energy aggregation. Operators must use the data-source-accuracy
identities (e.g., accuracy-measured-bronze vs. accuracy-estimated) to
weight data reliability carefully before aggregating Power
(instantaneous-power) and Energy (total-energy-consumed and/or
total-energy-delivered) values to avoid skewing Device-Level Energy
Efficiency (DLEE) metrics.</t>
      <t>Operators might not always be interested to get the individual component
accuracy. What counts is the device level or domain level, identity
accuracy-like-parent is introduced to meet their demands. From an
implementation point of view, to facilitate data collection and
aggregation on runtime and avoid post-aggregation data confidence
interval issues, operators and implementers should use as much as
possible this accuracy-like-parent identity.</t>
      <t>YANG Push support eliminates device-side bucket storage by streaming
energy telemetry directly to controller-side via subscriptions.
Operators must verify the 'yang-push' bundle is enabled and validate
push-max-operational limits accommodate all component subscriptions,
preventing notification flooding while avoiding memory overhead on the
device.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section will be completed once the YANG module is complete,
according to https://wiki.ietf.org/group/ops/yang-security-guidelines.</t>
      <t>This section is modeled after the template described in Section 3.7.1
of [RFC-to-be draft-ietf-netmod-rfc8407bis].</t>
      <t>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.</t>
      <t>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.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to register the YANG module
"ietf-power-energy-monitoring".</t>
      <t>Note to IANA: RFC XXXX must be replaced by the newly assigned RFC
number.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This work has benefited from the regular discussions on the GREEN
Design Meetings. The authors wish to thank the WG chairs, Rob Wilton
and Diego Lopez, for organizing the recurring calls and progressing
the work. The authors also wish to thank the following individuals,
who provided helpful comments and reviews to this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-green-terminology-00">
          <front>
            <title>Terminology for Energy Efficiency Network Management</title>
            <author fullname="Gen Chen" initials="G." surname="Chen">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Marisol Palmero" initials="M. P." surname="Palmero">
              <organization>Individual</organization>
            </author>
            <date day="18" month="November" year="2025"/>
            <abstract>
              <t>   Energy-efficient network management is primarily meant to enhance
   conventional network management with energy-related management
   capabilities that optimize overall network energy consumption.  To
   that aim, specific features and capabilities are required to control
   (and thus optimize) the energy use of involved network elements and
   their components.

   This document defines a set of key terms used within the IETF when
   discussing energy efficiency in network management.  Such reference
   document helps framing discussion and agreeing upon a set of main
   concepts in this area.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-green-terminology-00"/>
        </reference>
        <reference anchor="RFC8348">
          <front>
            <title>A YANG Data Model for Hardware Management</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Dong" initials="J." surname="Dong"/>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for the management of hardware on a single server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8348"/>
          <seriesInfo name="DOI" value="10.17487/RFC8348"/>
        </reference>
        <reference anchor="RFC7460">
          <front>
            <title>Monitoring and Control MIB for Power and Energy</title>
            <author fullname="M. Chandramouli" initials="M." surname="Chandramouli"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="B. Schoening" initials="B." surname="Schoening"/>
            <author fullname="J. Quittek" initials="J." surname="Quittek"/>
            <author fullname="T. Dietz" initials="T." surname="Dietz"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>This document defines a subset of the Management Information Base (MIB) for power and energy monitoring of devices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7460"/>
          <seriesInfo name="DOI" value="10.17487/RFC7460"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-green-use-cases-00">
          <front>
            <title>Use Cases for Energy Efficiency Management</title>
            <author fullname="Emile Stephan" initials="E." surname="Stephan">
              <organization>Orange</organization>
            </author>
            <author fullname="Marisol Palmero" initials="M. P." surname="Palmero">
              <organization>Individual</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Carlos J. Bernardos" initials="C. J." surname="Bernardos">
              <organization>Universidad Carlos III de Madrid</organization>
            </author>
            <date day="20" month="November" year="2025"/>
            <abstract>
              <t>   This document groups use cases for Energy efficiency Management of
   network devices.

   Discussion Venues

   Source of this draft and an issue tracker can be found at
   https://github.com/emile22/draft-ietf-green-use-cases

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-green-use-cases-00"/>
        </reference>
        <reference anchor="I-D.belmq-green-framework-06">
          <front>
            <title>Framework for Energy Efficiency Management</title>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Jan Lindblad" initials="J." surname="Lindblad">
              <organization>All For Eco</organization>
            </author>
            <author fullname="Marisol Palmero" initials="M. P." surname="Palmero">
              <organization>Independent</organization>
            </author>
            <author fullname="Emile Stephan" initials="E." surname="Stephan">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   Recognizing the urgent need for energy efficiency, this document
   specifies a management framework focused on devices and device
   components within, or connected to, interconnected systems.  The
   framework aims to enable energy usage optimization, based on the
   network condition while achieving the network's functional and
   performance requirements (e.g., improving overall network
   utilization) and also ensure interoperability across diverse systems.
   Leveraging data from existing use cases, it delivers actionable
   metrics to support effective energy management and informed decision-
   making.  Furthermore, the framework proposes mechanisms for
   representing and organizing timestamped telemetry data using YANG
   models and metadata, enabling transparent and reliable monitoring.
   This structured approach facilitates improved energy efficiency
   through consistent energy management practices.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-belmq-green-framework-06"/>
        </reference>
        <reference anchor="RFC6933">
          <front>
            <title>Entity MIB (Version 4)</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
            <author fullname="J. Quittek" initials="J." surname="Quittek"/>
            <author fullname="M. Chandramouli" initials="M." surname="Chandramouli"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing multiple logical and physical entities managed by a single Simple Network Management Protocol (SNMP) agent. This document specifies version 4 of the Entity MIB. This memo obsoletes version 3 of the Entity MIB module published as RFC 4133.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6933"/>
          <seriesInfo name="DOI" value="10.17487/RFC6933"/>
        </reference>
        <reference anchor="RFC4122">
          <front>
            <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="July" year="2005"/>
            <abstract>
              <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4122"/>
          <seriesInfo name="DOI" value="10.17487/RFC4122"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
K7nU5zE4U94N/g+XSsTdo5IAAA==

-->

</rfc>
