--
--   Universal Electric Corp.
--   STARLINE measurement and control devices MIB
--


UEC-STARLINE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, NOTIFICATION-TYPE,
    OBJECT-TYPE, enterprises, Integer32,
    IpAddress                               FROM SNMPv2-SMI
    DisplayString, MacAddress, DateAndTime  FROM SNMPv2-TC
    OBJECT-GROUP, NOTIFICATION-GROUP,
    MODULE-COMPLIANCE                       FROM SNMPv2-CONF;

uecStarline  MODULE-IDENTITY
    LAST-UPDATED  "201710111524Z"  -- 2017 OCT 11, 15:24 UTC, rev26
    ORGANIZATION "Universal Electric Corp."
    CONTACT-INFO
      "Universal Electric Corp.
       168 Georgetown Road
       Canonsburg, PA 15317
       Phone: +01 724.597.7800
       email: info@uecorp.com"

    DESCRIPTION
      "MIB module for managing measurement and control devices
       produced by the Universal Electric Corporation."

      REVISION     "201710111524Z"  -- 2017 OCT 11, 15:24 UTC, rev26
        DESCRIPTION
          "Added support for the following new AC Meter features:
           Outlet 5 and 6; Temperature Monitor; Line-to-Neutral
           min, max, min alarm, max alarm; Frequency min, max;
           Reset Group Command (min, max, peak, demand)."

      REVISION     "201705311147Z"  -- 2017 MAY 31, 11:47 UTC, rev25
        DESCRIPTION
          "Changed cpmAc4to20maValue and cpmDc4to20maValue from
           read-write to read-only."

      REVISION     "201603211851Z"  -- 2016 MAR 21, 18:51 UTC, rev24
        DESCRIPTION
          "Added support DC meters. Objects renamed to provide unique
           names for DC meters and limited to 24 characters maximum.
           Conformance groups were removed, because SNMP agents in
           these products will always implement all data objects."

      REVISION     "201503250333Z"  -- 2015 MAR 25, 03:33 UTC, rev23
        DESCRIPTION
          "A fifth item, neutralM(5), was added to infeedLineIndex,
           and the fourth item, neutral(4), was changed to neutralC(4)."

      REVISION     "201406031616Z"  -- 2014 JUN 03, 16:16 UTC, rev22
        DESCRIPTION
          "infeedLineCurrentRating changed from read-only to read-write."

      REVISION     "201401201617Z"  -- 2014 JAN 20, 16:17 UTC, rev21
        DESCRIPTION
          "PowerFactorAverage changed to TotalPowerFactor."

      REVISION     "201310141400Z"  -- 2013 OCT 14, 14:00 UTC, rev20
        DESCRIPTION
          "read-only changed to read-write in 21 places. calibrationDate
           changed from read-write to read-only. productType changed to
           catalogNumber. Added: wifiSSID, wifiEncryption, modbusParity."

      REVISION     "201309091350Z"  -- 2013 SEP 9, 13:50 UTC, rev19
        DESCRIPTION
          "removed infeedCurrentAverageDemand and infeedCurrentPeakAverageDemand.
           Added measuredNeutralCurrent."

      REVISION     "201308261620Z"  -- 2013 AUG 26, 16:20 UTC, rev18
        DESCRIPTION
          "removed infeedPhaseCurrent and infeedPhaseCurrentAverage."

      REVISION     "201308221615Z"  -- 2013 AUG 22, 16:15 UTC, rev17
        DESCRIPTION
          "added outletLineCurrentMin, outletLineCurrentMax."

      REVISION     "201308072005Z"  -- 2013 AUG 07, 20:05 UTC, rev16
        DESCRIPTION
          "changed lineToLineVoltage Alarms from read-only to read-write."

      REVISION     "201308071703Z"  -- 2013 AUG 07, 17:03 UTC, rev15
        DESCRIPTION
          "Corrected units."

      REVISION     "201308071442Z"  -- 2013 AUG 07, 14:42 UTC, rev14
        DESCRIPTION
          "Moved lineToNeutVoltage to phase table, added energyReset"

      REVISION     "201308061829Z"  -- 2013 AUG 06, 18:29 UTC, rev13
        DESCRIPTION
          "Renamed line and phase voltage variables."

      REVISION     "201305302111Z"  -- 2013 MAY 30, 21:11 UTC, rev12
        DESCRIPTION
          "Renamed outletReceptacleIndex to outletOutletIndex."


      REVISION     "201305211539Z"  -- 2013 MAY 21, 15:39 UTC, rev11
        DESCRIPTION
          "Added outlet alarms and traps."

      REVISION     "201303261949Z"  -- 2013 MAR 26, 19:39 UTC, rev10
        DESCRIPTION
          "Changed Trap definitions."

      REVISION     "201303081343Z"  -- 2013 MAR 08, 13:43 UTC, rev09
        DESCRIPTION
          "Minor corrections to MIB."

      REVISION     "201303061728Z"  -- 2013 MAR 07, 17:28 UTC, rev08
        DESCRIPTION
          "Deleted infeedPeakPowerDemand. Swapped the
           sequential order of infeedActivePowerDemand and
           infeedPeakActivePowerDemand. Updated compliance
           groups. Minor MIB reformatting."

      REVISION     "201303012032Z"  -- 2013 MAR 01, 20:32 UTC, rev07
        DESCRIPTION
          "Deleted infeedPeakPowerDemand. Swapped the
           sequential order of infeedActivePowerDemand and
           infeedPeakActivePowerDemand. Updated compliance
           groups. Minor MIB reformatting."

      REVISION     "201302272223Z"  -- 2013 FEB 27, 22:23 UTC, rev06
        DESCRIPTION
          "Added Interfaces and Protocols groups, added Email,
          DigitalIo and AnalogIo. Minor MIB reformatting."

      REVISION     "201302252105Z"  -- 2013 FEB 25, 21:05 UTC, rev05
        DESCRIPTION
          "Split the infeedphasetable into a seperate line
           table and phase table. Updated syntax to meet
           validation severity level 3. Reformatted MIB."

      REVISION     "201302221904Z"  -- 2013 FEB 22, 19:04 UTC, rev04
        DESCRIPTION
          "Removed Receptacle X, Phase (A,B,C definitions."

      REVISION     "201302201603Z"  -- 2013 FEB 20, 16:03 UTC, rev03
        DESCRIPTION
          "Removed Starline M9 MIB Definitions."

      REVISION     "201302141402Z"  -- 2013 FEB 14, 14:02 UTC, rev02
        DESCRIPTION
          "Updated MIBs to match requirements."

      REVISION     "201206131801Z"  -- 2012 JUN 13, 18:01 UTC, rev01
        DESCRIPTION
          "Added UECs M50 and M51 measurement devices MIB."

      REVISION     "201104251700Z"  -- 2011 APR 25, 17:00 UTC, Draft
        DESCRIPTION
          "MIB definition for UECs M20 and M21 measurement devices."

    ::= { enterprises 35774 }


DisplayString ::= OCTET STRING


--
--  CPM Devices
--

cpm   OBJECT IDENTIFIER ::= { uecStarline 2 }


    --  *******************
    --  *  CPM AC Meters  *
    --  *******************

    cpmAcMeter   OBJECT IDENTIFIER ::= { cpm 1 }


        --
        --  General
        --

        cpmAcGeneral   OBJECT IDENTIFIER ::= { cpmAcMeter 1 }

        cpmAcDeviceName  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The name of the meter assigned by the user."
            ::= { cpmAcGeneral 1 }

        cpmAcDeviceLocation  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "A field for the user to describe the location of the device."
            ::= { cpmAcGeneral 2 }

        cpmAcDeviceId  OBJECT-TYPE
            SYNTAX      DisplayString   -- 23 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "A field for the user to describe the device's identification."
            ::= { cpmAcGeneral 3 }

        cpmAcModelNumber  OBJECT-TYPE
           SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set model number."
            ::= { cpmAcGeneral 4 }

        cpmAcSerialNumber  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set serial number."
            ::= { cpmAcGeneral 5 }

        cpmAcCatalogNumber  OBJECT-TYPE
            SYNTAX      DisplayString   -- 39 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set catalog number."
            ::= { cpmAcGeneral 6 }

        cpmAcFirmwareVersion  OBJECT-TYPE
            SYNTAX      DisplayString   -- 19 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "A factory set string to define the firmware revision."
            ::= { cpmAcGeneral 7 }

        cpmAcCalibrationDate  OBJECT-TYPE
            SYNTAX      DisplayString   -- 19 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Factory set date of calibration."
            ::= { cpmAcGeneral 8 }

        cpmAcEnergyReset  OBJECT-TYPE
            SYNTAX      DisplayString   -- 1 character max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Energy reset. Set to 1 to issue reset energy command."
            ::= { cpmAcGeneral 9 }

        cpmAcGroupReset  OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Reset group command: this is an 8 character hexadecimal
                 value representing a 32-bit field of flags, of which
                 only the least significant 4 are used. Set to 1 the
                 following bits to reset a group:
                   bit0 = min values
                   bit1 = max values
                   bit2 = peak values
                   bit3 = demand values"
            ::= { cpmAcGeneral 10 }

        --  End of General.


        --
        --  Physical Interfaces
        --

        cpmAcInterfaces   OBJECT IDENTIFIER ::= { cpmAcMeter 2 }


            --
            --  Ethernet
            --

            cpmAcEthernet   OBJECT IDENTIFIER ::= { cpmAcInterfaces 1 }

            cpmAcEnetMacAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 17 characters max
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The factory set MAC address."
                ::= { cpmAcEthernet 1 }

            cpmAcEnetIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP address."
                ::= { cpmAcEthernet 2 }

            cpmAcEnetIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP subnet mask."
                ::= { cpmAcEthernet 3 }

            cpmAcEnetIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned gateway address."
                ::= { cpmAcEthernet 4 }

            cpmAcEnetEnableDHCP  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "Flag indicating if Static IP or DHCP should be used."
                ::= { cpmAcEthernet 5 }

            cpmAcEnetStaticIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP address to use if not using DHCP."
                ::= { cpmAcEthernet 6 }

            cpmAcEnetStaticIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP subnet mask to use if not using DHCP."
                ::= { cpmAcEthernet 7 }

            cpmAcEnetStaticIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The gateway address to use if not using DHCP."
                ::= { cpmAcEthernet 8 }

            --  End of Ethernet.


            --
            --  WiFi
            --

            cpmAcWifi   OBJECT IDENTIFIER ::= { cpmAcInterfaces 2 }

            cpmAcWifiMacAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 17 characters max
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The factory set MAC address."
                ::= { cpmAcWifi 1 }

            cpmAcWifiIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP address."
                ::= { cpmAcWifi 2 }

            cpmAcWifiIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP subnet mask."
                ::= { cpmAcWifi 3 }

            cpmAcWifiIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned gateway address."
                ::= { cpmAcWifi 4 }

            cpmAcWifiEnableDHCP  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "Flag indicating if Static IP or DHCP should be used."
                ::= { cpmAcWifi 5 }

            cpmAcWifiStaticIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP address to use if not using DHCP."
                ::= { cpmAcWifi 6 }

            cpmAcWifiStaticIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP subnet mask to use if not using DHCP."
                ::= { cpmAcWifi 7 }

            cpmAcWifiStaticIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The gateway address to use if not using DHCP."
                ::= { cpmAcWifi 8 }

            cpmAcWifiSSID  OBJECT-TYPE
                SYNTAX      DisplayString   -- 32 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The SSID (network name) of the wireless local area network (WLAN)."
                ::= { cpmAcWifi 9 }

            cpmAcWifiEncryptionType  OBJECT-TYPE
                SYNTAX      DisplayString   -- 15 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The type of encryption being used by the WLAN: none, wep, wpa, wpa2."
                ::= { cpmAcWifi 10 }

            --  End of WiFi.


            --
            --  Modbus
            --

            cpmAcModbus   OBJECT IDENTIFIER ::= { cpmAcInterfaces 3 }
            
            cpmAcModbusAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 3 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user given serial address used for Modbus."
                ::= { cpmAcModbus 1 }
           
            cpmAcModbusBaudRate  OBJECT-TYPE
                SYNTAX      DisplayString   -- 5 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "User selected baud rate of serial communications: 9600 or 19200."
                ::= { cpmAcModbus 2 }

            cpmAcModbusStopBits  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "User selected number of stop bits: 1 or 2."
                ::= { cpmAcModbus 3 }

            cpmAcModbusParity  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "User selected parity: 0=even, 1=odd, 2=none."
                ::= { cpmAcModbus 4 }

            --  End of Modbus.


            --
            --  Digital I/O
            --

            cpmAcDigitalIo  OBJECT-TYPE
                SYNTAX      SEQUENCE OF CpmAcDigitalIoEntry 
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                    "Table of Digital I/O line data."
                ::= { cpmAcInterfaces 4 }

            cpmAcDigitalIoEntry  OBJECT-TYPE
                SYNTAX      CpmAcDigitalIoEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                    "Variables pertaining to Digital I/Os."
                INDEX { cpmAcDigitalIoIndex }
                ::= { cpmAcDigitalIo 1 }

            CpmAcDigitalIoEntry ::= SEQUENCE
            {
                cpmAcDigitalIoIndex      INTEGER,
                cpmAcDigitalIoName       DisplayString,
                cpmAcDigitalIoValue      DisplayString,
                cpmAcDigitalIoDirection  DisplayString,
                cpmAcDigitalIoLevel      DisplayString,
                cpmAcDigitalIoAlarm      DisplayString
            }

            cpmAcDigitalIoIndex  OBJECT-TYPE 
                SYNTAX      INTEGER { port1(1), port2(2) }
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                    "The index to the Digital I/O entry."
                ::= { cpmAcDigitalIoEntry 1 }

            cpmAcDigitalIoName  OBJECT-TYPE
                SYNTAX      DisplayString   -- 15 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The Digital I/O name."
                ::= { cpmAcDigitalIoEntry 2 }

            cpmAcDigitalIoValue  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The current value of the digital I/O."
                ::= { cpmAcDigitalIoEntry 3 }

            cpmAcDigitalIoDirection  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The direction of the digital I/O."
                ::= { cpmAcDigitalIoEntry 4 }

            cpmAcDigitalIoLevel  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The active level of the digital I/O."
                ::= { cpmAcDigitalIoEntry 5 }

            cpmAcDigitalIoAlarm  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "Set to generate an alarm on input."
                ::= { cpmAcDigitalIoEntry 6 }

            --  End of Digital I/O.


            --
            --  Analog I/O
            --

            cpmAcAnalogIo   OBJECT IDENTIFIER ::= { cpmAcInterfaces 5 }

            cpmAc4to20maPortName  OBJECT-TYPE
                SYNTAX      DisplayString   -- 15 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The name of the 4-20 ma port."
                ::= { cpmAcAnalogIo 1 }

            cpmAc4to20maValue  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The value of the 4-20 ma port."
                ::= { cpmAcAnalogIo 2 }

            --  End of Analog I/O.
            
        --  End of Physical Interfaces.


        --
        --  Protocols
        --
        
        cpmAcProtocols   OBJECT IDENTIFIER ::= { cpmAcMeter 3 }


            --
            --  SNMP
            --

            cpmAcSnmp   OBJECT IDENTIFIER ::= { cpmAcProtocols 1 }

            cpmAcSnmpTrapDestAddr1  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set ip address for revceiving traps."
                ::= { cpmAcSnmp 1 }

            cpmAcSnmpTrapDestAddr2  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set ip address for revceiving traps."
                ::= { cpmAcSnmp 2 }

            --  End of SNMP.


            --
            --  Email
            --

            cpmAcEmail   OBJECT IDENTIFIER ::= { cpmAcProtocols 2 }

            cpmAcEmailFromAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set email address  representing the originator of
                     the alarm message."
                ::= { cpmAcEmail 1 }

            cpmAcEmailToAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set email address  representing the recipient of
                     the alarm message."
                ::= { cpmAcEmail 2 }

            cpmAcEmailServer  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "IP address of the email server."
                ::= { cpmAcEmail 3 }

            cpmAcEmailPort  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The port used by the email server"
                ::= { cpmAcEmail 4 }

            cpmAcEmailAuthEnable  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "0 = Authentication Disabled, 1 = Authentication Enabled"
                ::= { cpmAcEmail 5 }

            cpmAcEmailLogin  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The user name required for login to the
                     email server."
                ::= { cpmAcEmail 6 }

            cpmAcEmailPassword  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The password required for login to the
                     email server."
                ::= { cpmAcEmail 7 }

            --  End of Email.


            --
            --  SNTP
            --

            cpmAcSntp   OBJECT IDENTIFIER ::= { cpmAcProtocols 3 }

            cpmAcSntpServer  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "IP address of the SNTP server."
                ::= { cpmAcSntp 1 }


            --
            --  Telnet
            --

            cpmAcTelnet   OBJECT IDENTIFIER ::= { cpmAcProtocols 4 }

            --  End of Telnet.
            
        --  End of Protocols.


        --
        --  Infeed
        --

        cpmAcInfeed   OBJECT IDENTIFIER ::= { cpmAcMeter 4 }

        cpmAcInfLineToNeutVoltAve  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Volts (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The enabled line-to-neutral voltages (1 to 3),
                 cpmAcLineToNeutVoltage, summed together
                 then divided by the number of enabled lines.
                 = ((VL1N + VL2N + VL3N) / 3) for 3-Phase"
            ::= { cpmAcInfeed 1 }

        cpmAcInfLineToLineVoltAve  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Volts (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The enabled line-to-line voltages (1 to 3),
                 cpmAcLineToLineVoltage, summed together
                 then divided by the number of enabled lines.
                 = ((VL1L2 + VL2L3 + VL3L1) / 3) for 3-Phase"
            ::= { cpmAcInfeed 2 }

        cpmAcInfLineCurrentAve  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The enabled line currents (1 to 3),
                 cpmAcInfLineCurrent, summed together
                 then divided by the number of enabled lines.
                 = ((I1 + I2 + I3) / 3) for 3-Phase"
            ::= { cpmAcInfeed 3 }

         cpmAcInfTotLineCurrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The infeed total line current demand."
            ::= { cpmAcInfeed 4 }

        cpmAcInfTotLineCurrPeakDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcInfTotLineCurrDemand measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeed 5 }

        cpmAcInfDemandTime  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "minutes"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The interval of time over which the demand
                 is calculated for the infeed parameters."
            ::= { cpmAcInfeed 6 }

        cpmAcInfTotalActivePower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The infeed total active power."
            ::= { cpmAcInfeed 7 }

        cpmAcInfPeakTotalActivePower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest infeed total active power measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeed 8 }

        cpmAcInfTotalActivePwrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The infeed total active power demand."
            ::= { cpmAcInfeed 9 }

        cpmAcInfPeakTotActPwrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest infeed total active power demand measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeed 10 }

        cpmAcInfTotalReactivePower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "var per demand interval"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The infeed total reactive power."
            ::= { cpmAcInfeed 11 }

        cpmAcInfTotReactivePwrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "var per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The infeed total reactive power demand."
            ::= { cpmAcInfeed 12 }

        cpmAcInfPeakTotReactPwrDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "var per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest infeed total reactive power demand
                 measured since the last operator reset of this value."
            ::= { cpmAcInfeed 13 }

        cpmAcInfTotalApparentPower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "VA"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The infeed total apparent power."
            ::= { cpmAcInfeed 14 }

        cpmAcInfTotApparentPwrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "VA per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The infeed total apparent power demand."
            ::= { cpmAcInfeed 15 }

        cpmAcInfPeakTotApparPwrDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "VA per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcInfTotApparentPwrDemand measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeed 16 }

        cpmAcInfTotalPowerFactor  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       ""
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total power factor of the infeed."
            ::= { cpmAcInfeed 17 }

        cpmAcInfFrequency  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Hz"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The frequency of the infeed."
            ::= { cpmAcInfeed 18 }

        cpmAcInfTotalEnergy  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total energy being consumed via the infeed, since
                 the last operator reset of this cumulative value."
            ::= { cpmAcInfeed 19 }

        cpmAcInfLineCurrentRating  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum infeed line current allowed per the device rating."
            ::= { cpmAcInfeed 20 }

        cpmAcInfMeasuredNeutralCurr    OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The infeed measured neutral current."
            ::= { cpmAcInfeed 21 }

        cpmAcInfFrequencyMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Hz"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The lowest cpmAcInfFrequency measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeed 22 }

        cpmAcInfFrequencyMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "Hz"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcInfFrequency measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeed 23 }

        --  End of Infeed.


        --
        --  Infeed Line Table
        --

        cpmAcInfeedLine  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmAcInfeedLineEntry 
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of infeed line data."
            ::= { cpmAcMeter 5 }

        cpmAcInfeedLineEntry  OBJECT-TYPE
            SYNTAX      CpmAcInfeedLineEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to infeed line."
            INDEX { cpmAcInfeedLineIndex }
            ::= { cpmAcInfeedLine 1 }

        CpmAcInfeedLineEntry ::= SEQUENCE
        {
            cpmAcInfeedLineIndex      INTEGER,
            cpmAcInfLineCurrent       DisplayString,
            cpmAcInfLineCurrentMin    DisplayString,
            cpmAcInfLineCurrentMax    DisplayString,
            cpmAcInfLineCurrRatPctOf  DisplayString,
            cpmAcInfLineCurrMinAlarm  DisplayString,
            cpmAcInfLineCurrMaxAlarm  DisplayString,
            cpmAcInfLineCurrDemand    DisplayString,
            cpmAcInfLineCurrPeakDmd   DisplayString
        }

        cpmAcInfeedLineIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { line1(1), line2(2), line3(3), neutralC(4), neutralM(5) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the infeed line entry."
            ::= { cpmAcInfeedLineEntry 1 }

        cpmAcInfLineCurrent  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The current measurement of infeed."
            ::= { cpmAcInfeedLineEntry 3 }

        cpmAcInfLineCurrentMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The minimum current measured on infeed."
            ::= { cpmAcInfeedLineEntry 4 }

        cpmAcInfLineCurrentMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum current measured on infeed."
            ::= { cpmAcInfeedLineEntry 5 }

        cpmAcInfLineCurrRatPctOf  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "% of rated"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Infeed line current rating percent of
                 = (current / rated current * 100)."
            ::= { cpmAcInfeedLineEntry 6 }

        cpmAcInfLineCurrMinAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (RMS)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The minimum current threshold for alarm activiation."
            ::= { cpmAcInfeedLineEntry 7 }

        cpmAcInfLineCurrMaxAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (RMS)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum current threshold for alarm activiation."
            ::= { cpmAcInfeedLineEntry 8 }

        cpmAcInfLineCurrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The current demand of this line."
            ::= { cpmAcInfeedLineEntry 9 }

        cpmAcInfLineCurrPeakDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcInfLineCurrDemand measured
                 since the last operator reset of this value."
            ::= { cpmAcInfeedLineEntry 10 }

        --  End of Infeed Line Table.


        --
        --  Infeed Phase Table
        --

        cpmAcInfeedPhase  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmAcInfeedPhaseEntry 
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of infeed phase data."
            ::= { cpmAcMeter 6 }

        cpmAcInfeedPhaseEntry  OBJECT-TYPE
            SYNTAX      CpmAcInfeedPhaseEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to infeed phase."
            INDEX   { cpmAcInfeedPhaseIndex }
            ::= { cpmAcInfeedPhase 1 }

        CpmAcInfeedPhaseEntry ::= SEQUENCE
        {
            cpmAcInfeedPhaseIndex     INTEGER,
            cpmAcLineToNeutVoltage    DisplayString,
            cpmAcLineToLineVoltage    DisplayString,
            cpmAcLineToLineVoltMin    DisplayString,
            cpmAcLineToLineVoltMax    DisplayString,
            cpmAcLinToLinVoltMinAlm   DisplayString,
            cpmAcLinToLinVoltMaxAlm   DisplayString,
            cpmAcInfPhasePowerFactor  DisplayString,
            cpmAcInfPhaseApparentPwr  DisplayString,
            cpmAcInfPhaseActivePower  DisplayString,
            cpmAcInfPhasePeakActPwr   DisplayString,
            cpmAcInfPhaseReactivePwr  DisplayString,
            cpmAcInfPhaseEnergy       DisplayString,
            cpmAcLineToNeutVoltMin    DisplayString,
            cpmAcLineToNeutVoltMax    DisplayString,
            cpmAcLinToNeutVoltMinAlm  DisplayString,
            cpmAcLinToNeutVoltMaxAlm  DisplayString
        }

        cpmAcInfeedPhaseIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { phaseA(1), phaseB(2), phaseC(3) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the infeed phase entry."
            ::= { cpmAcInfeedPhaseEntry 1 }

        cpmAcLineToNeutVoltage  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The current measurement of infeed."
            ::= { cpmAcInfeedPhaseEntry 2 }

       cpmAcLineToLineVoltage  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Phase A,B,C voltage."
            ::= { cpmAcInfeedPhaseEntry 3 }

       cpmAcLineToLineVoltMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Phase A,B,C voltage minimum."
            ::= { cpmAcInfeedPhaseEntry 4 }

       cpmAcLineToLineVoltMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Phase A,B,C voltage maximum."
            ::= { cpmAcInfeedPhaseEntry 5 }

       cpmAcLinToLinVoltMinAlm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Phase A,B,C voltage minimum alarm threshold."
            ::= { cpmAcInfeedPhaseEntry 6 }

       cpmAcLinToLinVoltMaxAlm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Phase A,B,C voltage maximum alarm threshold."
            ::= { cpmAcInfeedPhaseEntry 7 }

       cpmAcInfPhasePowerFactor  OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Phase A,B,C power factor."
            ::= { cpmAcInfeedPhaseEntry 8 }

       cpmAcInfPhaseApparentPwr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "VA"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Phase A,B,C apparent power."
            ::= { cpmAcInfeedPhaseEntry 9 }

       cpmAcInfPhaseActivePower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Phase A,B,C active power"
            ::= { cpmAcInfeedPhaseEntry 10 }

       cpmAcInfPhasePeakActPwr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Phase A,B,C peak active power."
            ::= { cpmAcInfeedPhaseEntry 11 }

       cpmAcInfPhaseReactivePwr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "var"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Phase A,B,C reactive power."
            ::= { cpmAcInfeedPhaseEntry 12 }

       cpmAcInfPhaseEnergy  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Phase A,B,C metered energy."
            ::= { cpmAcInfeedPhaseEntry 13 }

       cpmAcLineToNeutVoltMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Line-to-neutral voltage minimum."
            ::= { cpmAcInfeedPhaseEntry 14 }

       cpmAcLineToNeutVoltMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Line-to-neutral voltage maximum."
            ::= { cpmAcInfeedPhaseEntry 15 }

       cpmAcLinToNeutVoltMinAlm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Line-to-neutral voltage minimum alarm threshold."
            ::= { cpmAcInfeedPhaseEntry 16 }

       cpmAcLinToNeutVoltMaxAlm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Line-to-neutral voltage maximum alarm threshold."
            ::= { cpmAcInfeedPhaseEntry 17 }

        --  End of Infeed Phase Table.


        --
        --  Outlet Table
        --
     
        cpmAcOutlet  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmAcOutletEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of outlet data."
            ::= { cpmAcMeter 7 }

        cpmAcOutletEntry  OBJECT-TYPE
            SYNTAX      CpmAcOutletEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to the outlet table."
            INDEX { cpmAcOutletIndex }
            ::= { cpmAcOutlet 1 }

        CpmAcOutletEntry ::= SEQUENCE
        {
            cpmAcOutletIndex          INTEGER,
            cpmAcOutletId             DisplayString,
            cpmAcOtlLineCurrRating    DisplayString,
            cpmAcOtlDemandTime        DisplayString,
            cpmAcOtlTotalActivePower  DisplayString,
            cpmAcOtlPeakTotActivePwr  DisplayString,
            cpmAcOtlTotalReactivePwr  DisplayString,
            cpmAcOtlTotalApparentPwr  DisplayString,
            cpmAcOtlTotalPowerFactor  DisplayString,
            cpmAcOtlTotalEnergy       DisplayString,
            cpmAcOtlCurrentMinAlarm   DisplayString,
            cpmAcOtlCurrentMaxAlarm   DisplayString
        }

        cpmAcOutletIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { outlet1(1), outlet2(2), outlet3(3), outlet4(4), outlet5(5), outlet6(6) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the outlet entry."
            ::= { cpmAcOutletEntry 1 }

        cpmAcOutletId  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The name assigned to this outlet."
            ::= { cpmAcOutletEntry 2 }

        cpmAcOtlLineCurrRating  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The rated current of this outlet."
            ::= { cpmAcOutletEntry 3 }

        cpmAcOtlDemandTime  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "minutes"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The interval of time over which the demand
                 is calculated for the outlet parameters."
            ::= { cpmAcOutletEntry 4 }

        cpmAcOtlTotalActivePower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total active power being supplied by this outlet."
            ::= { cpmAcOutletEntry 5 }

        cpmAcOtlPeakTotActivePwr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The peak total active power being supplied by this outlet."
            ::= { cpmAcOutletEntry 6 }

        cpmAcOtlTotalReactivePwr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "var"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total reactive power being supplied by this outlet."
            ::= { cpmAcOutletEntry 7 }

        cpmAcOtlTotalApparentPwr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "VA"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total apparent power being supplied by this outlet."
            ::= { cpmAcOutletEntry 8 }

        cpmAcOtlTotalPowerFactor  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       ""
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total power factor of this outlet."
            ::= { cpmAcOutletEntry 9 }

        cpmAcOtlTotalEnergy  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total energy supplied by this outlet, since
                 the last operator reset of this cumulative value."
            ::= { cpmAcOutletEntry 10 }

        cpmAcOtlCurrentMinAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The minumum outlet current alarm threshold. Current
                values below threshold will trigger an alarm."
            ::= { cpmAcOutletEntry 11 }

        cpmAcOtlCurrentMaxAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum outlet current alarm threshold. Current
                values above threshold will trigger an alarm."
           ::= { cpmAcOutletEntry 12 }

        --  End of Outlet Table.


        --
        --  Outlet Line Table
        --

        cpmAcOutletLine  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmAcOutletLineEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of outlet line data."
            ::= { cpmAcMeter 8 }

        cpmAcOutletLineEntry  OBJECT-TYPE
            SYNTAX      CpmAcOutletLineEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to the outlet line table."
            INDEX { cpmAcOutletOutletIndex, cpmAcOutletLineIndex }
            ::= { cpmAcOutletLine 1 }

        CpmAcOutletLineEntry ::= SEQUENCE
        {
            cpmAcOutletOutletIndex    INTEGER,
            cpmAcOutletLineIndex      INTEGER,
            cpmAcOtlPhaseId           DisplayString,
            cpmAcOtlLineCurrent       DisplayString,
            cpmAcOtlLineCurrRatPctOf  DisplayString,
            cpmAcOtlLineCurrDemand    DisplayString,
            cpmAcOtlLineCurrPeakDmd   DisplayString,
            cpmAcOtlLineCurrentMin    DisplayString,
            cpmAcOtlLineCurrentMax    DisplayString
        }

        cpmAcOutletOutletIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { outlet1(1), outlet2(2), outlet3(3), outlet4(4), outlet5(5), outlet6(6) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the outlet entry."
            ::= { cpmAcOutletLineEntry 1 }

        cpmAcOutletLineIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { line1(1), line2(2), line3(3), neutral(4) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the outlet line entry."
            ::= { cpmAcOutletLineEntry 2 }

        cpmAcOtlPhaseId  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The name assigned to this phase of the outlet."
            ::= { cpmAcOutletLineEntry 3 }

        cpmAcOtlLineCurrent  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The line current flowing through this outlet."
            ::= { cpmAcOutletLineEntry 4 }

        cpmAcOtlLineCurrRatPctOf  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "% of rated"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The percent of rated line current flowing
                 through this outlet."
            ::= { cpmAcOutletLineEntry 5 }

        cpmAcOtlLineCurrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The current demand of this outlet."
            ::= { cpmAcOutletLineEntry 6 }

        cpmAcOtlLineCurrPeakDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcOtlLineCurrDemand measured since
                 the last operator reset of this value."
            ::= { cpmAcOutletLineEntry 7 }

        cpmAcOtlLineCurrentMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The lowest cpmAcOtlLineCurrent measured since
                 the last operator reset of this value."
            ::= { cpmAcOutletLineEntry 8 }

        cpmAcOtlLineCurrentMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcOtlLineCurrent measured since
                 the last operator reset of this value."
            ::= { cpmAcOutletLineEntry 9 }

        --  End of Outlet Line Table.


        --
        --  Alarms
        --

        cpmAcAlarms   OBJECT IDENTIFIER ::= { cpmAcMeter 9 }

        cpmAcInfeedAlarmStatus  OBJECT-TYPE
            SYNTAX      DisplayString   -- 8 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The infeed alarm status. This is an 8 character
                 hexadecimal value representing a 32-bit field
                 of flags. All flags are normally 0. If an alarm
                 condition occurs, specific bits are set to 1 to
                 indicate the condition that triggered the alarm."
            ::= { cpmAcAlarms 1 }

        cpmAcOutletAlarmStatus  OBJECT-TYPE
            SYNTAX      DisplayString   -- 8 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Outlet 1 through 4 alarm status. This is an 8 character
                 hexadecimal value representing a 32-bit field
                 of flags. All flags are normally 0. If an alarm
                 condition occurs, specific bits are set to 1 to
                 indicate the condition that triggered the alarm."
            ::= { cpmAcAlarms 2 }

        cpmAcOutletAlarmStatus2  OBJECT-TYPE
            SYNTAX      DisplayString   -- 8 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Outlet 5 and 6 alarm status. This is an 8 character
                 hexadecimal value representing a 32-bit field
                 of flags. All flags are normally 0. If an alarm
                 condition occurs, specific bits are set to 1 to
                 indicate the condition that triggered the alarm."
            ::= { cpmAcAlarms 3 }

        cpmAcTempAlarmStatus  OBJECT-TYPE
            SYNTAX      DisplayString   -- 8 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Temperature alarm status. This is an 8 character
                 hexadecimal value representing a 32-bit field
                 of flags. All flags are normally 0. If an alarm
                 condition occurs, specific bits are set to 1 to
                 indicate the condition that triggered the alarm."
            ::= { cpmAcAlarms 4 }

        --  End of Alarms Table.


        --
        --  Diagnostics
        --

        cpmAcDiagnostics   OBJECT IDENTIFIER ::= { cpmAcMeter 10 }

        cpmAcFirstErrorMessage  OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The oldest error message."
            ::= { cpmAcDiagnostics 1 }

        cpmAcLastErrorMessage  OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The most recent error message."
            ::= { cpmAcDiagnostics 2 }

        --  End of Diagnostics Table.


        --
        --  Temperature Monitor
        --

        cpmAcTempMonitor   OBJECT IDENTIFIER ::= { cpmAcMeter 11 }

        cpmAcEnclosureTemp  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The temperature inside the enclosure."
            ::= { cpmAcTempMonitor 1 }

        cpmAcEnclosureTempMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcEnclosureTemp measured since
                 the last operator reset of this value."
            ::= { cpmAcTempMonitor 2 }

        cpmAcEncSysMaxTempAlmThr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set enclosure system maximum temperature
                 alarm threshold. Values above threshold will trigger an alarm."
            ::= { cpmAcTempMonitor 3 }

        cpmAcEncUsrMaxTempAlmThr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The enclosure user maximum temperature alarm threshold.
                 Values above threshold will trigger an alarm."
           ::= { cpmAcTempMonitor 4 }

        cpmAcBatVoltMinAlmThr  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set battery voltage minimum alarm threshold.
                 Values below threshold will trigger an alarm."
            ::= { cpmAcTempMonitor 5 }

        --  End of Temperature Monitor.


        --
        --  Temperature Monitor Node Table
        --
     
        cpmAcTempNode  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmAcTempNodeEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of temperature node data."
            ::= { cpmAcMeter 12 }

        cpmAcTempNodeEntry  OBJECT-TYPE
            SYNTAX      CpmAcTempNodeEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to the temperature node table."
            INDEX { cpmAcNodeIndex }
            ::= { cpmAcTempNode 1 }

        CpmAcTempNodeEntry ::= SEQUENCE
        {
            cpmAcNodeIndex            INTEGER,
            cpmAcNodeId               DisplayString,
            cpmAcNodeTemperature      DisplayString,
            cpmAcNodeTemperatureMax   DisplayString,
            cpmAcNodeSysMaxAlmThresh  DisplayString,
            cpmAcNodeUsrMaxAlmThresh  DisplayString,
            cpmAcNodeBatteryVoltage   DisplayString
        }

        cpmAcNodeIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { tempNode1(1), tempNode2(2), tempNode3(3), tempNode4(4) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the temperature node entry."
            ::= { cpmAcTempNodeEntry 1 }

        cpmAcNodeId  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The name assigned to this temperature node."
            ::= { cpmAcTempNodeEntry 2 }

        cpmAcNodeTemperature  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The temperature at this node."
            ::= { cpmAcTempNodeEntry 3 }

        cpmAcNodeTemperatureMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmAcNodeTemperature measured since
                 the last operator reset of this value."
            ::= { cpmAcTempNodeEntry 4 }

        cpmAcNodeSysMaxAlmThresh  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set system maximum temperature alarm threshold.
                 Values above threshold will trigger an alarm."
            ::= { cpmAcTempNodeEntry 5 }

        cpmAcNodeUsrMaxAlmThresh  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "degrees"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The user maximum temperature alarm threshold.
                 Values above threshold will trigger an alarm."
           ::= { cpmAcTempNodeEntry 6 }

        cpmAcNodeBatteryVoltage  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The battery voltage of this temperature node."
            ::= { cpmAcTempNodeEntry 7 }

        --  End of Temperature Monitor Node Table.


        --
        --  Notifications
        --
 
        cpmAcNotifications   OBJECT IDENTIFIER ::= { cpmAcMeter 50 }

        cpmAcEvents OBJECT IDENTIFIER ::= { cpmAcNotifications 0 }
     
        cpmAcInfOvCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Over Current Assert Event"
            ::= { cpmAcEvents 1 }

        cpmAcInfOvCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Over Current Deassert Event"
            ::= { cpmAcEvents 2 }

        cpmAcInfUnCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Under Current Assert Event"
            ::= { cpmAcEvents 3 }

        cpmAcInfUnCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Under Current Deassert Event"
            ::= { cpmAcEvents 4 }

        cpmAcInfOvVoltAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedPhaseIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Over Voltage Assert Event"
            ::= { cpmAcEvents 5 }

        cpmAcInfOvVoltDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedPhaseIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Over Voltage Deassert Event"
            ::= { cpmAcEvents 6 }

        cpmAcInfUnVoltAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedPhaseIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Under Voltage Assert Event"
            ::= { cpmAcEvents 7 }

        cpmAcInfUnVoltDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcInfeedPhaseIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Infeed Under Voltage Deassert Event"
            ::= { cpmAcEvents 8 }

        cpmAcOtlOvCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcOutletOutletIndex,
              cpmAcOutletLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Outlet Over Current Assert Event"
            ::= { cpmAcEvents 9 }

        cpmAcOtlOvCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcOutletOutletIndex,
              cpmAcOutletLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Outlet Over Current Deassert Event"
            ::= { cpmAcEvents 10 }

        cpmAcOtlUnCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcOutletOutletIndex,
              cpmAcOutletLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Outlet Under Current Assert Event"
            ::= { cpmAcEvents 11 }

        cpmAcOtlUnCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcOutletOutletIndex,
              cpmAcOutletLineIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Outlet Under Current Deassert Event"
            ::= { cpmAcEvents 12 }

        cpmAcOvTempAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Over Temperature Assert Event"
            ::= { cpmAcEvents 13 }

        cpmAcOvTempDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Over Temperature Deassert Event"
            ::= { cpmAcEvents 14 }

        cpmAcBatVoltLowAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcNodeIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Battery Voltage Low Assert Event"
            ::= { cpmAcEvents 15 }

        cpmAcBatVoltLowDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmAcDeviceName,
              cpmAcSerialNumber,
              cpmAcDeviceLocation,
              cpmAcNodeIndex
            }
            STATUS  current
            DESCRIPTION
                "AC CPM Battery Voltage Low Deassert Event"
            ::= { cpmAcEvents 16 }

        --  End of Notifications.


    --  *******************
    --  *  CPM DC Meters  *
    --  *******************

    cpmDcMeter   OBJECT IDENTIFIER ::= { cpm 2 }


        --
        --  General
        --

        cpmDcGeneral   OBJECT IDENTIFIER ::= { cpmDcMeter 1 }

        cpmDcDeviceName  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The name of the meter assigned by the user."
            ::= { cpmDcGeneral 1 }

        cpmDcDeviceLocation  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "A field for the user to describe the location of the device."
            ::= { cpmDcGeneral 2 }

        cpmDcDeviceId  OBJECT-TYPE
            SYNTAX      DisplayString   -- 23 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "A field for the user to describe the device's identification."
            ::= { cpmDcGeneral 3 }

        cpmDcModelNumber  OBJECT-TYPE
           SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set model number."
            ::= { cpmDcGeneral 4 }

        cpmDcSerialNumber  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set serial number."
            ::= { cpmDcGeneral 5 }

        cpmDcCatalogNumber  OBJECT-TYPE
            SYNTAX      DisplayString   -- 39 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The factory set catalog number."
            ::= { cpmDcGeneral 6 }

        cpmDcFirmwareVersion  OBJECT-TYPE
            SYNTAX      DisplayString   -- 19 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "A factory set string to define the firmware revision."
            ::= { cpmDcGeneral 7 }

        cpmDcEnergyReset  OBJECT-TYPE
            SYNTAX      DisplayString   -- 1 character max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Energy reset. Set to 1 to issue reset energy command."
            ::= { cpmDcGeneral 8 }

        --  End of General.


        --
        --  Physical Interfaces
        --

        cpmDcInterfaces   OBJECT IDENTIFIER ::= { cpmDcMeter 2 }


            --
            --  Ethernet
            --

            cpmDcEthernet   OBJECT IDENTIFIER ::= { cpmDcInterfaces 1 }

            cpmDcEnetMacAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 17 characters max
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The factory set MAC address."
                ::= { cpmDcEthernet 1 }

            cpmDcEnetIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP address."
                ::= { cpmDcEthernet 2 }

            cpmDcEnetIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP subnet mask."
                ::= { cpmDcEthernet 3 }

            cpmDcEnetIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned gateway address."
                ::= { cpmDcEthernet 4 }

            cpmDcEnetEnableDHCP  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "Flag indicating if Static IP or DHCP should be used."
                ::= { cpmDcEthernet 5 }

            cpmDcEnetStaticIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP address to use if not using DHCP."
                ::= { cpmDcEthernet 6 }

            cpmDcEnetStaticIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP subnet mask to use if not using DHCP."
                ::= { cpmDcEthernet 7 }

            cpmDcEnetStaticIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The gateway address to use if not using DHCP."
                ::= { cpmDcEthernet 8 }

            --  End of Ethernet.


            --
            --  WiFi
            --

            cpmDcWifi   OBJECT IDENTIFIER ::= { cpmDcInterfaces 2 }

            cpmDcWifiMacAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 17 characters max
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The factory set MAC address."
                ::= { cpmDcWifi 1 }

            cpmDcWifiIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP address."
                ::= { cpmDcWifi 2 }

            cpmDcWifiIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned IP subnet mask."
                ::= { cpmDcWifi 3 }

            cpmDcWifiIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The currently assigned gateway address."
                ::= { cpmDcWifi 4 }

            cpmDcWifiEnableDHCP  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "Flag indicating if Static IP or DHCP should be used."
                ::= { cpmDcWifi 5 }

            cpmDcWifiStaticIpAddress  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP address to use if not using DHCP."
                ::= { cpmDcWifi 6 }

            cpmDcWifiStaticIpNetmask  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The IP subnet mask to use if not using DHCP."
                ::= { cpmDcWifi 7 }

            cpmDcWifiStaticIpGateway  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The gateway address to use if not using DHCP."
                ::= { cpmDcWifi 8 }

            cpmDcWifiSSID  OBJECT-TYPE
                SYNTAX      DisplayString   -- 32 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The SSID (network name) of the wireless local area network (WLAN)."
                ::= { cpmDcWifi 9 }

            cpmDcWifiEncryptionType  OBJECT-TYPE
                SYNTAX      DisplayString   -- 15 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The type of encryption being used by the WLAN: none, wep, wpa, wpa2."
                ::= { cpmDcWifi 10 }

            --  End of WiFi.


            --
            --  Modbus
            --

            cpmDcModbus   OBJECT IDENTIFIER ::= { cpmDcInterfaces 3 }
            
            cpmDcModbusAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 3 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user given serial address used for Modbus."
                ::= { cpmDcModbus 1 }
           
            cpmDcModbusBaudRate  OBJECT-TYPE
                SYNTAX      DisplayString   -- 5 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "User selected baud rate of serial communications: 9600 or 19200."
                ::= { cpmDcModbus 2 }

            cpmDcModbusStopBits  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "User selected number of stop bits: 1 or 2."
                ::= { cpmDcModbus 3 }

            cpmDcModbusParity  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "User selected parity: 0=even, 1=odd, 2=none."
                ::= { cpmDcModbus 4 }

            --  End of Modbus.


            --
            --  Digital I/O
            --

            cpmDcDigitalIo  OBJECT-TYPE
                SYNTAX      SEQUENCE OF CpmDcDigitalIoEntry 
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                    "Table of Digital I/O line data."
                ::= { cpmDcInterfaces 4 }

            cpmDcDigitalIoEntry  OBJECT-TYPE
                SYNTAX      CpmDcDigitalIoEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                    "Variables pertaining to Digital I/Os."
                INDEX { cpmDcDigitalIoIndex }
                ::= { cpmDcDigitalIo 1 }

            CpmDcDigitalIoEntry ::= SEQUENCE
            {
                cpmDcDigitalIoIndex      INTEGER,
                cpmDcDigitalIoName       DisplayString,
                cpmDcDigitalIoValue      DisplayString,
                cpmDcDigitalIoDirection  DisplayString,
                cpmDcDigitalIoLevel      DisplayString,
                cpmDcDigitalIoAlarm      DisplayString
            }

            cpmDcDigitalIoIndex  OBJECT-TYPE 
                SYNTAX      INTEGER { port1(1), port2(2) }
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                    "The index to the Digital I/O entry."
                ::= { cpmDcDigitalIoEntry 1 }

            cpmDcDigitalIoName  OBJECT-TYPE
                SYNTAX      DisplayString   -- 15 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The Digital I/O name."
                ::= { cpmDcDigitalIoEntry 2 }

            cpmDcDigitalIoValue  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The current value of the digital I/O."
                ::= { cpmDcDigitalIoEntry 3 }

            cpmDcDigitalIoDirection  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The direction of the digital I/O."
                ::= { cpmDcDigitalIoEntry 4 }

            cpmDcDigitalIoLevel  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The active level of the digital I/O."
                ::= { cpmDcDigitalIoEntry 5 }

            cpmDcDigitalIoAlarm  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "Set to generate an alarm on input."
                ::= { cpmDcDigitalIoEntry 6 }

            --  End of Digital I/O.


            --
            --  Analog I/O
            --

            cpmDcAnalogIo   OBJECT IDENTIFIER ::= { cpmDcInterfaces 5 }

            cpmDc4to20maPortName  OBJECT-TYPE
                SYNTAX      DisplayString   -- 15 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The name of the 4-20 ma port."
                ::= { cpmDcAnalogIo 1 }

            cpmDc4to20maValue  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                    "The value of the 4-20 ma port."
                ::= { cpmDcAnalogIo 2 }

            --  End of Analog I/O.
            
        --  End of Physical Interfaces.


        --
        --  Protocols
        --
        
        cpmDcProtocols   OBJECT IDENTIFIER ::= { cpmDcMeter 3 }


            --
            --  SNMP
            --

            cpmDcSnmp   OBJECT IDENTIFIER ::= { cpmDcProtocols 1 }

            cpmDcSnmpTrapDestAddr1  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set ip address for revceiving traps."
                ::= { cpmDcSnmp 1 }

            cpmDcSnmpTrapDestAddr2  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set ip address for revceiving traps."
                ::= { cpmDcSnmp 2 }

            --  End of SNMP.


            --
            --  Email
            --

            cpmDcEmail   OBJECT IDENTIFIER ::= { cpmDcProtocols 2 }

            cpmDcEmailFromAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set email address  representing the originator of
                     the alarm message."
                ::= { cpmDcEmail 1 }

            cpmDcEmailToAddress  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "A user set email address  representing the recipient of
                     the alarm message."
                ::= { cpmDcEmail 2 }

            cpmDcEmailServer  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "IP address of the email server."
                ::= { cpmDcEmail 3 }

            cpmDcEmailPort  OBJECT-TYPE
                SYNTAX      DisplayString
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The port used by the email server"
                ::= { cpmDcEmail 4 }

            cpmDcEmailAuthEnable  OBJECT-TYPE
                SYNTAX      DisplayString   -- 1 character max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "0 = Authentication Disabled, 1 = Authentication Enabled"
                ::= { cpmDcEmail 5 }

            cpmDcEmailLogin  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The user name required for login to the
                     email server."
                ::= { cpmDcEmail 6 }

            cpmDcEmailPassword  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "The password required for login to the
                     email server."
                ::= { cpmDcEmail 7 }

            --  End of Email.


            --
            --  SNTP
            --

            cpmDcSntp   OBJECT IDENTIFIER ::= { cpmDcProtocols 3 }

            cpmDcSntpServer  OBJECT-TYPE
                SYNTAX      DisplayString   -- 47 characters max
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                    "IP address of the SNTP server."
                ::= { cpmDcSntp 1 }


            --
            --  Telnet
            --

            cpmDcTelnet   OBJECT IDENTIFIER ::= { cpmDcProtocols 4 }

            --  End of Telnet.
            
        --  End of Protocols.


        --
        --  Infeed
        --

        cpmDcInfeed   OBJECT IDENTIFIER ::= { cpmDcMeter 4 }

        cpmDcInfDemandTime  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "minutes"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The interval of time over which the demand
                 is calculated for the infeed parameters."
            ::= { cpmDcInfeed 1 }

        cpmDcInfCktCurrRating  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum infeed circuit current allowed per the device rating."
            ::= { cpmDcInfeed 2 }

        --  End of Infeed.


        --
        --  Infeed Circuit Table
        --

        cpmDcInfCircuit  OBJECT-TYPE
            SYNTAX       SEQUENCE OF CpmDcInfCircuitEntry
            MAX-ACCESS   not-accessible
            STATUS       current
            DESCRIPTION
                "Table of infeed circuit data."
            ::= { cpmDcMeter 5 }

        cpmDcInfCircuitEntry  OBJECT-TYPE
            SYNTAX      CpmDcInfCircuitEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to infeed circuit."
            INDEX { cpmDcInfeedCircuitIndex }
            ::= { cpmDcInfCircuit 1 }

        CpmDcInfCircuitEntry ::= SEQUENCE
        {
            cpmDcInfeedCircuitIndex   INTEGER,
            cpmDcCktVoltage           DisplayString,  
            cpmDcCktVoltageMin        DisplayString,  
            cpmDcCktVoltageMax        DisplayString,  
            cpmDcCktVoltageMinAlarm   DisplayString,  
            cpmDcCktVoltageMaxAlarm   DisplayString,  
            cpmDcInfCktPower          DisplayString,       
            cpmDcInfCktPeakPower      DisplayString,       
            cpmDcInfCktEnergyDelivrd  DisplayString,       
            cpmDcInfCktEnergyRcvd     DisplayString,       
            cpmDcInfCktCurrent        DisplayString,
            cpmDcInfCktCurrentMin     DisplayString,
            cpmDcInfCktCurrentMax     DisplayString,
            cpmDcInfCktCurrRatPctOf   DisplayString,
            cpmDcInfCktCurrMinAlarm   DisplayString,
            cpmDcInfCktCurrMaxAlarm   DisplayString,
            cpmDcInfCktCurrDemand     DisplayString,
            cpmDcInfCktCurrPeakDmd    DisplayString
        }

        cpmDcInfeedCircuitIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { circuit1(1), circuit2(2) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the infeed circuit entry."
            ::= { cpmDcInfCircuitEntry 1 }

        cpmDcCktVoltage  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Circuit voltage."
            ::= { cpmDcInfCircuitEntry 2 }

        cpmDcCktVoltageMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Circuit voltage minimum."
            ::= { cpmDcInfCircuitEntry 3 }

        cpmDcCktVoltageMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Circuit voltage maximum."
            ::= { cpmDcInfCircuitEntry 4 }

        cpmDcCktVoltageMinAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Circuit voltage minimum alarm threshold."
            ::= { cpmDcInfCircuitEntry 5 }

        cpmDcCktVoltageMaxAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "volts (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Circuit voltage maximum alarm threshold."
            ::= { cpmDcInfCircuitEntry 6 }

        cpmDcInfCktPower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Infeed circuit power"
            ::= { cpmDcInfCircuitEntry 7 }

        cpmDcInfCktPeakPower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Infeed circuit peak power."
            ::= { cpmDcInfCircuitEntry 8 }

        cpmDcInfCktEnergyDelivrd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Infeed circuit energy delivered."
            ::= { cpmDcInfCircuitEntry 9 }

        cpmDcInfCktEnergyRcvd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "Infeed circuit energy received."
            ::= { cpmDcInfCircuitEntry 10 }

        cpmDcInfCktCurrent  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The current measured on this infeed circuit."
            ::= { cpmDcInfCircuitEntry 11 }

        cpmDcInfCktCurrentMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The minimum current measured on this infeed circuit."
            ::= { cpmDcInfCircuitEntry 12 }

        cpmDcInfCktCurrentMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum current measured on this infeed circuit."
            ::= { cpmDcInfCircuitEntry 13 }

        cpmDcInfCktCurrRatPctOf  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "% of rated"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "(current / rated current * 100) for this infeed circuit."
            ::= { cpmDcInfCircuitEntry 14 }

        cpmDcInfCktCurrMinAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (RMS)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The minimum current threshold for alarm activiation."
            ::= { cpmDcInfCircuitEntry 15 }

        cpmDcInfCktCurrMaxAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (RMS)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximum current threshold for alarm activiation."
            ::= { cpmDcInfCircuitEntry 16 }

        cpmDcInfCktCurrDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The current demand of this infeed circuit."
            ::= { cpmDcInfCircuitEntry 17 }

        cpmDcInfCktCurrPeakDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmDcInfCktCurrDemand measured
                 since the last operator reset of this value."
            ::= { cpmDcInfCircuitEntry 18 }

        --  End of Infeed Circuit Table.


        --
        --  Outlet Table
        --
     
        cpmDcOutlet  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmDcOutletEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of outlet data."
            ::= { cpmDcMeter 6 }

        cpmDcOutletEntry  OBJECT-TYPE
            SYNTAX      CpmDcOutletEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to the outlet table."
            INDEX { cpmDcOutletIndex }
            ::= { cpmDcOutlet 1 }

        CpmDcOutletEntry ::= SEQUENCE
        {
            cpmDcOutletIndex          INTEGER,
            cpmDcOutletId             DisplayString,
            cpmDcOtlCktCurrRating     DisplayString,
            cpmDcOtlDemandTime        DisplayString,
            cpmDcOtlCurrentMinAlarm   DisplayString,
            cpmDcOtlCurrentMaxAlarm   DisplayString
        }

        cpmDcOutletIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { outlet1(1), outlet2(2), outlet3(3), outlet4(4) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the outlet entry."
            ::= { cpmDcOutletEntry 1 }

        cpmDcOutletId  OBJECT-TYPE
            SYNTAX      DisplayString   -- 15 characters max
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The name assigned to this outlet."
            ::= { cpmDcOutletEntry 2 }

        cpmDcOtlCktCurrRating  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The rated current of this outlet."
            ::= { cpmDcOutletEntry 3 }

        cpmDcOtlDemandTime  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "minutes"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The interval of time over which the demand
                 is calculated for the outlet parameters."
            ::= { cpmDcOutletEntry 4 }

        cpmDcOtlCurrentMinAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The minumum outlet current alarm threshold. Current
                values below threshold will trigger an alarm."
            ::= { cpmDcOutletEntry 5 }

        cpmDcOtlCurrentMaxAlarm  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The maximun outlet current alarm threshold. Current
                values above threshold will trigger an alarm."
           ::= { cpmDcOutletEntry 6 }

        --  End of Outlet Table.


        --
        --  Outlet Circuit Table
        --

        cpmDcOutletCircuit  OBJECT-TYPE
            SYNTAX      SEQUENCE OF CpmDcOutletCircuitEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Table of outlet circuit data."
            ::= { cpmDcMeter 7 }

        cpmDcOutletCircuitEntry  OBJECT-TYPE
            SYNTAX      CpmDcOutletCircuitEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Variables pertaining to the outlet circuit table."
            INDEX { cpmDcOutletOutletIndex, cpmDcOutletCircuitIndex }
            ::= { cpmDcOutletCircuit 1 }

        CpmDcOutletCircuitEntry ::= SEQUENCE
        {
            cpmDcOutletOutletIndex    INTEGER,
            cpmDcOutletCircuitIndex   INTEGER,
            cpmDcOtlCktCurrent        DisplayString,
            cpmDcOtlCktCurrRatPctOf   DisplayString,
            cpmDcOtlCktCurrentDemand  DisplayString,
            cpmDcOtlCktCurrPeakDmd    DisplayString,
            cpmDcOtlCktCurrentMin     DisplayString,
            cpmDcOtlCktCurrentMax     DisplayString,
            cpmDcOtlCktPower          DisplayString,
            cpmDcOtlCktPeakPower      DisplayString,
            cpmDcOtlCktEnergyDelivrd  DisplayString,
            cpmDcOtlCktEnergyRcvd     DisplayString
        }

        cpmDcOutletOutletIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { outlet1(1), outlet2(2), outlet3(3), outlet4(4) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the outlet entry."
            ::= { cpmDcOutletCircuitEntry 1 }

        cpmDcOutletCircuitIndex  OBJECT-TYPE 
            SYNTAX      INTEGER { circuit1(1), circuit2(2) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The index to the outlet circuit entry."
            ::= { cpmDcOutletCircuitEntry 2 }

        cpmDcOtlCktCurrent  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms)"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The current flowing through this outlet circuit."
            ::= { cpmDcOutletCircuitEntry 3 }

        cpmDcOtlCktCurrRatPctOf  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "% of rated"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The percent of rated current flowing
                 through this outlet circuit."
            ::= { cpmDcOutletCircuitEntry 4 }

        cpmDcOtlCktCurrentDemand  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The current demand of this outlet."
            ::= { cpmDcOutletCircuitEntry 5 }

        cpmDcOtlCktCurrPeakDmd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmDcOtlCktCurrentDemand measured
                 since the last operator reset of this value."
            ::= { cpmDcOutletCircuitEntry 6 }

        cpmDcOtlCktCurrentMin  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The lowest cpmDcOtlCktCurrent measured since
                 the last operator reset of this value."
            ::= { cpmDcOutletCircuitEntry 7 }

        cpmDcOtlCktCurrentMax  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "amps (rms) per demand interval"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The highest cpmDcOtlCktCurrent measured since
                 the last operator reset of this value."
            ::= { cpmDcOutletCircuitEntry 8 }

        cpmDcOtlCktPower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The power being supplied by this outlet circuit."
            ::= { cpmDcOutletCircuitEntry 9 }

        cpmDcOtlCktPeakPower  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "W"
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "The peak power supplied by this outlet circuit."
            ::= { cpmDcOutletCircuitEntry 10 }

        cpmDcOtlCktEnergyDelivrd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total energy delivered by this outlet, since
                 the last operator reset of this cumulative value."
            ::= { cpmDcOutletCircuitEntry 11 }

        cpmDcOtlCktEnergyRcvd  OBJECT-TYPE
            SYNTAX      DisplayString
            UNITS       "kWh"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The total energy received by this outlet, since
                 the last operator reset of this cumulative value."
            ::= { cpmDcOutletCircuitEntry 12 }

        --  End of Outlet Circuit Table.


        --
        --  Alarms
        --

        cpmDcAlarms   OBJECT IDENTIFIER ::= { cpmDcMeter 8 }

        cpmDcInfeedAlarmStatus  OBJECT-TYPE
            SYNTAX      DisplayString   -- 8 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The infeed alarm status. This is an 8 character
                 hexadecimal value representing a 32-bit field
                 of flags. All flags are normally 0. If an alarm
                 condition occurs, specific bits are set to 1 to
                 indicate the condition that triggered the alarm."
            ::= { cpmDcAlarms 1 }

        cpmDcOutletAlarmStatus  OBJECT-TYPE
            SYNTAX      DisplayString   -- 8 characters max
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The outlet alarm status. This is an 8 character
                 hexadecimal value representing a 32-bit field
                 of flags. All flags are normally 0. If an alarm
                 condition occurs, specific bits are set to 1 to
                 indicate the condition that triggered the alarm."
            ::= { cpmDcAlarms 2 }

        --  End of Alarms Table.


        --
        --  Diagnostics
        --

        cpmDcDiagnostics   OBJECT IDENTIFIER ::= { cpmDcMeter 9 }

        cpmDcFirstErrorMessage  OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The oldest error message."
            ::= { cpmDcDiagnostics 1 }

        cpmDcLastErrorMessage  OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The most recent error message."
            ::= { cpmDcDiagnostics 2 }

        --  End of Diagnostics Table.


        --
        --  Notifications
        --
 
        cpmDcNotifications   OBJECT IDENTIFIER ::= { cpmDcMeter 50 }

        cpmDcEvents OBJECT IDENTIFIER ::= { cpmDcNotifications 0 }
     
        cpmDcInfOvCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 1 }

        cpmDcInfOvCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 2 }

        cpmDcInfUnCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 3 }

        cpmDcInfUnCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 4 }

        cpmDcInfOvVoltAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 5 }

        cpmDcInfOvVoltDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 6 }

        cpmDcInfUnVoltAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 7 }

        cpmDcInfUnVoltDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcInfeedCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 8 }

        cpmDcOtlOvCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcOutletOutletIndex,
              cpmDcOutletCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 9 }

        cpmDcOtlOvCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcOutletOutletIndex,
              cpmDcOutletCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 10 }

        cpmDcOtlUnCurrAssertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcOutletOutletIndex,
              cpmDcOutletCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 11 }

        cpmDcOtlUnCurrDeassertEv NOTIFICATION-TYPE
            OBJECTS
            {
              cpmDcDeviceName,
              cpmDcSerialNumber,
              cpmDcDeviceLocation,
              cpmDcOutletOutletIndex,
              cpmDcOutletCircuitIndex
            }
            STATUS  current
            DESCRIPTION
                ""
            ::= { cpmDcEvents 12 }

        --  End of Notifications.

END
