POWER-ATTRIBUTES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    mib-2,
    Integer32, Unsigned32
       FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
   UnitMultiplier
      FROM ENERGY-OBJECT-MIB
    entPhysicalIndex
       FROM ENTITY-MIB;

powerAttributesMIB MODULE-IDENTITY
    LAST-UPDATED    "201502090000Z"    -- 9 February 2015
    ORGANIZATION    "IETF EMAN Working Group"
    CONTACT-INFO
            "WG charter:
             http://datatracker.ietf.org/wg/eman/charter/

             Mailing Lists:
             General Discussion: eman@ietf.org

             To Subscribe:
             https://www.ietf.org/mailman/listinfo/eman

             Archive:
             http://www.ietf.org/mail-archive/web/eman

          Editors:

             Mouli Chandramouli
             Cisco Systems, Inc.
             Sarjapur Outer Ring Road
             Bangalore 560103
             India
             Phone: +91 80 4429 2409
             Email: moulchan@cisco.com

             Brad Schoening
             44 Rivers Edge Drive
             Little Silver, NJ 07739
             United States
             Email: brad.schoening@verizon.net

             Juergen Quittek
             NEC Europe Ltd.
             NEC Laboratories Europe
             Network Research Division
             Kurfuersten-Anlage 36
             Heidelberg  69115
             Germany
             Phone: +49 6221 4342-115
             Email: quittek@neclab.eu

             Thomas Dietz
             NEC Europe Ltd.
             NEC Laboratories Europe
             Network Research Division
             Kurfuersten-Anlage 36
             69115 Heidelberg
             Germany
             Phone: +49 6221 4342-128
             Email: Thomas.Dietz@nw.neclab.eu

             Benoit Claise
             Cisco Systems, Inc.
             De Kleetlaan 6a b1
             Degem 1831
             Belgium
             Phone:  +32 2 704 5622
             Email: bclaise@cisco.com"
    DESCRIPTION
       "Copyright (c) 2015 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
        (http://trustee.ietf.org/license-info).

        This MIB is used to report AC power attributes in devices.
        The table is a sparse augmentation of the eoPowerTable table
        from the energyObjectMib module.  Both three-phase and
        single-phase power configurations are supported.

        As a requirement for this MIB module, RFC 7461 SHOULD be
        implemented.

        Module Compliance of ENTITY-MIB v4 with respect to
        entity4CRCompliance MUST be supported which requires
        implementation of four MIB objects: entPhysicalIndex,
        entPhysicalClass, entPhysicalName, and entPhysicalUUID."
    REVISION "201502090000Z"     -- 9 February 2015
    DESCRIPTION
       "Initial version, published as RFC 7460"
   ::= { mib-2 230 }

powerAttributesMIBConform  OBJECT IDENTIFIER
    ::= { powerAttributesMIB 0 }

powerAttributesMIBObjects OBJECT IDENTIFIER
    ::= { powerAttributesMIB 1 }

-- Objects

eoACPwrAttributesTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF EoACPwrAttributesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "This table contains power attributes measurements for
       supported entPhysicalIndex entities.  It is a sparse
       extension of the eoPowerTable."
    ::= { powerAttributesMIBObjects 1 }

eoACPwrAttributesEntry OBJECT-TYPE
    SYNTAX          EoACPwrAttributesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "This is a sparse extension of the eoPowerTable with
       entries for power attributes measurements or
       configuration.  Each measured value corresponds to an
       attribute in IEC 61850-7-4 for non-phase measurements
       within the object MMXN."
    INDEX { entPhysicalIndex }
    ::= { eoACPwrAttributesTable 1 }

EoACPwrAttributesEntry ::= SEQUENCE {
    eoACPwrAttributesConfiguration      INTEGER,
    eoACPwrAttributesAvgVoltage          Integer32,
    eoACPwrAttributesAvgCurrent          Unsigned32,
    eoACPwrAttributesFrequency           Integer32,
    eoACPwrAttributesPowerUnitMultiplier UnitMultiplier,
    eoACPwrAttributesPowerAccuracy      Integer32,
    eoACPwrAttributesTotalActivePower    Integer32,
    eoACPwrAttributesTotalReactivePower  Integer32,
    eoACPwrAttributesTotalApparentPower  Integer32,
    eoACPwrAttributesTotalPowerFactor    Integer32,
    eoACPwrAttributesThdCurrent          Integer32,
    eoACPwrAttributesThdVoltage         Integer32
                          }

eoACPwrAttributesConfiguration OBJECT-TYPE
    SYNTAX INTEGER {
            sngl(1),
            del(2),
            wye(3)
          }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Configuration describes the physical configurations of
       the power supply lines:

          * alternating current, single phase (SNGL)
          * alternating current, three-phase delta (DEL)
          * alternating current, three-phase Y (WYE)

       Three-phase configurations can be either connected in a
       triangular delta (DEL) or star Y (WYE) system.  WYE
       systems have a shared neutral voltage, while DEL systems
       do not.  Each phase is offset 120 degrees to each other."
    ::= { eoACPwrAttributesEntry 1 }

eoACPwrAttributesAvgVoltage OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "0.1 Volt AC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value for average of the voltage measured
       over an integral number of AC cycles.  For a three-phase
       system, this is the average voltage (V1+V2+V3)/3.  IEC
       61850-7-4 measured value attribute 'Vol'."
    ::= { eoACPwrAttributesEntry 2 }

eoACPwrAttributesAvgCurrent OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "amperes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value for average of the current measured
       over an integral number of AC cycles.  For a three-phase
       system, this is the average current (I1+I2+I3)/3.  IEC
       61850-7-4 attribute 'Amp'."
    ::= { eoACPwrAttributesEntry 3 }

eoACPwrAttributesFrequency OBJECT-TYPE
    SYNTAX          Integer32 (4500..6500)
    UNITS           "0.01 hertz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value for the basic frequency of the AC
       circuit.  IEC 61850-7-4 attribute 'Hz'."
    ::= { eoACPwrAttributesEntry 4 }

eoACPwrAttributesPowerUnitMultiplier OBJECT-TYPE
    SYNTAX          UnitMultiplier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "The magnitude of watts for the usage value in
       eoACPwrAttributesTotalActivePower,
       eoACPwrAttributesTotalReactivePower,
       and eoACPwrAttributesTotalApparentPower measurements.
       For three-phase power systems, this will also include
       eoACPwrAttributesWyeActivePower,
       eoACPwrAttributesWyeReactivePower, and
       eoACPwrAttributesWyeApparentPower."
    ::= { eoACPwrAttributesEntry 5 }

eoACPwrAttributesPowerAccuracy OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    UNITS           "hundredths of percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "This object indicates a percentage value, in hundredths of a
       percent, representing the presumed accuracy of active,
       reactive, and apparent power usage reporting.  For
       example, 1010 means the reported usage is accurate to +/-
       10.1 percent.  This value is zero if the accuracy is
       unknown.

       ANSI and IEC define the following accuracy classes for
       power measurement: IEC 62053-22 & 60044-1 class 0.1, 0.2,
       0.5, 1, & 3.
       ANSI C12.20 class 0.2 & 0.5"
    ::= { eoACPwrAttributesEntry 6 }

eoACPwrAttributesTotalActivePower OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "watts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of the actual power delivered to or
       consumed by the load.  IEC 61850-7-4 attribute 'TotW'."
    ::= { eoACPwrAttributesEntry 7 }

eoACPwrAttributesTotalReactivePower OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "volt-amperes reactive"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of the reactive portion of the apparent
       power.  IEC 61850-7-4 attribute 'TotVAr'."
    ::= { eoACPwrAttributesEntry 8 }

eoACPwrAttributesTotalApparentPower OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "volt-amperes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of the voltage and current that
       determines the apparent power.  The apparent power is the
       vector sum of real and reactive power.

       Note: watts and volt-amperes are equivalent units and may
       be combined.  IEC 61850-7-4 attribute 'TotVA'."
    ::= { eoACPwrAttributesEntry 9 }

eoACPwrAttributesTotalPowerFactor OBJECT-TYPE
    SYNTAX          Integer32 (-10000..10000)
    UNITS           "hundredths"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value ratio of the real power flowing to the
       load versus the apparent power.  It is dimensionless and
       expressed here as a percentage value in hundredths.  A power
       factor of 100% indicates there is no inductance load and
       thus no reactive power.  A Power Factor can be positive or
       negative, where the sign should be in lead/lag (IEEE)
       form.  IEC 61850-7-4 attribute 'TotPF'."
    ::= { eoACPwrAttributesEntry 10 }

eoACPwrAttributesThdCurrent OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    UNITS           "hundredths of percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A calculated value for the current total harmonic
       distortion (THD).  Method of calculation is not
       specified.  IEC 61850-7-4 attribute 'ThdAmp'."
    ::= { eoACPwrAttributesEntry 11 }

eoACPwrAttributesThdVoltage OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    UNITS           "hundredths of percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A calculated value for the voltage total harmonic
       distortion (THD).  The method of calculation is not
       specified.  IEC 61850-7-4 attribute 'ThdVol'."
    ::= { eoACPwrAttributesEntry 12 }

eoACPwrAttributesDelPhaseTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF EoACPwrAttributesDelPhaseEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "This optional table describes three-phase power attributes
       measurements in a DEL configuration with phase-to-phase

       power attributes measurements.  Entities having single
       phase power shall not have any entities.  This is a
       sparse extension of the eoACPwrAttributesTable.

       These attributes correspond to measurements related to
       the IEC 61850-7.4 MMXU phase and measured harmonic or
       interharmonics related to the MHAI phase."
    ::= { powerAttributesMIBObjects 2 }

eoACPwrAttributesDelPhaseEntry OBJECT-TYPE
    SYNTAX          EoACPwrAttributesDelPhaseEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "An entry describes power measurements of a phase in a
       DEL three-phase power.  Three entries are required for each
       supported entPhysicalIndex entry.  Voltage measurements
       are provided relative to each other.

       For phase-to-phase measurements, the
       eoACPwrAttributesDelPhaseIndex is compared against the
       following phase at +120 degrees.  Thus, the possible
       values are:

       eoACPwrAttributesDelPhaseIndex    Next Phase Angle
                             0                 120
                            120                240
                            240                  0
       "
    INDEX { entPhysicalIndex, eoACPwrAttributesDelPhaseIndex }
    ::= { eoACPwrAttributesDelPhaseTable 1}

EoACPwrAttributesDelPhaseEntry ::= SEQUENCE {
    eoACPwrAttributesDelPhaseIndex                   Integer32,
    eoACPwrAttributesDelPhaseToNextPhaseVoltage      Integer32,
    eoACPwrAttributesDelThdPhaseToNextPhaseVoltage   Integer32
                                   }

eoACPwrAttributesDelPhaseIndex OBJECT-TYPE
    SYNTAX          Integer32 (0..359)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "A phase angle typically corresponding to 0, 120, 240."
     ::= { eoACPwrAttributesDelPhaseEntry 1 }

eoACPwrAttributesDelPhaseToNextPhaseVoltage OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "0.1 Volt AC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of phase to next phase voltages, where
       the next phase is IEC 61850-7-4 attribute 'PPV'."
    ::= { eoACPwrAttributesDelPhaseEntry 2 }

eoACPwrAttributesDelThdPhaseToNextPhaseVoltage OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    UNITS           "hundredths of percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A calculated value for the voltage total harmonic
       distortion for phase to next phase.  Method of calculation
       is not specified.  IEC 61850-7-4 attribute 'ThdPPV'."
    ::= { eoACPwrAttributesDelPhaseEntry 3 }

eoACPwrAttributesWyePhaseTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF EoACPwrAttributesWyePhaseEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "This optional table describes three-phase power attributes
       measurements in a WYE configuration with phase-to-neutral
       power attributes measurements.  Entities having single
       phase power shall not have any entities.  This is a sparse
       extension of the eoACPwrAttributesTable.

       These attributes correspond to measurements related to
       the IEC 61850-7.4 MMXU phase and measured harmonic or
       interharmonics related to the MHAI phase."
    ::= { powerAttributesMIBObjects 3 }

eoACPwrAttributesWyePhaseEntry OBJECT-TYPE
    SYNTAX          EoACPwrAttributesWyePhaseEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "This table describes measurements of a phase in a WYE
       three-phase power system.  Three entries are required for
       each supported entPhysicalIndex entry.  Voltage
       measurements are relative to neutral.

       Each entry describes power attributes of one phase of a
       WYE three-phase power system."
    INDEX { entPhysicalIndex, eoACPwrAttributesWyePhaseIndex }
    ::= { eoACPwrAttributesWyePhaseTable 1}

EoACPwrAttributesWyePhaseEntry ::= SEQUENCE {
     eoACPwrAttributesWyePhaseIndex            Integer32,
     eoACPwrAttributesWyePhaseToNeutralVoltage  Integer32,
     eoACPwrAttributesWyeCurrent              Integer32,
     eoACPwrAttributesWyeActivePower            Integer32,
     eoACPwrAttributesWyeReactivePower          Integer32,
     eoACPwrAttributesWyeApparentPower          Integer32,
     eoACPwrAttributesWyePowerFactor            Integer32,
     eoACPwrAttributesWyeThdCurrent            Integer32,
     eoACPwrAttributesWyeThdPhaseToNeutralVoltage Integer32
                                   }

eoACPwrAttributesWyePhaseIndex OBJECT-TYPE
    SYNTAX          Integer32 (0..359)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
       "A phase angle typically corresponding to 0, 120, 240."
     ::= { eoACPwrAttributesWyePhaseEntry 1 }

eoACPwrAttributesWyePhaseToNeutralVoltage OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "0.1 Volt AC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of phase to neutral voltage.  IEC
       61850-7-4 attribute 'PNV'."
    ::= { eoACPwrAttributesWyePhaseEntry 2 }

eoACPwrAttributesWyeCurrent OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "0.1 amperes AC"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of phase currents.  IEC 61850-7-4
       attribute 'A'."
    ::= { eoACPwrAttributesWyePhaseEntry 3 }

eoACPwrAttributesWyeActivePower OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "watts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of the actual power delivered to or
       consumed by the load with the magnitude indicated
       separately in eoPowerUnitMultiplier.  IEC 61850-7-4
       attribute 'W'."
    ::= { eoACPwrAttributesWyePhaseEntry 4 }

eoACPwrAttributesWyeReactivePower OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "volt-amperes reactive"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of the reactive portion of the apparent
       power with the magnitude of indicated separately in
       eoPowerUnitMultiplier.  IEC 61850-7-4 attribute 'VAr'."
    ::= { eoACPwrAttributesWyePhaseEntry 5 }

eoACPwrAttributesWyeApparentPower OBJECT-TYPE
    SYNTAX          Integer32
    UNITS           "volt-amperes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value of the voltage and current determines
       the apparent power with the indicated separately in
       eoPowerUnitMultiplier.  Active plus reactive power equals
       the total apparent power.

       Note: Watts and volt-amperes are equivalent units and may
       be combined.  IEC 61850-7-4 attribute 'VA'."
    ::= { eoACPwrAttributesWyePhaseEntry 6 }

eoACPwrAttributesWyePowerFactor OBJECT-TYPE
    SYNTAX          Integer32 (-10000..10000)
    UNITS           "hundredths"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A measured value ratio of the real power flowing to the
       load versus the apparent power for this phase.  IEC
       61850-7-4 attribute 'PF'.  Power Factor can be positive or
       negative where the sign should be in lead/lag (IEEE)
       form."
    ::= { eoACPwrAttributesWyePhaseEntry 7 }

eoACPwrAttributesWyeThdCurrent OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    UNITS           "hundredths of percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A calculated value for the voltage total harmonic
       distortion (THD) for phase to phase.  Method of
       calculation is not specified.
       IEC 61850-7-4 attribute 'ThdA'."
    ::= { eoACPwrAttributesWyePhaseEntry 8 }

eoACPwrAttributesWyeThdPhaseToNeutralVoltage OBJECT-TYPE
    SYNTAX          Integer32 (0..10000)
    UNITS           "hundredths of percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "A calculated value of the voltage total harmonic
       distortion (THD) for phase to neutral.  IEC 61850-7-4
       attribute 'ThdPhV'."
    ::= { eoACPwrAttributesWyePhaseEntry 9 }

-- Conformance
powerAttributesMIBCompliances  OBJECT IDENTIFIER
    ::= { powerAttributesMIB 2 }

powerAttributesMIBGroups  OBJECT IDENTIFIER
    ::= { powerAttributesMIB 3 }

powerAttributesMIBFullCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
       "When this MIB is implemented with support for read-
       create, then such an implementation can claim full
       compliance.  Such devices can then be both monitored and
       configured with this MIB.

       Module Compliance of RFC 6933 with respect to
       entity4CRCompliance MUST be supported which requires
       implementation of four MIB objects: entPhysicalIndex,
       entPhysicalClass, entPhysicalName, and entPhysicalUUID."
    REFERENCE
       "RFC 6933: Entity MIB (Version 4)"

    MODULE          -- this module
    MANDATORY-GROUPS {
                     powerACPwrAttributesMIBTableGroup
                              }

    GROUP        powerACPwrAttributesOptionalMIBTableGroup
    DESCRIPTION
       "A compliant implementation does not have
       to implement."

    GROUP       powerACPwrAttributesDelPhaseMIBTableGroup
    DESCRIPTION
        "A compliant implementation does not have to implement."

    GROUP       powerACPwrAttributesWyePhaseMIBTableGroup
    DESCRIPTION
        "A compliant implementation does not have to implement."
    ::= { powerAttributesMIBCompliances 1 }

-- Units of Conformance

powerACPwrAttributesMIBTableGroup OBJECT-GROUP
    OBJECTS         {
               -- Note that object entPhysicalIndex is NOT
                 -- included since it is not-accessible
                        eoACPwrAttributesAvgVoltage,
                        eoACPwrAttributesAvgCurrent,
                        eoACPwrAttributesFrequency,
                        eoACPwrAttributesPowerUnitMultiplier,
                        eoACPwrAttributesPowerAccuracy,
                        eoACPwrAttributesTotalActivePower,
                        eoACPwrAttributesTotalReactivePower,
                        eoACPwrAttributesTotalApparentPower,
                        eoACPwrAttributesTotalPowerFactor
                                            }
    STATUS          current
    DESCRIPTION
       "This group contains the collection of all the power
       attributes objects related to the Energy Object."
    ::= { powerAttributesMIBGroups  1 }

 powerACPwrAttributesOptionalMIBTableGroup OBJECT-GROUP
    OBJECTS         {
                        eoACPwrAttributesConfiguration,
                        eoACPwrAttributesThdCurrent,
                        eoACPwrAttributesThdVoltage
                    }
    STATUS          current
    DESCRIPTION
       "This group contains the collection of all the power
       attributes objects related to the Energy Object."
    ::= { powerAttributesMIBGroups  2 }

powerACPwrAttributesDelPhaseMIBTableGroup OBJECT-GROUP

    OBJECTS         {
                    -- Note that object entPhysicalIndex and
                    -- eoACPwrAttributesDelPhaseIndex are NOT
                    -- included since they are not-accessible
              eoACPwrAttributesDelPhaseToNextPhaseVoltage,
              eoACPwrAttributesDelThdPhaseToNextPhaseVoltage
                    }
    STATUS          current
    DESCRIPTION
       "This group contains the collection of all power
       attributes of a phase in a DEL three-phase power system."
    ::= { powerAttributesMIBGroups 3 }

powerACPwrAttributesWyePhaseMIBTableGroup OBJECT-GROUP
    OBJECTS         {
                       -- Note that object entPhysicalIndex and
                       -- eoACPwrAttributesWyePhaseIndex are NOT
                       -- included since they are not-accessible
               eoACPwrAttributesWyePhaseToNeutralVoltage,
               eoACPwrAttributesWyeCurrent,
               eoACPwrAttributesWyeActivePower,
               eoACPwrAttributesWyeReactivePower,
               eoACPwrAttributesWyeApparentPower,
               eoACPwrAttributesWyePowerFactor,
               eoACPwrAttributesWyeThdPhaseToNeutralVoltage,
               eoACPwrAttributesWyeThdCurrent
                    }
    STATUS          current
    DESCRIPTION
       "This group contains the collection of all power
       attributes of a phase in a WYE three-phase power system."
    ::= { powerAttributesMIBGroups 4 }

END
