-- *****************************************************************
--
--
-- Copyright (c) 2020 by Schneider Electric.
-- All rights reserved.
--
-- *****************************************************************

SCHNEIDER-ELECTRIC-HDPM DEFINITIONS ::= BEGIN

IMPORTS
      MODULE-IDENTITY,
      OBJECT-TYPE,
      enterprises,
      Gauge32,
      Integer32,
      Unsigned32,
      Counter64,
      Counter32
            FROM SNMPv2-SMI
      TEXTUAL-CONVENTION,
		DateAndTime
            FROM SNMPv2-TC
      OBJECT-GROUP
            FROM SNMPv2-CONF;

hdpm MODULE-IDENTITY                                                --  1.3.6.1.4.1.3833.1.6000
      LAST-UPDATED    "202009160000Z"
      ORGANIZATION    "Schneider Electric"
      CONTACT-INFO    "Schneider Electric www.se.com"
      DESCRIPTION     "This MIB module is for the HDPM6000 High Density Power Meter."
      REVISION        "202009160000Z"
      DESCRIPTION     "HDPM6000 v0.56.0 and later System Firmware"
      ::= { schneiderEnergy 6000 }

--
-- OID Structure **********************************************************************
--

schneiderElectric  OBJECT IDENTIFIER ::= { enterprises 3833 }       --  1.3.6.1.4.1.3833 Schneider Electric Private Enterpise Number (PEN)

schneiderEnergy      OBJECT IDENTIFIER ::= { schneiderElectric 1 }  --  1.3.6.1.4.1.3833.1

schneiderHDPM OBJECT IDENTIFIER ::= { hdpm 1 }                      --  1.3.6.1.4.1.3833.1.6000.1


seHdpmSystem                   OBJECT IDENTIFIER ::= { schneiderHDPM 1 }
seHdpmModules                  OBJECT IDENTIFIER ::= { schneiderHDPM 2 }
seHdpmChannels                 OBJECT IDENTIFIER ::= { schneiderHDPM 3 }
seHdpmACMeters                 OBJECT IDENTIFIER ::= { schneiderHDPM 4 }
seHdpmDCMeters                 OBJECT IDENTIFIER ::= { schneiderHDPM 5 }
seHdpmDryContacts              OBJECT IDENTIFIER ::= { schneiderHDPM 6 }
seHdpmCircuitSummaries         OBJECT IDENTIFIER ::= { schneiderHDPM 7 }
seHdpmVoltsAmpsWatts           OBJECT IDENTIFIER ::= { schneiderHDPM 8 }
seHdpmEnvironmentalSensors     OBJECT IDENTIFIER ::= { schneiderHDPM 9 }
seHdpmCircuits                 OBJECT IDENTIFIER ::= { schneiderHDPM 10 }
seHdpmDemand                   OBJECT IDENTIFIER ::= { schneiderHDPM 11 }
seHdpmDryInputs                OBJECT IDENTIFIER ::= { schneiderHDPM 12 }


--
-- Textual Conventions
--

ModuleIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each tap module on the bus."
      SYNTAX       Integer32 (1..2147483647)

ChannelIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each circuit (single phase branch circuit, channel)."
      SYNTAX       Integer32 (1..2147483647)

LoadTypeIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each load type."
      SYNTAX       Integer32 (1..2147483647)

CtTypeIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each CT type."
      SYNTAX       Integer32 (1..2147483647)

ChannelCircuitNameIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each load type."
      SYNTAX       Integer32 (1..2147483647)

ChannelRackNameIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each load type."
      SYNTAX       Integer32 (1..2147483647)

ACMeterIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each AC meter in the system."
      SYNTAX       Integer32 (1..2147483647)

PhaseIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each phase in a source."
      SYNTAX       Integer32 (1..2147483647)

ChannelSummaryIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each branch summary in the system."
      SYNTAX       Integer32 (1..2147483647)

ChannelSummaryPhaseIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each phase in a summary."
      SYNTAX       Integer32 (1..2147483647)

CircuitSummaryIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each circuit."
      SYNTAX       Integer32 (1..2147483647)

CircuitSummaryPhaseIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each phase in a group."
      SYNTAX       Integer32 (1..2147483647)

DCMeterIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each DC meter in the system."
      SYNTAX       Integer32 (1..2147483647)

DryContactIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each dry contact module in the system."
      SYNTAX       Integer32 (1..2147483647)

EnvironmentalSensorIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each environmental sensor."
      SYNTAX       Integer32 (1..2147483647)

EnvironmentalTemperatureIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each temperature sensor."
      SYNTAX       Integer32 (1..2147483647)

EnvironmentalHumidityIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each humidity sensor."
      SYNTAX       Integer32 (1..2147483647)

DemandIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each entry."
      SYNTAX       Integer32 (1..2147483647)

DryInputsIndex ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "A unique value greater than zero for each dry input module in the system."
      SYNTAX       Integer32 (1..2147483647)

EnvironmentalSensorID ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "16a"
      STATUS       current
      DESCRIPTION
         "An environmental sensor's device ID."
      SYNTAX       OCTET STRING (SIZE (16))

EnvironmentalSensorTAP ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "An environmental sensor's host TAP ID."
      SYNTAX       Integer32 (1..2147483647)

EnvironmentalSensorPort ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
         "An environmental sensor's host port."
      SYNTAX       Integer32 (0..8)

--
-- The system data
--

seHdpmSystemChannelCount OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total number of installed channels (branch circuits) on the bus."
      ::= { seHdpmSystem 1 }

seHdpmSystemFirmwareVersion OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The firmware version for the communications processor in the Head Unit."
      ::= { seHdpmSystem 2 }

seHdpmSystemMicroFirmwareVersion OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The firmware version for the metering micro-controller in the Head Unit."
      ::= { seHdpmSystem 3 }

seHdpmSystemSerialNum OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The serial number for the Head Unit cpu card."
      ::= { seHdpmSystem 4 }

seHdpmSystemSupplyType OBJECT-TYPE
      SYNTAX      INTEGER { v120x240(0), v120x208wye(1), v120x208delta(2) }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The current supply type: 0=120/240, 1=120/208 wye, 2=120/208 delta."
      ::= { seHdpmSystem 5 }

seHdpmSystemEnergyScale OBJECT-TYPE
      SYNTAX      INTEGER { wattHourThousandths(-1000), wattHourHundredths(-100), wattHourTenths(-10), wattHour(1), wattHourTens(10), wattHourHundreds(100), wattHourThousands(1000), wattHourTenThousands(10000) }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Energy (Wh, VARh, VAh) scale factor where possible values are: -1000, -100,
         -10, 1, 10, 100, 1000, or 10000.  For positive scales, the value of Energy returned
         for circuits and channels will be in units of watt hours multiplied by this
         value, so a value of 100 means hundreds of watt hours. For negative scales the
         value of energy returned for circuits will be in units of watt hours divided by
         this value negated, so a value of -100 means hundredths of watt hours."
      ::= { seHdpmSystem 6 }

seHdpmSystemVoltsScale OBJECT-TYPE
      SYNTAX      INTEGER { voltTenths(1), volt(10), voltTens(100), voltHundreds(1000), voltThousands(10000) }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Voltage scale factor where possible values are: 1, 10, 100, 1000, or 10000.  The
         value of Volts returned for circuits and channels will be in units of tenths of volts
         multiplied by this value so a value of 100 means tens of volts. "
      ::= { seHdpmSystem 7 }

seHdpmSystemAmpsScale OBJECT-TYPE
      SYNTAX      INTEGER { ampereHundredths(1), ampereTenths(10), ampere(100), ampereTens(1000), ampereHundreds(10000) }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Current scale factor where possible values are: 1, 10, 100, 1000, or 10000.  The
         value of amps returned for circuits and channels will be in units of hunderdths of
         amps multiplied by this value so a value of 1000 means tens of amps."
      ::= { seHdpmSystem 8 }

seHdpmSystemPowerScale OBJECT-TYPE
      SYNTAX      INTEGER { watt(1), wattTens(10), wattHundreds(100), wattThousands(1000), wattTenThousands(10000) }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Power (W, VAR, VA) scale factor where possible values are: 1, 10, 100, 1000, or 10000.
         The value of power returned for circuits and channels will be in units of watts multiplied
         by this value so a value of 100 means hundreds of watts."
      ::= { seHdpmSystem 9 }

seHdpmLoadTypeTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmLoadTypeEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
      "A list of the available load types."
      ::= { seHdpmSystem 10 }

seHdpmLoadTypeEntry OBJECT-TYPE
      SYNTAX      SeHdpmLoadTypeEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single load type."
      INDEX       { seHdpmLoadTypeIndex }
      ::= { seHdpmLoadTypeTable 1 }

SeHdpmLoadTypeEntry ::=
     SEQUENCE {
      seHdpmLoadTypeIndex              LoadTypeIndex,
      seHdpmLoadTypeName               OCTET STRING,
      seHdpmLoadTypeTotal              Integer32
     }

seHdpmLoadTypeIndex OBJECT-TYPE
      SYNTAX      LoadTypeIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the load type. Between 1 and 20."
      ::= { seHdpmLoadTypeEntry 1 }

seHdpmLoadTypeName OBJECT-TYPE
      SYNTAX      OCTET STRING
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Identifying name."
      ::= { seHdpmLoadTypeEntry 2 }

seHdpmLoadTypeTotal OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Total power accumulated."
      ::= { seHdpmLoadTypeEntry 3 }

seHdpmCtTypeTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmCtTypeEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
      "A list of the available CT types."
      ::= { seHdpmSystem 11 }

seHdpmCtTypeEntry OBJECT-TYPE
      SYNTAX      SeHdpmCtTypeEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single CT type."
      INDEX       { seHdpmCtTypeIndex }
      ::= { seHdpmCtTypeTable 1 }

SeHdpmCtTypeEntry ::=
   SEQUENCE {
      seHdpmCtTypeIndex              CtTypeIndex,
      seHdpmCtTypeName               OCTET STRING,
      seHdpmCtTypeFactor1            Integer32,
      seHdpmCtTypeFactor2            Integer32,
      seHdpmCtTypePHCAL1             Integer32,
      seHdpmCtTypePHCAL2             Integer32
   }

seHdpmCtTypeIndex OBJECT-TYPE
      SYNTAX      CtTypeIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the CT type. Between 1 and 120."
      ::= { seHdpmCtTypeEntry 1 }

seHdpmCtTypeName OBJECT-TYPE
      SYNTAX      OCTET STRING
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Identifying name."
      ::= { seHdpmCtTypeEntry 2 }

seHdpmCtTypeFactor1 OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "CT factor for version 1 hardware."
      ::= { seHdpmCtTypeEntry 3 }

seHdpmCtTypeFactor2 OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "CT factor for version 2 hardware."
      ::= { seHdpmCtTypeEntry 4 }

seHdpmCtTypePHCAL1 OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "CT PHCAL for version 1 hardware."
      ::= { seHdpmCtTypeEntry 5 }

seHdpmCtTypePHCAL2 OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "CT PHCAL for version 2 hardware."
      ::= { seHdpmCtTypeEntry 6 }

seHdpmChannelCircuitNameTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmChannelCircuitNameEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
		   "A list of channel (single phase branch circuit) names. Circuits built from 2 or 3
		   channels (branch circuits) will show a circuit name in the first channel position with
		   the following channel or two blank"
		::= { seHdpmSystem 12 }

seHdpmChannelCircuitNameEntry OBJECT-TYPE
      SYNTAX      SeHdpmChannelCircuitNameEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A single channel name."
      INDEX       { seHdpmChannelCircuitNameIndex }
      ::= { seHdpmChannelCircuitNameTable 1 }

SeHdpmChannelCircuitNameEntry ::=
     SEQUENCE {
		  seHdpmChannelCircuitNameIndex               ChannelCircuitNameIndex,
		  seHdpmChannelCircuitName                    OCTET STRING
	  }

seHdpmChannelCircuitNameIndex OBJECT-TYPE
      SYNTAX      ChannelCircuitNameIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The channel number. Between 1 and 192."
      ::= { seHdpmChannelCircuitNameEntry 1 }

seHdpmChannelCircuitName OBJECT-TYPE
      SYNTAX      OCTET STRING
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Channel Circuit name."
      ::= { seHdpmChannelCircuitNameEntry 2 }

seHdpmChannelRackNameTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmChannelRackNameEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
		   "A list of Rack names associated with each channel or circuit. Circuits built
		   from 2 or 3 channels (branch circuits) will show a Rack name in the first
		   channel position with the following channel or two blank"
		::= { seHdpmSystem 13 }

seHdpmChannelRackNameEntry OBJECT-TYPE
      SYNTAX      SeHdpmChannelRackNameEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A single rack name associated with a channel or circuit."
      INDEX       { seHdpmChannelRackNameIndex }
      ::= { seHdpmChannelRackNameTable 1 }

SeHdpmChannelRackNameEntry ::=
     SEQUENCE {
		  seHdpmChannelRackNameIndex               ChannelRackNameIndex,
		  seHdpmChannelRackName                    OCTET STRING
	  }

seHdpmChannelRackNameIndex OBJECT-TYPE
      SYNTAX      ChannelRackNameIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The channel number. Between 1 and 192."
      ::= { seHdpmChannelRackNameEntry 1 }

seHdpmChannelRackName OBJECT-TYPE
      SYNTAX      OCTET STRING
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Rack name associated with the channel or circuit."
      ::= { seHdpmChannelRackNameEntry 2 }


--
-- The module table
--

seHdpmModuleNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of modules in the system.  This is currently in the range of 1..N"
      ::= { seHdpmModules 1 }

seHdpmModuleTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmModuleEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of data modules in the system."
      ::= { seHdpmModules 2 }

seHdpmModuleEntry OBJECT-TYPE
      SYNTAX      SeHdpmModuleEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single module in the system."
      INDEX       { seHdpmModuleIndex }
      ::= { seHdpmModuleTable 1 }

SeHdpmModuleEntry ::=
      SEQUENCE {
         seHdpmModuleIndex      ModuleIndex,
         seHdpmModuleSerialNumber  Integer32,
         seHdpmModuleChannels   Integer32
      }

seHdpmModuleIndex OBJECT-TYPE
      SYNTAX      ModuleIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the module.  This will a number in the range of 1..N
         where each module will be assigned the next available number in the range."
      ::= { seHdpmModuleEntry 1 }

seHdpmModuleSerialNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Serial number for the module."
      ::= { seHdpmModuleEntry 2 }

seHdpmModuleChannels OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of single phase channels (branch circuits) on the module.  This
         will be a number in the range of 1..N where N is often 21.  As the modules
         are listed in order, the channel (branch circuit)counts can be used to
         determine which channels are on which module without having to enumerate
         the channels."
      ::= { seHdpmModuleEntry 3 }


--
-- The Channel table
--

seHdpmChannelNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total number of single phase circuits (branch circuits, channels) in
         the system.  This is the sum of all branch circuits across all modules in
         the system, excluding the Head Unit and other stand alone Meters.  This
         is a number in the range of 1..N. The total number of circuits is related
         to module capacity vs. connected circuits.  That is, if a module
         has 21 channels on it but only one channel is attached to a CT, the module
         will still report 21 channels (branch circuits)."
      ::= { seHdpmChannels 1 }

seHdpmChannelTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmChannelEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of single phase channels (branch circuits) in the system."
      ::= { seHdpmChannels 2 }

seHdpmChannelEntry OBJECT-TYPE
      SYNTAX      SeHdpmChannelEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single channel (branch circuit) on a module."
      INDEX       { seHdpmChannelIndex }
      ::= { seHdpmChannelTable 1 }

SeHdpmChannelEntry ::=
      SEQUENCE {
         seHdpmChannelIndex              ChannelIndex,
         seHdpmChannelModuleIndex        ModuleIndex,
         seHdpmChannelToCircuitAssignment Integer32,
         seHdpmChannelCtType             INTEGER,
         seHdpmChannelCtFactor           Integer32,
         seHdpmChannelPhase              INTEGER,
         seHdpmChannelExpectedPhase      INTEGER,
         seHdpmChannelWh                 Integer32,
         seHdpmChannelVoltsRms           Integer32,
         seHdpmChannelVoltsRmsSqHi       Integer32,
         seHdpmChannelVoltsRmsSqLo       Integer32,
         seHdpmChannelAmpsRms            Integer32,
         seHdpmChannelAmpsRmsSqHi        Integer32,
         seHdpmChannelAmpsRmsSqLo        Integer32,
         seHdpmChannelPF                 Integer32,
         seHdpmChannelPFSqHi             Integer32,
         seHdpmChannelPFSqLo             Integer32,
         seHdpmChannelWatt               Integer32,
         seHdpmChannelWattSqHi           Integer32,
         seHdpmChannelWattSqLo           Integer32,
         seHdpmChannelSamples            Counter32,
         seHdpmChannelAvgVoltsRms        Integer32,
         seHdpmChannelAvgAmpsRms         Integer32,
         seHdpmChannelAvgPF              Integer32,
         seHdpmChannelAvgWatt            Integer32,
         seHdpmChannelWattMax            Integer32,
         seHdpmChannelWattMaxTime        DateAndTime,
         seHdpmChannelLoadType           LoadTypeIndex
      }

seHdpmChannelIndex OBJECT-TYPE
      SYNTAX      ChannelIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the Circuit. This is a number in the
         range of 1..N where N is the total number of channels.  Each
         subsequent circuit will be assigned the next index value."
      ::= { seHdpmChannelEntry 1 }

seHdpmChannelModuleIndex OBJECT-TYPE
      SYNTAX      ModuleIndex
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Which module in the module table this channel (branch circuit) is associated
         with.  This is a number in the range of 1..N"
      ::= { seHdpmChannelEntry 2 }

seHdpmChannelToCircuitAssignment OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "A number in the range of 1..N where N is the total number of circuits
         in the system that indicates how circuits should be grouped into
         multi-phase groups.

         * Channels (branch circuits) that have a unique group number will be treated
           as single phase circuits.

         * If two channels have the same group number then these will be treated
           as a two phase circuit.

         * If three channels have the same group number then these will be
           treated as a three phase circuit."
      ::= { seHdpmChannelEntry 3 }

seHdpmChannelCtType OBJECT-TYPE
      SYNTAX      INTEGER {
                     ct50amp(50),
                     ct100amp(100),
                     ct250amp(250),
                     ct500amp(500),
                     ct1000amp(1000),
                     ct2000amp(2000),
                     ct3000amp(3000)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is a number to identify a CT and is the max current of the CT.
         Possible values are: 50, 100, 250, 500, 1000, 2000, 3000."
      ::= { seHdpmChannelEntry 4 }

seHdpmChannelCtFactor OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The CT factor associated with the CT for this circuit."
      ::= { seHdpmChannelEntry 5 }

seHdpmChannelPhase OBJECT-TYPE
      SYNTAX      INTEGER {
                     notConnected(0),
                     phase1(1),
                     phase2(2),
                     phase3(3),
                     neutral(4)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The voltage phase this circuit is connected to.  Possible values are: 0..4
         where a value of 0 indicates that the circuit is not connected."
      ::= { seHdpmChannelEntry 6 }

seHdpmChannelExpectedPhase OBJECT-TYPE
      SYNTAX      INTEGER {
                     notConnected(0),
                     phase1(1),
                     phase2(2),
                     phase3(3),
                     neutral(4)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The voltage phase this circuit is supposed to be connected to as set during
         initial board setup.  When properly configured, this should have the
         same value as seHdpmChannelPhase.  Possible values are: 0..4"
      ::= { seHdpmChannelEntry 7 }

seHdpmChannelWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Real (Active, Ph) Energy in units of watt hours divided by the
         value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 watt hours)."
      ::= { seHdpmChannelEntry 8 }

seHdpmChannelVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Volts RMS in units of tenths of a volt divided by the value of
         seHdpmSystemVoltsScale (ie. when VoltsScale=100, this counter is in
         units of 10 volts)."
      ::= { seHdpmChannelEntry 9 }

seHdpmChannelVoltsRmsSqHi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Upper 32bits of the sum of squared Volts RMS samples (useful for stardard deviation)."
      ::= { seHdpmChannelEntry 10 }

seHdpmChannelVoltsRmsSqLo OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Lower 32bits of the sum of squared Volts RMS samples (useful for stardard deviation)."
      ::= { seHdpmChannelEntry 11 }

seHdpmChannelAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Amps RMS in hundredths of an amp divided by the value of
         seHdpmSystemAmpsScale (ie. when AmpsScale=10, this counter is in
         units of tenths of an amp)."
      ::= { seHdpmChannelEntry 12 }

seHdpmChannelAmpsRmsSqHi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Upper 32bits of the sum of squared Amps RMS samples (useful for standard deviation)."
      ::= { seHdpmChannelEntry 13 }

seHdpmChannelAmpsRmsSqLo OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Lower 32bits of the Sum of squared Amps RMS samples (useful for standard deviation)."
      ::= { seHdpmChannelEntry 14 }

seHdpmChannelPF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of (power factor * 1000) samples."
      ::= { seHdpmChannelEntry 15 }

seHdpmChannelPFSqHi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Upper 32bits of the sum of squared (power factor * 1000) samples (useful for
         standard deviation)."
      ::= { seHdpmChannelEntry 16 }

seHdpmChannelPFSqLo OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Lower 32bits of the sum of squared (power factor * 1000) samples (useful for
         standard deviation)."
      ::= { seHdpmChannelEntry 17 }

seHdpmChannelWatt OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Watts divided by the value of seHdpmSystemPowerScale
         (ie. when PowerScale=10, this counter is in units of 10 watts)."
      ::= { seHdpmChannelEntry 18 }

seHdpmChannelWattSqHi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Upper 32bits of the sum of squared watt samples (useful for standard deviation)."
      ::= { seHdpmChannelEntry 19 }

seHdpmChannelWattSqLo OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Lower 32bits of the sum of squared watt samples (useful for standard deviation)."
      ::= { seHdpmChannelEntry 20 }

seHdpmChannelSamples OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of samples performed.  Used to normalize other summing counters."
      ::= { seHdpmChannelEntry 21 }

seHdpmChannelAvgVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Running average of Volts RMS in tenths of a volt divided by the
         value of seHdpmSystemVoltsScale (ie. when VoltsScale=100, this is in
         units of 10 volts)."
      ::= { seHdpmChannelEntry 22 }

seHdpmChannelAvgAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Running average of Amps RMS in hundredths of an amp divided by the
         value of seHdpmSystemAmpsScale (ie. when AmpsScale=10, this is in
         units of tenths of an amp.)."
      ::= { seHdpmChannelEntry 23 }

seHdpmChannelAvgPF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Running average of (power factor * 1000)"
      ::= { seHdpmChannelEntry 24 }

seHdpmChannelAvgWatt OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Running average of Watts."
      ::= { seHdpmChannelEntry 25 }

seHdpmChannelWattMax OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Maximum Watt seen."
      ::= { seHdpmChannelEntry 26 }

seHdpmChannelWattMaxTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Time of maximum Watts seen."
      ::= { seHdpmChannelEntry 27 }

seHdpmChannelLoadType OBJECT-TYPE
      SYNTAX      LoadTypeIndex
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The index of the load type. Between 1 and 20 specifies the load type, 0 means
         there is no load type."
      ::= { seHdpmChannelEntry 28 }


--
-- AC sources
--

seHdpmACMeterNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of AC meters the system is configured for.  This is a number in
         the range of 1..N. Modules on the bus are not included."
      ::= { seHdpmACMeters 1 }

seHdpmACMetersTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmACMetersEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of 3-phase AC meters in the system. The first entry in the Head
         Unit PQM"
      ::= { seHdpmACMeters 2 }

seHdpmACMetersPhaseTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmACMetersPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of voltage phases in the system. Each AC meter typically has 3
         entries, one for each phase. The first three phases are the Head Unit PQM"
      ::= { seHdpmACMeters 3 }

seHdpmACMetersEntry OBJECT-TYPE
      SYNTAX      SeHdpmACMetersEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single AC meter in the system, typically three phase."
      INDEX       { seHdpmACMeterIndex }
      ::= { seHdpmACMetersTable 1 }

seHdpmACMetersPhaseEntry OBJECT-TYPE
      SYNTAX      SeHdpmACMetersPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single phase of an AC meter in the system. The first
         three entries are the Head Unit PQM. The next three entries are the
         estimated parameters for the primary side of a step down transformer, if
         enabled."
      INDEX       { seHdpmACMeterIndex,
                    seHdpmACMeterNumberOfPhases }
      ::= { seHdpmACMetersPhaseTable 1 }

SeHdpmACMetersEntry ::=
      SEQUENCE {
         seHdpmACMeterIndex           ACMeterIndex,
         seHdpmACMeterNumberOfPhases  PhaseIndex,
         seHdpmACMeterVoltsRms        Integer32,
         seHdpmACMeterAmpsRms         Integer32,
         seHdpmACMeterPF              Integer32,
         seHdpmACMeterWatt            Integer32,
         seHdpmACMeterVAR             Integer32,
         seHdpmACMeterTHDv            Integer32,
         seHdpmACMeterTHDi            Integer32,
         seHdpmACMeterWh              Integer32,
         seHdpmACMeterVARh            Integer32,
         seHdpmACMeterFreq            Integer32,
         seHdpmACMeterAmpsRmsavg      Integer32,
         seHdpmACMeterVAh             Integer32,
         seHdpmACMeterCurrentImbalance Integer32,
         seHdpmACMeterVoltageImbalance Integer32,
         seHdpmACMeterTotalDemandDistortion Integer32
      }

seHdpmACMeterIndex OBJECT-TYPE
      SYNTAX      ACMeterIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the AC source. This is a number in the range of 1..N.
         Each subsequent source will be assigned the next index value."
      ::= { seHdpmACMetersEntry 1 }

seHdpmACMeterNumberOfPhases OBJECT-TYPE
      SYNTAX      PhaseIndex
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of phases in an AC source."
      ::= { seHdpmACMetersEntry 2 }

seHdpmACMeterVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of Phase Volts RMS in units of tenths of a volt divided by the
         value of seHdpmSystemVoltsScale (ie. when VoltsScale=100, this counter is in
         units of 10 volts)."
      ::= { seHdpmACMetersEntry 3 }

seHdpmACMeterAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Total of Phase Amps RMS in units of milliamps."
      ::= { seHdpmACMetersEntry 4 }

seHdpmACMeterPF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Meter Power Factor * 1000."
      ::= { seHdpmACMetersEntry 5 }

seHdpmACMeterWatt OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Total of Phase Watts (Real Active Power, P)."
      ::= { seHdpmACMetersEntry 6 }

seHdpmACMeterVAR OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Total of Phase VAR (Reactive Energy, Q)."
      ::= { seHdpmACMetersEntry 7 }

seHdpmACMeterTHDv OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of Voltage Total Harmonic Distortion on the Phases."
      ::= { seHdpmACMetersEntry 8 }

seHdpmACMeterTHDi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of Current Total Harmonic Distortion on the Phases."
      ::= { seHdpmACMetersEntry 9 }

seHdpmACMeterWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Real Energy (watt hours, Ph) in units of watt hours divided
         by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is
         in units of 10 watt hours)."
      ::= { seHdpmACMetersEntry 10 }

seHdpmACMeterVARh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Reactive Energy (VAR hours, Qh) in units of VAR hours divided
         by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 VAR hours)."
      ::= { seHdpmACMetersEntry 11 }

seHdpmACMeterFreq OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Line Frequency."
      ::= { seHdpmACMetersEntry 12 }

seHdpmACMeterAmpsRmsavg OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of Phase Amps RMS in units of milliamps."
      ::= { seHdpmACMetersEntry 13 }

seHdpmACMeterVAh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Apparent Energy (VA hours, Sh) in units of watt hours divided
         by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 watt hours)."
      ::= { seHdpmACMetersEntry 14 }

seHdpmACMeterCurrentImbalance OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Current Impabalance = (In - Iave) / Iave,  where In is the phase with the largest
         difference from the average of the phase currents Iave."
      ::= { seHdpmACMetersEntry 15 }

seHdpmACMeterVoltageImbalance OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Voltage Impabalance = (Vn - Vave) / Vave,  where Vn is the phase with the largest
         difference from the average of the phase voltages Vave."
      ::= { seHdpmACMetersEntry 16 }

seHdpmACMeterTotalDemandDistortion OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Demand distortion is the Root Mean Square of each phase current multiplied by the
         phase THDi. This is then divided by the Circuit Breaker Rating."
      ::= { seHdpmACMetersEntry 17 }

SeHdpmACMetersPhaseEntry ::=
      SEQUENCE {
         seHdpmACMeterPhaseIndex              PhaseIndex,
         seHdpmACMeterPhaseVoltsRms           Integer32,
         seHdpmACMeterPhaseAmpsRms            Integer32,
         seHdpmACMeterPhasePF                 Integer32,
         seHdpmACMeterPhaseWatt               Integer32,
         seHdpmACMeterPhaseVAR                Integer32,
         seHdpmACMeterPhaseTHDv               Integer32,
         seHdpmACMeterPhaseTHDi               Integer32,
         seHdpmACMeterPhaseWh                 Integer32,
         seHdpmACMeterPhaseVARh               Integer32,
         seHdpmACMeterPhaseFreq               Integer32,
         seHdpmACMeterPhaseWattMax            Integer32,
         seHdpmACMeterPhaseWattMaxTime        DateAndTime,
         seHdpmACMeterPhaseVAh                Integer32,
         seHdpmACMeterPhaseDPF                Integer32
      }

seHdpmACMeterPhaseIndex OBJECT-TYPE
      SYNTAX      PhaseIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the phase. This is a number in the
         range of 1..4. A value of 4 is the neutral phase."
      ::= { seHdpmACMetersPhaseEntry 1 }

seHdpmACMeterPhaseVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of VoltsRms samples in units of tenths of a volt divided by the
         value of seHdpmSystemVoltsScale (ie. when VoltsScale=100, this counter is in
         units of 10 volts)."
      ::= { seHdpmACMetersPhaseEntry 2 }

seHdpmACMeterPhaseAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Amps RMS on a Meter Phase in units of milliamps."
      ::= { seHdpmACMetersPhaseEntry 3 }

seHdpmACMeterPhasePF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Power Factor * 1000 on a meter phase."
      ::= { seHdpmACMetersPhaseEntry 4 }

seHdpmACMeterPhaseWatt OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Watts (Real Active Power, P) on a meter phase."
      ::= { seHdpmACMetersPhaseEntry 5 }

seHdpmACMeterPhaseVAR OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "VAR (Reactive Power, Q) on a meter phase."
      ::= { seHdpmACMetersPhaseEntry 6 }

seHdpmACMeterPhaseTHDv OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Voltage THD."
      ::= { seHdpmACMetersPhaseEntry 7 }

seHdpmACMeterPhaseTHDi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Current THD."
      ::= { seHdpmACMetersPhaseEntry 8 }

seHdpmACMeterPhaseWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Watt hours (Real Energy, Ph) in units of watt hours divided
         by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 watt hours)."
      ::= { seHdpmACMetersPhaseEntry 9 }

seHdpmACMeterPhaseVARh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated VAR hours (Reactive Energy, Qh) in units of VAR hours divided
         by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 VAR hours)."
      ::= { seHdpmACMetersPhaseEntry 10 }

seHdpmACMeterPhaseFreq OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of frequency samples."
      ::= { seHdpmACMetersPhaseEntry 11 }

seHdpmACMeterPhaseWattMax OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Maximum watts seen."
      ::= { seHdpmACMetersPhaseEntry 12 }

seHdpmACMeterPhaseWattMaxTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Time of maximum watts seen."
      ::= { seHdpmACMetersPhaseEntry 13 }

seHdpmACMeterPhaseVAh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated VAh (Apparent Energy, Sh) in units of VA hours divided by the
         value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 VA hours)."
      ::= { seHdpmACMetersPhaseEntry 14 }

seHdpmACMeterPhaseDPF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Displacement Power Factor * 1000 on a meter phase."
      ::= { seHdpmACMetersPhaseEntry 15 }


--
-- Circuit Summaries
--

seHdpmCircuitSummariesNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of Circuit (branch circuit) summaries in the system.  This is a
         number in the range of 1..N. If 1, all Circuits are presented in a single
         summary. The system may be configured to create summaries for each Tap
         Module, where each Module is assumed to instrument a single panel."
      ::= { seHdpmCircuitSummaries 1 }

seHdpmCircuitSummaryTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmCircuitSummaryEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of Circuit (branch circuit) summaries in the system."
      ::= { seHdpmCircuitSummaries 2 }

seHdpmCircuitSummaryPhaseTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmCircuitSummaryPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of phases for each circuit summary in the system. Each Circuit
         Summary typically has four entries for phases ABCN. The first group of
         four entries will be the from the first Circuit Summary, the second group
         of four would be from the second circuit summary, ..."
      ::= { seHdpmCircuitSummaries 3 }

seHdpmCircuitSummaryEntry OBJECT-TYPE
      SYNTAX      SeHdpmCircuitSummaryEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single circuit summary in the system. This may be for
         the entire system, or a summary for each module & panel in the system."
      INDEX       { seHdpmCircuitSummaryIndex }
      ::= { seHdpmCircuitSummaryTable 1 }

seHdpmCircuitSummaryPhaseEntry OBJECT-TYPE
      SYNTAX      SeHdpmCircuitSummaryPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single phase in a circuit summary in the system."
      INDEX       { seHdpmCircuitSummaryIndex,
                    seHdpmCircuitSummaryPhaseIndex }
      ::= { seHdpmCircuitSummaryPhaseTable 1 }

SeHdpmCircuitSummaryEntry ::=
      SEQUENCE {
         seHdpmCircuitSummaryIndex           ChannelSummaryIndex,
         seHdpmCircuitSummaryPhasesNumber    ChannelSummaryPhaseIndex,
         seHdpmCircuitSummaryAveVoltsRms     Integer32,
         seHdpmCircuitSummaryTotalAmpsRms    Integer32,
         seHdpmCircuitSummaryAvePF           Integer32,
         seHdpmCircuitSummaryTotalWatts      Integer32,
         seHdpmCircuitSummaryTotalWh         Integer32,
         seHdpmCircuitSummaryAveAmpsRms      Integer32
      }

seHdpmCircuitSummaryIndex OBJECT-TYPE
      SYNTAX      ChannelSummaryIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the channel (branch circuit) summary. This is a
         number in the range of 1..N.  Each subsequent summary will be assigned
         the next index value."
      ::= { seHdpmCircuitSummaryEntry 1 }

seHdpmCircuitSummaryPhasesNumber OBJECT-TYPE
      SYNTAX      ChannelSummaryPhaseIndex
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of phases in a circuit summary. Includes Neutral if supported"
      ::= { seHdpmCircuitSummaryEntry 2 }

seHdpmCircuitSummaryAveVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of the RMS Voltage samples in units of tenths of a volt. Divided
         by the value of seHdpmSystemVoltsScale (ie. when VoltsScale=100, this counter
         is in units of 10 volts)."
      ::= { seHdpmCircuitSummaryEntry 3 }

seHdpmCircuitSummaryTotalAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Total of RMS current on all circuits in units of milliamps."
      ::= { seHdpmCircuitSummaryEntry 4 }

seHdpmCircuitSummaryAvePF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of the PF on all circuits (power factor * 1000)."
      ::= { seHdpmCircuitSummaryEntry 5 }

seHdpmCircuitSummaryTotalWatts OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of watts on all circuits. Unit is Watts"
      ::= { seHdpmCircuitSummaryEntry 6 }

seHdpmCircuitSummaryTotalWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Real Energy (watt hours, Ph) in units of watt hours divided
         by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 watt hours)."
      ::= { seHdpmCircuitSummaryEntry 7 }

seHdpmCircuitSummaryAveAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Avg of RMS current across the phases in a summary, in units of milliamps."
      ::= { seHdpmCircuitSummaryEntry 8 }

SeHdpmCircuitSummaryPhaseEntry ::=
      SEQUENCE {
         seHdpmCircuitSummaryPhaseIndex       CircuitSummaryPhaseIndex,
         seHdpmCircuitSummaryPhaseVoltsRms    Integer32,
         seHdpmCircuitSummaryPhaseAmpsRms     Integer32,
         seHdpmCircuitSummaryPhasePF          Integer32,
         seHdpmCircuitSummaryPhaseWatt        Integer32,
         seHdpmCircuitSummaryPhaseWh          Integer32
      }

seHdpmCircuitSummaryPhaseIndex OBJECT-TYPE
      SYNTAX      CircuitSummaryPhaseIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the phase. This is a number in the
         range of 1..4. A value of 4 is the neutral phase."
      ::= { seHdpmCircuitSummaryPhaseEntry 1 }

seHdpmCircuitSummaryPhaseVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of VoltsRms in units of tenths of a volt divided by the
         value of seHdpmSystemVoltsScale (ie. when VoltsScale=100, this counter is in
         units of 10 volts)."
      ::= { seHdpmCircuitSummaryPhaseEntry 2 }

seHdpmCircuitSummaryPhaseAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of the currents on all channels on a single phase in units of milliamps."
      ::= { seHdpmCircuitSummaryPhaseEntry 3 }

seHdpmCircuitSummaryPhasePF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average power factor * 1000 of the channels on a single phase."
      ::= { seHdpmCircuitSummaryPhaseEntry 4 }

seHdpmCircuitSummaryPhaseWatt OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Total watts on all channels associated with a single phase in units of watts."
      ::= { seHdpmCircuitSummaryPhaseEntry 5 }

seHdpmCircuitSummaryPhaseWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Real Energy (watt hours, Ph) for all channels in units
         of watt hours divided by the value of seHdpmSystemEnergyScale (ie. when
         EnergyScale=10, this counter is in units of 10 watt hours)."
      ::= { seHdpmCircuitSummaryPhaseEntry 6 }


--
-- DC sources
--

seHdpmDCMeterNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of DC sources in the system.  This is a number in the range of 1..N."
      ::= { seHdpmDCMeters 1 }

seHdpmDCMeterTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDCMeterEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of DC sources in the system."
      ::= { seHdpmDCMeters 2 }

seHdpmDCMeterEntry OBJECT-TYPE
      SYNTAX      SeHdpmDCMeterEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single DC source in the system."
      INDEX       { seHdpmDCMeterIndex }
      ::= { seHdpmDCMeterTable 1 }

SeHdpmDCMeterEntry ::=
      SEQUENCE {
         seHdpmDCMeterIndex           DCMeterIndex,
         seHdpmDCMeterV               Integer32
      }

seHdpmDCMeterIndex OBJECT-TYPE
      SYNTAX      DCMeterIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the DC source. This is a number in the range of 1..N.
         Each subsequent source will be assigned the next index value."
      ::= { seHdpmDCMeterEntry 1 }

seHdpmDCMeterV OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of V samples in tenths of a volt."
      ::= { seHdpmDCMeterEntry 2 }


--
-- DryContact sources
--

seHdpmDryContactsNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of dry contact modules in the system.  This is a number in
         the range of 1..N."
      ::= { seHdpmDryContacts 1 }

seHdpmDryContactTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDryContactEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of dry contact modules in the system."
      ::= { seHdpmDryContacts 2 }

seHdpmDryContactEntry OBJECT-TYPE
      SYNTAX      SeHdpmDryContactEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single dry contact module in the system."
      INDEX       { seHdpmDryContactIndex }
      ::= { seHdpmDryContactTable 1 }

SeHdpmDryContactEntry ::=
      SEQUENCE {
         seHdpmDryContactIndex           DryContactIndex,
         seHdpmDryContactV               Integer32,
         seHdpmDryContactAmpsRms         Integer32,
         seHdpmDryContactDigIn           Integer32
      }

seHdpmDryContactIndex OBJECT-TYPE
      SYNTAX      DryContactIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the dry contact module. This is a number in the
         range of 1..N.  Each subsequent source will be assigned the next index value."
      ::= { seHdpmDryContactEntry 1 }

seHdpmDryContactV OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of V samples in hundredths of a volt."
      ::= { seHdpmDryContactEntry 2 }

seHdpmDryContactAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of AmpsRms samples in hundredths of an amp."
      ::= { seHdpmDryContactEntry 3 }

seHdpmDryContactDigIn OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Bitfield of dry contact module's digital inputs."
      ::= { seHdpmDryContactEntry 4 }


--
-- Volts/Amps/Watts tables.
-- Fast access to instantaneous parameters. Particularly useful with fast update rates.
--

seHdpmCircuitVoltsAmpsWatts      OBJECT IDENTIFIER ::= { seHdpmVoltsAmpsWatts 1 }
seHdpmMeterPhaseVoltsAmpsWatts   OBJECT IDENTIFIER ::= { seHdpmVoltsAmpsWatts 2 }

--
-- Volts/Amps/Watts table by Circuit
--

seHdpmCircuitVoltsAmpsWattsCount OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This is a number in the range of 1..N, the number of branch circuits
         (channels) in the system.  This is the sum of all circuits across all
         modules in the system.  The total number of channels is related to module
         capacity vs. connected circuits.  That is, if a module has 21 channels
         on it but only one channel is attached to a CT, the module will
         still report 21 channels (single phase branch circuits)."
      ::= { seHdpmCircuitVoltsAmpsWatts 1 }

seHdpmCircuitVoltsAmpsWattsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmCircuitVoltsAmpsWattsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of circuits in the system."
      ::= { seHdpmCircuitVoltsAmpsWatts 2 }

seHdpmCircuitVoltsAmpsWattsEntry OBJECT-TYPE
      SYNTAX      SeHdpmCircuitVoltsAmpsWattsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single circuit in the system."
      INDEX       { seHdpmCircuitVoltsAmpsWattsIndex }
      ::= { seHdpmCircuitVoltsAmpsWattsTable 1 }

SeHdpmCircuitVoltsAmpsWattsEntry ::=
      SEQUENCE {
         seHdpmCircuitVoltsAmpsWattsIndex              ChannelIndex,
         seHdpmCircuitVoltsRMS                         Integer32,
         seHdpmCircuitAmpsRMS                          Integer32,
         seHdpmCircuitWatts                            Integer32
      }

seHdpmCircuitVoltsAmpsWattsIndex OBJECT-TYPE
      SYNTAX      ChannelIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the circuit. This is a number in the
         range of 1..N where N is the total number of circuits.  Each
         subsequent circuit will be assigned the next index value."
      ::= { seHdpmCircuitVoltsAmpsWattsEntry 1 }

seHdpmCircuitVoltsRMS OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Volts RMS in tenths of a volt divided by the value of seHdpmSystemVoltsScale
         (ie. when VoltsScale=100, this counter is in units of 10 volts)."
      ::= { seHdpmCircuitVoltsAmpsWattsEntry 2 }

seHdpmCircuitAmpsRMS OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Amps RMS in hundredths of an amp divided by the value of seHdpmSystemAmpsScale
         (ie. when AmpsScale=10, this counter is in units of tenths of an amp)."
      ::= { seHdpmCircuitVoltsAmpsWattsEntry 3 }

seHdpmCircuitWatts OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Watts divided by the value of seHdpmSystemPowerScale (ie. when PowerScale=10,
         this counter is in units of 10 watts)."
      ::= { seHdpmCircuitVoltsAmpsWattsEntry 4 }


--
-- AC Meter Phase Volts Amps Watts
--

seHdpmMeterPhaseVoltsAmpsWattsNumber OBJECT-TYPE
      SYNTAX      PhaseIndex
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of phases in an AC Meter."
      ::= { seHdpmMeterPhaseVoltsAmpsWatts 1 }

seHdpmMeterPhaseVoltsAmpsWattsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmMeterPhaseVoltsAmpsWattsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of phases in the system."
      ::= { seHdpmMeterPhaseVoltsAmpsWatts 2 }

seHdpmMeterPhaseVoltsAmpsWattsEntry OBJECT-TYPE
      SYNTAX      SeHdpmMeterPhaseVoltsAmpsWattsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single phase in the system."
      INDEX       { seHdpmMeterPhaseVoltsAmpsWattsIndex }
      ::= { seHdpmMeterPhaseVoltsAmpsWattsTable 1 }

SeHdpmMeterPhaseVoltsAmpsWattsEntry ::=
      SEQUENCE {
         seHdpmMeterPhaseVoltsAmpsWattsIndex              PhaseIndex,
         seHdpmMeterPhaseVoltsRMS                         Integer32,
         seHdpmMeterPhaseAmpsRMS                          Integer32,
         seHdpmMeterPhaseWatts                            Integer32
      }

seHdpmMeterPhaseVoltsAmpsWattsIndex OBJECT-TYPE
      SYNTAX      PhaseIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the phase. This is a number in the
         range of 1..4. A value of 4 is the neutral phase."
      ::= { seHdpmMeterPhaseVoltsAmpsWattsEntry 1 }

seHdpmMeterPhaseVoltsRMS OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "VoltsRms in tenths of a volt divided by the value of seHdpmSystemVoltsScale
         (ie. when VoltsScale=100, this counter is in units of 10 volts)."
      ::= { seHdpmMeterPhaseVoltsAmpsWattsEntry 2 }

seHdpmMeterPhaseAmpsRMS OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "AmpsRms in milliamps."
      ::= { seHdpmMeterPhaseVoltsAmpsWattsEntry 3 }

seHdpmMeterPhaseWatts OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Watts."
      ::= { seHdpmMeterPhaseVoltsAmpsWattsEntry 4 }


--
-- The environmental sensors tables
--

seHdpmEnvironmentalSensorsNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of environmental sensors in the system."
      ::= { seHdpmEnvironmentalSensors 1 }

seHdpmEnvironmentalSensorTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmEnvironmentalSensorEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of environmental sensors in the system."
      ::= { seHdpmEnvironmentalSensors 2 }

seHdpmEnvironmentalSensorEntry OBJECT-TYPE
      SYNTAX      SeHdpmEnvironmentalSensorEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single environmental sensor."
      INDEX       { seHdpmEnvironmentalSensorIndex }
      ::= { seHdpmEnvironmentalSensorTable 1 }

SeHdpmEnvironmentalSensorEntry ::=
      SEQUENCE {
         seHdpmEnvironmentalSensorIndex              EnvironmentalSensorIndex,
         seHdpmEnvironmentalSensorID                 EnvironmentalSensorID,
         seHdpmEnvironmentalSensorTemperatureNumber  Counter32,
         seHdpmEnvironmentalSensorHumidityNumber     Counter32,
         seHdpmEnvironmentalSensorTAP                EnvironmentalSensorTAP,
         seHdpmEnvironmentalSensorPort               EnvironmentalSensorPort
      }

seHdpmEnvironmentalSensorIndex OBJECT-TYPE
      SYNTAX      EnvironmentalSensorIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the environmental sensor. This is a number in the
         range of 1..N where N is the total number of sensors.  Each
         subsequent sensor will be assigned the next index value."
      ::= { seHdpmEnvironmentalSensorEntry 1 }

seHdpmEnvironmentalSensorID OBJECT-TYPE
      SYNTAX      EnvironmentalSensorID
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "D1W ID of the environmental sensor."
      ::= { seHdpmEnvironmentalSensorEntry 2 }

seHdpmEnvironmentalSensorTemperatureNumber OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of temperature data points provided by the environmental sensor."
      ::= { seHdpmEnvironmentalSensorEntry 3 }

seHdpmEnvironmentalSensorHumidityNumber OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of humidity data points provided by the environmental sensor."
      ::= { seHdpmEnvironmentalSensorEntry 4 }

seHdpmEnvironmentalSensorTAP OBJECT-TYPE
      SYNTAX      EnvironmentalSensorTAP
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Host TAP ID of the environmental sensor."
      ::= { seHdpmEnvironmentalSensorEntry 5 }

seHdpmEnvironmentalSensorPort OBJECT-TYPE
      SYNTAX      EnvironmentalSensorPort
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Host port of the environmental sensor."
      ::= { seHdpmEnvironmentalSensorEntry 6 }



seHdpmEnvironmentalTemperatureDataPointsNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of temperature data points per sensor."
      ::= { seHdpmEnvironmentalSensors 3 }

seHdpmEnvironmentalTemperatureTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmEnvironmentalTemperatureEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of environmental temperature data points."
      ::= { seHdpmEnvironmentalSensors 4 }

seHdpmEnvironmentalTemperatureEntry OBJECT-TYPE
      SYNTAX      SeHdpmEnvironmentalTemperatureEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single environmental temperature data point."
      INDEX       { seHdpmEnvironmentalTemperatureIndex }
      ::= { seHdpmEnvironmentalTemperatureTable 1 }

SeHdpmEnvironmentalTemperatureEntry ::=
      SEQUENCE {
         seHdpmEnvironmentalTemperatureIndex         EnvironmentalTemperatureIndex,
         seHdpmEnvironmentalTemperatureSensorID      EnvironmentalSensorID,
         seHdpmEnvironmentalSensorTemperatureIndex   Integer32,
         seHdpmTemperature                           Integer32
      }

seHdpmEnvironmentalTemperatureIndex OBJECT-TYPE
      SYNTAX      EnvironmentalTemperatureIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the environmental temperature data point."
      ::= { seHdpmEnvironmentalTemperatureEntry 1 }

seHdpmEnvironmentalTemperatureSensorID OBJECT-TYPE
      SYNTAX      EnvironmentalSensorID
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "D1W ID of the environmental sensor."
      ::= { seHdpmEnvironmentalTemperatureEntry 2 }

seHdpmEnvironmentalSensorTemperatureIndex OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Index of sensor's temperature data points 1-N where N is
          the number of temperature data points provided by the sensor."
      ::= { seHdpmEnvironmentalTemperatureEntry 3 }

seHdpmTemperature OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Temperature in tenths of a Celsius."
      ::= { seHdpmEnvironmentalTemperatureEntry 4 }



seHdpmEnvironmentalHumidityDataPointsNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of temperature data points per sensor."
      ::= { seHdpmEnvironmentalSensors 5 }

seHdpmEnvironmentalHumidityTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmEnvironmentalHumidityEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of environmental temperature data points."
      ::= { seHdpmEnvironmentalSensors 6 }

seHdpmEnvironmentalHumidityEntry OBJECT-TYPE
      SYNTAX      SeHdpmEnvironmentalHumidityEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single environmental temperature data point."
      INDEX       { seHdpmEnvironmentalHumidityIndex }
      ::= { seHdpmEnvironmentalHumidityTable 1 }

SeHdpmEnvironmentalHumidityEntry ::=
      SEQUENCE {
         seHdpmEnvironmentalHumidityIndex            EnvironmentalHumidityIndex,
         seHdpmEnvironmentalHumiditySensorID         EnvironmentalSensorID,
         seHdpmEnvironmentalSensorHumidityIndex      Integer32,
         seHdpmHumidity                              Integer32
      }

seHdpmEnvironmentalHumidityIndex OBJECT-TYPE
      SYNTAX      EnvironmentalHumidityIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the environmental temperature data point."
      ::= { seHdpmEnvironmentalHumidityEntry 1 }

seHdpmEnvironmentalHumiditySensorID OBJECT-TYPE
      SYNTAX      EnvironmentalSensorID
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "D1W ID of the environmental sensor."
      ::= { seHdpmEnvironmentalHumidityEntry 2 }

seHdpmEnvironmentalSensorHumidityIndex OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Index of sensor's humidity data points 1-N where N is
          the number of humidity data points provided by the sensor."
      ::= { seHdpmEnvironmentalHumidityEntry 3 }

seHdpmHumidity OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Humidity in tenths of a percent."
      ::= { seHdpmEnvironmentalHumidityEntry 4 }


--
-- Circuits
--

seHdpmCircuitsNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of circuits in the system. This is a number in the range of 1..N."
      ::= { seHdpmCircuits 1 }

seHdpmCircuitTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmCircuitEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of circuits in the system. Each circuit is composed from one to three channels (branch circuits)."
      ::= { seHdpmCircuits 2 }

seHdpmCircuitPhaseTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmCircuitPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of phases in the circuit."
      ::= { seHdpmCircuits 3 }

seHdpmCircuitEntry OBJECT-TYPE
      SYNTAX      SeHdpmCircuitEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single circuit summary in the group."
      INDEX       { seHdpmCircuitIndex }
      ::= { seHdpmCircuitTable 1 }

seHdpmCircuitPhaseEntry OBJECT-TYPE
      SYNTAX      SeHdpmCircuitPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single phase in the circuit."
      INDEX       { seHdpmCircuitIndex,
                    seHdpmCircuitPhaseIndex }
      ::= { seHdpmCircuitPhaseTable 1 }

SeHdpmCircuitEntry ::=
      SEQUENCE {
         seHdpmCircuitIndex           CircuitSummaryIndex,
         seHdpmCircuitNumber          Integer32,
         seHdpmCircuitNumPhases       Integer32,
         seHdpmCircuitAveVoltsRms     Integer32,
         seHdpmCircuitSumAmpsRms      Integer32,
         seHdpmCircuitPF              Integer32,
         seHdpmCircuitSumWatts        Integer32,
         seHdpmCircuitSumVAR          Integer32,
         seHdpmCircuitSumVA           Integer32,
         seHdpmCircuitAveTHDi         Integer32,
         seHdpmCircuitTotalWh         Integer32,
         seHdpmCircuitAveAmpsRms      Integer32,
         seHdpmCircuitAveVLLRMS       Integer32,
         seHdpmCircuitSumWattMax      Integer32,
         seHdpmCircuitSumWattMaxTime  DateAndTime
      }

seHdpmCircuitIndex OBJECT-TYPE
      SYNTAX      CircuitSummaryIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the circuit summary. This is a number in the
         range of 1..N.  Each subsequent summary will be assigned the next index value."
      ::= { seHdpmCircuitEntry 1 }

seHdpmCircuitNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The unique group number assigned to the channels (branch circuits)
         forming the group."
      ::= { seHdpmCircuitEntry 2 }

seHdpmCircuitNumPhases OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of phases (channels) in each circuit."
      ::= { seHdpmCircuitEntry 3 }

seHdpmCircuitAveVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average of Volts RMS of the phases assigned to a circuit. In units of
         tenths of a volt divided by the value of seHdpmSystemVoltsScale (ie. when
         VoltsScale=100, this counter is in units of 10 volts)."
      ::= { seHdpmCircuitEntry 4 }

seHdpmCircuitSumAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of the phase currents in a circuit, in units of millamps."
      ::= { seHdpmCircuitEntry 5 }

seHdpmCircuitPF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "PF (power factor * 1000) for the entire circuit."
      ::= { seHdpmCircuitEntry 6 }

seHdpmCircuitSumWatts OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of watts (Real Power) for the phases in a circuit, in units of watts."
      ::= { seHdpmCircuitEntry 7 }

seHdpmCircuitSumVAR OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of VAR (Reactive Power) for the phases in a circuit, in units of VAR."
      ::= { seHdpmCircuitEntry 8 }

seHdpmCircuitSumVA OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Sum of VA (Apparent Power) for the phases in a circuit, in units of VA."
      ::= { seHdpmCircuitEntry 9 }

seHdpmCircuitAveTHDi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average current harmonic distortion for the phases in a circuit."
      ::= { seHdpmCircuitEntry 10 }

seHdpmCircuitTotalWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total accumulated Reak Energy (watt hours, Ph) for the phases
         in a circuit. In units of watt hours divided by the value of
         seHdpmSystemEnergyScale (ie. when EnergyScale=10, this counter is in
         units of 10 watt hours)."
      ::= { seHdpmCircuitEntry 11 }

seHdpmCircuitAveAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average current for the phases in a circuit. In units of milliamps."
      ::= { seHdpmCircuitEntry 12 }

seHdpmCircuitAveVLLRMS OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Average Line to Line Voltage for the phases in a circuit. In tenths
         of a volt divided by the value of seHdpmSystemVoltsScale (ie. when VoltsScale=100,
         this counter is in units of 10 volts)."
      ::= { seHdpmCircuitEntry 13 }

seHdpmCircuitSumWattMax OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Maximum sum of watts for the phases in a circuit."
      ::= { seHdpmCircuitEntry 14 }

seHdpmCircuitSumWattMaxTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Time of the Maximum sum of watts for the phases in a circuit."
      ::= { seHdpmCircuitEntry 15 }

SeHdpmCircuitPhaseEntry ::=
      SEQUENCE {
         seHdpmCircuitPhaseIndex       CircuitSummaryPhaseIndex,
         seHdpmCircuitPhaseCircuitNumber Integer32,
         seHdpmCircuitPhaseNumber      INTEGER,
         seHdpmCircuitPhaseVoltsRms    Integer32,
         seHdpmCircuitPhaseAmpsRms     Integer32,
         seHdpmCircuitPhasePF          Integer32,
         seHdpmCircuitPhaseWatt        Integer32,
         seHdpmCircuitPhaseVAR         Integer32,
         seHdpmCircuitPhaseVA          Integer32,
         seHdpmCircuitPhaseTHDi        Integer32,
         seHdpmCircuitPhaseWh          Integer32,
         seHdpmCircuitPhaseVLLRMS      Integer32,
         seHdpmCircuitPhaseWattMax     Integer32,
         seHdpmCircuitPhaseWattMaxTime DateAndTime
      }

seHdpmCircuitPhaseIndex OBJECT-TYPE
      SYNTAX      CircuitSummaryPhaseIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the phase. This is a number in the
         range of 1..4. A value of 4 is the neutral phase."
      ::= { seHdpmCircuitPhaseEntry 1 }

seHdpmCircuitPhaseCircuitNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The unique group number assigned to the circuits forming the group."
      ::= { seHdpmCircuitPhaseEntry 2 }

seHdpmCircuitPhaseNumber OBJECT-TYPE
      SYNTAX      INTEGER {
                     notConnected(0),
                     phase1(1),
                     phase2(2),
                     phase3(3),
                     neutral(4),
                     phase12(12),
                     phase23(23),
                     phase31(31)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The phase this circuit is connected to.  Possible values are: 0..4
         where a value of 0 indicates that the circuit is not connected."
      ::= { seHdpmCircuitPhaseEntry 3 }

seHdpmCircuitPhaseVoltsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Line to Neutral RMS Volts for the voltage phase associated with a channel.
         In units of tenths of a volt divided by the value of seHdpmSystemVoltsScale
         (ie. when VoltsScale=100, this counter is in units of 10 volts)."
      ::= { seHdpmCircuitPhaseEntry 4 }

seHdpmCircuitPhaseAmpsRms OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "RMS current for a channel in units of milliamps."
      ::= { seHdpmCircuitPhaseEntry 5 }

seHdpmCircuitPhasePF OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Power Factor for a channel (power factor * 1000)."
      ::= { seHdpmCircuitPhaseEntry 6 }

seHdpmCircuitPhaseWatt OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Watts for a channel."
      ::= { seHdpmCircuitPhaseEntry 7 }

seHdpmCircuitPhaseVAR OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Reactive Power (Q) in VAR for a channel."
      ::= { seHdpmCircuitPhaseEntry 8 }

seHdpmCircuitPhaseVA OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Apparent Power (S) in VA for a channel."
      ::= { seHdpmCircuitPhaseEntry 9 }

seHdpmCircuitPhaseTHDi OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Current Total Harmonic Distortion (THDi)."
      ::= { seHdpmCircuitPhaseEntry 10 }

seHdpmCircuitPhaseWh OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The accumulated Real Energy (watt hours, Ph) in units of watt hours
         divided by the value of seHdpmSystemEnergyScale (ie. when EnergyScale=10,
         this counter is in units of 10 watt hours)."
      ::= { seHdpmCircuitPhaseEntry 11 }

seHdpmCircuitPhaseVLLRMS OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "RMS Line to Line Volts in tenths of a volt divided by the
         value of seHdpmSystemVoltsScale (ie. when VoltsScale=100, this counter is in
         units of 10 volts). Phases are V12, V23, V31"
      ::= { seHdpmCircuitPhaseEntry 12 }

seHdpmCircuitPhaseWattMax OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Maximum watt sample seen."
      ::= { seHdpmCircuitPhaseEntry 13 }

seHdpmCircuitPhaseWattMaxTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Time of maximum watt sample seen."
      ::= { seHdpmCircuitPhaseEntry 14 }

--
-- Demand data
--

seHdpmDemandInterval OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "minutes"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The demand block interval"
      ::= { seHdpmDemand 1 }

seHdpmDemandSubinterval OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The demand subinterval"
      ::= { seHdpmDemand 2 }

seHdpmDemandLastInterval OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "minutes"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The demand block interval used with the last demand reading"
      ::= { seHdpmDemand 3 }

seHdpmDemandLastSubinterval OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The demand subinterval used with the last demand reading"
      ::= { seHdpmDemand 4 }

seHdpmDemandLastTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the last demand reading"
      ::= { seHdpmDemand 5 }

seHdpmDemandACMetersPhaseTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDemandACMetersPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Table of Demand for individual phases of AC Meters in the system. The
         first three entries are the Head Unit PQM"
      ::= { seHdpmDemand 6 }

seHdpmDemandACMetersPhaseEntry OBJECT-TYPE
      SYNTAX      SeHdpmDemandACMetersPhaseEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Demand for a individual phase of an AC Meters in the system. The first
         three entries are the Head Unit PQM"
      INDEX       { seHdpmDemandACMeterPhaseIndex }
      ::= { seHdpmDemandACMetersPhaseTable 1 }

seHdpmDemandACMetersTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDemandACMetersEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Demand for 3 phase AC Meters in the system. The first entry is the
         Head Unit PQM total demand."
      ::= { seHdpmDemand 7 }

seHdpmDemandACMetersEntry OBJECT-TYPE
      SYNTAX      SeHdpmDemandACMetersEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Demand for the 3 phase AC Meters in the system. The first entry is
         the Head Unit PQM"
      INDEX       { seHdpmDemandACMeterIndex }
      ::= { seHdpmDemandACMetersTable 1 }

seHdpmDemandACMetersPhasePeakTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDemandACMetersPhasePeakEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Table of Timestamped Peak demand for individual AC meters phases.
         The first group of three entries are the Head Unit PQM phases 1, 2 and 3."
      ::= { seHdpmDemand 8 }

seHdpmDemandACMetersPhasePeakEntry OBJECT-TYPE
      SYNTAX      SeHdpmDemandACMetersPhasePeakEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Entry of Timestamped Peak demand for an individual AC meters phase. The
         first group of three phases is the Head Unit PQM phases 1, 2 and 3."
      INDEX       { seHdpmDemandACMeterPhasePeakIndex }
      ::= { seHdpmDemandACMetersPhasePeakTable 1 }

seHdpmDemandACMetersPeakTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDemandACMetersPeakEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Table of Timestamped Peak demand for 3 phase AC meters. The first meter
         is the Head Unit PQM"
      ::= { seHdpmDemand 9 }

seHdpmDemandACMetersPeakEntry OBJECT-TYPE
      SYNTAX      SeHdpmDemandACMetersPeakEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Entry of Timestamped Peak demand for 3 phase AC meters. The first meter
         is the Head Unit PQM"
      INDEX       { seHdpmDemandACMeterPeakIndex }
      ::= { seHdpmDemandACMetersPeakTable 1 }

seHdpmDemandCircuitTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDemandCircuitEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Table of Demands for Circuits in the system. Each Circuit is composed of
         one or more Branch Circuits (Module Channels)."
      ::= { seHdpmDemand 10 }

seHdpmDemandCircuitEntry OBJECT-TYPE
      SYNTAX      SeHdpmDemandCircuitEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Entry of Demands for a Circuit in the system. Each Circuit is composed of
         one or more Branch Circuits (Module Channels)."
      INDEX       { seHdpmDemandCircuitIndex }
      ::= { seHdpmDemandCircuitTable 1 }

SeHdpmDemandACMetersPhaseEntry ::=
      SEQUENCE {
         seHdpmDemandACMeterPhaseIndex               DemandIndex,
         seHdpmDemandACMeterPhaseRealPowerAvg        Integer32,
         seHdpmDemandACMeterPhaseRealPowerMin        Integer32,
         seHdpmDemandACMeterPhaseRealPowerMax        Integer32,
         seHdpmDemandACMeterPhaseApparentPowerAvg    Integer32,
         seHdpmDemandACMeterPhaseApparentPowerMin    Integer32,
         seHdpmDemandACMeterPhaseApparentPowerMax    Integer32,
         seHdpmDemandACMeterPhaseReactivePowerAvg    Integer32,
         seHdpmDemandACMeterPhaseReactivePowerMin    Integer32,
         seHdpmDemandACMeterPhaseReactivePowerMax    Integer32,
         seHdpmDemandACMeterPhaseCurrentAvg          Integer32,
         seHdpmDemandACMeterPhaseCurrentMin          Integer32,
         seHdpmDemandACMeterPhaseCurrentMax          Integer32,
         seHdpmDemandACMeterPhaseVLNMin              Integer32,
         seHdpmDemandACMeterPhaseVLNMax              Integer32,
         seHdpmDemandACMeterPhaseVLNAvg              Integer32,
         seHdpmDemandACMeterPhaseVLLMin              Integer32,
         seHdpmDemandACMeterPhaseVLLMax              Integer32,
         seHdpmDemandACMeterPhaseVLLAvg              Integer32
      }

seHdpmDemandACMeterPhaseIndex OBJECT-TYPE
      SYNTAX      DemandIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for each entry. This is a number in the
         range of 1..N where N is the total number of entries.  Each
         subsequent entry will be assigned the next index value."
      ::= { seHdpmDemandACMetersPhaseEntry 1 }

seHdpmDemandACMeterPhaseRealPowerAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Real Power (P) in Watts on a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 2 }

seHdpmDemandACMeterPhaseRealPowerMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum Real Power (P) in Watts for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 3 }

seHdpmDemandACMeterPhaseRealPowerMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum Real Power (P) in Watts for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 4 }

seHdpmDemandACMeterPhaseApparentPowerAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VA"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Apparent Power (S) in VAs for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 5 }

seHdpmDemandACMeterPhaseApparentPowerMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VA"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum Apparent Power (S) in VAs for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 6 }

seHdpmDemandACMeterPhaseApparentPowerMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VA"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum Apparent Power (S) in VAs for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 7 }

seHdpmDemandACMeterPhaseReactivePowerAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VAR"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Reactive Power (Q) in VAR for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 8 }

seHdpmDemandACMeterPhaseReactivePowerMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VAR"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum Reactive Power (Q) in VAR for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 9 }

seHdpmDemandACMeterPhaseReactivePowerMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VAR"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum Reactive Power (Q) in VAR for a channel"
      ::= { seHdpmDemandACMetersPhaseEntry 10 }

seHdpmDemandACMeterPhaseCurrentAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "A"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average current"
      ::= { seHdpmDemandACMetersPhaseEntry 11 }

seHdpmDemandACMeterPhaseCurrentMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "A"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum current"
      ::= { seHdpmDemandACMetersPhaseEntry 12 }

seHdpmDemandACMeterPhaseCurrentMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "A"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum current"
      ::= { seHdpmDemandACMetersPhaseEntry 13 }

seHdpmDemandACMeterPhaseVLNMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "V"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum Line to Neutral Voltage"
      ::= { seHdpmDemandACMetersPhaseEntry 14 }

seHdpmDemandACMeterPhaseVLNMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "V"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum Line to Neutral Voltage"
      ::= { seHdpmDemandACMetersPhaseEntry 15 }

seHdpmDemandACMeterPhaseVLNAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "V"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Line to Neutral Voltage"
      ::= { seHdpmDemandACMetersPhaseEntry 16 }

seHdpmDemandACMeterPhaseVLLMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "V"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum Line to Line Voltage"
      ::= { seHdpmDemandACMetersPhaseEntry 17 }

seHdpmDemandACMeterPhaseVLLMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "V"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum Line to Line Voltage"
      ::= { seHdpmDemandACMetersPhaseEntry 18 }

seHdpmDemandACMeterPhaseVLLAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "V"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Line to Line Voltage"
      ::= { seHdpmDemandACMetersPhaseEntry 19 }

SeHdpmDemandACMetersEntry ::=
      SEQUENCE {
         seHdpmDemandACMeterIndex               DemandIndex,
         seHdpmDemandACMeterRealPowerAvg        Integer32,
         seHdpmDemandACMeterRealPowerMin        Integer32,
         seHdpmDemandACMeterRealPowerMax        Integer32,
         seHdpmDemandACMeterApparentPowerAvg    Integer32,
         seHdpmDemandACMeterApparentPowerMin    Integer32,
         seHdpmDemandACMeterApparentPowerMax    Integer32,
         seHdpmDemandACMeterReactivePowerAvg    Integer32,
         seHdpmDemandACMeterReactivePowerMin    Integer32,
         seHdpmDemandACMeterReactivePowerMax    Integer32,
         seHdpmDemandACMeterCurrentAvg          Integer32,
         seHdpmDemandACMeterCurrentMin          Integer32,
         seHdpmDemandACMeterCurrentMax          Integer32
      }

seHdpmDemandACMeterIndex OBJECT-TYPE
      SYNTAX      DemandIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for each entry. This is a number in the
         range of 1..N where N is the total number of entries.  Each
         subsequent entry will be assigned the next index value."
      ::= { seHdpmDemandACMetersEntry 1 }

seHdpmDemandACMeterRealPowerAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total average Real Power (P) in Watts"
      ::= { seHdpmDemandACMetersEntry 2 }

seHdpmDemandACMeterRealPowerMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total minimum Real Power (P) in Watts"
      ::= { seHdpmDemandACMetersEntry 3 }

seHdpmDemandACMeterRealPowerMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total maximum Real Power (P) in Watts"
      ::= { seHdpmDemandACMetersEntry 4 }

seHdpmDemandACMeterApparentPowerAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VA"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total average Apparent Power (S) in VAs"
      ::= { seHdpmDemandACMetersEntry 5 }

seHdpmDemandACMeterApparentPowerMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VA"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total minimum Apparent Power (S) in VAs"
      ::= { seHdpmDemandACMetersEntry 6 }

seHdpmDemandACMeterApparentPowerMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VA"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The total maximum Apparent Power (S) in VAs"
      ::= { seHdpmDemandACMetersEntry 7 }

seHdpmDemandACMeterReactivePowerAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VAR"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Reactive Power (Q) in VAR"
      ::= { seHdpmDemandACMetersEntry 8 }

seHdpmDemandACMeterReactivePowerMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VAR"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum Reactive Power (Q) in VAR"
      ::= { seHdpmDemandACMetersEntry 9 }

seHdpmDemandACMeterReactivePowerMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "VAR"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum Reactive Power (Q) in VAR"
      ::= { seHdpmDemandACMetersEntry 10 }

seHdpmDemandACMeterCurrentAvg OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "A"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average current"
      ::= { seHdpmDemandACMetersEntry 11 }

seHdpmDemandACMeterCurrentMin OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "A"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The minimum current"
      ::= { seHdpmDemandACMetersEntry 12 }

seHdpmDemandACMeterCurrentMax OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "A"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The maximum current"
      ::= { seHdpmDemandACMetersEntry 13 }

SeHdpmDemandACMetersPhasePeakEntry ::=
      SEQUENCE {
         seHdpmDemandACMeterPhasePeakIndex                DemandIndex,
			seHdpmDemandACMeterPhasePeakTime              DateAndTime,
			seHdpmDemandACMeterPhasePeakPower             Integer32,
			seHdpmDemandACMeterPhasePeakDailyTime         DateAndTime,
			seHdpmDemandACMeterPhasePeakDailyPower        Integer32
      }

seHdpmDemandACMeterPhasePeakIndex OBJECT-TYPE
      SYNTAX      DemandIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for each entry. This is a number in the
         range of 1..N where N is the total number of phases.  Each
         subsequent entry will be assigned the next index value."
      ::= { seHdpmDemandACMetersPhasePeakEntry 1 }

seHdpmDemandACMeterPhasePeakTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the peak power"
      ::= { seHdpmDemandACMetersPhasePeakEntry 2 }

seHdpmDemandACMeterPhasePeakPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The peak Real Power (P) in Watts"
      ::= { seHdpmDemandACMetersPhasePeakEntry 3 }

seHdpmDemandACMeterPhasePeakDailyTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the daily peak Real Power"
      ::= { seHdpmDemandACMetersPhasePeakEntry 4 }

seHdpmDemandACMeterPhasePeakDailyPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The daily peak real power (P) in watts"
      ::= { seHdpmDemandACMetersPhasePeakEntry 5 }

SeHdpmDemandACMetersPeakEntry ::=
      SEQUENCE {
         seHdpmDemandACMeterPeakIndex               DemandIndex,
			seHdpmDemandACMeterPeakTime             DateAndTime,
			seHdpmDemandACMeterPeakPower            Integer32,
			seHdpmDemandACMeterPeakDailyTime        DateAndTime,
			seHdpmDemandACMeterPeakDailyPower       Integer32
      }

seHdpmDemandACMeterPeakIndex OBJECT-TYPE
      SYNTAX      DemandIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for each entry. This is a number in the
         range of 1..N where N is the total number of supplies.  Each
         subsequent entry will be assigned the next index value."
      ::= { seHdpmDemandACMetersPeakEntry 1 }

seHdpmDemandACMeterPeakTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the peak Real Power"
      ::= { seHdpmDemandACMetersPeakEntry 2 }

seHdpmDemandACMeterPeakPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The peak power"
      ::= { seHdpmDemandACMetersPeakEntry 3 }

seHdpmDemandACMeterPeakDailyTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the daily peak power"
      ::= { seHdpmDemandACMetersPeakEntry 4 }

seHdpmDemandACMeterPeakDailyPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The daily peak Real Power"
      ::= { seHdpmDemandACMetersPeakEntry 5 }

SeHdpmDemandCircuitEntry ::=
      SEQUENCE {
         seHdpmDemandCircuitIndex                 DemandIndex,
			seHdpmDemandCircuitPower              Integer32,
			seHdpmDemandCircuitPeakTime           DateAndTime,
			seHdpmDemandCircuitPeakPower          Integer32,
			seHdpmDemandCircuitPeakDailyTime      DateAndTime,
			seHdpmDemandCircuitPeakDailyPower     Integer32
      }

seHdpmDemandCircuitIndex OBJECT-TYPE
      SYNTAX      DemandIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for each entry. This is a number in the
         range of 1..N where N is the total number of circuits.  Each
         subsequent entry will be assigned the next index value."
      ::= { seHdpmDemandCircuitEntry 1 }

seHdpmDemandCircuitPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The average Real Power"
      ::= { seHdpmDemandCircuitEntry 2 }

seHdpmDemandCircuitPeakTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the peak Real Power"
      ::= { seHdpmDemandCircuitEntry 3 }

seHdpmDemandCircuitPeakPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The peak Real Power"
      ::= { seHdpmDemandCircuitEntry 4 }

seHdpmDemandCircuitPeakDailyTime OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The date and time of the daily peak power"
      ::= { seHdpmDemandCircuitEntry 5 }

seHdpmDemandCircuitPeakDailyPower OBJECT-TYPE
      SYNTAX      Integer32
      UNITS       "W"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The daily peak Real Power"
      ::= { seHdpmDemandCircuitEntry 6 }

--
-- Dry Input sources
--

seHdpmDryInputsNumber OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of dry input modules in the system.  This is a number in
         the range of 1..N."
      ::= { seHdpmDryInputs 1 }

seHdpmDryInputsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF SeHdpmDryInputsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A list of dry input modules in the system."
      ::= { seHdpmDryInputs 2 }

seHdpmDryInputsEntry OBJECT-TYPE
      SYNTAX      SeHdpmDryInputsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Information about a single dry input module in the system."
      INDEX       { seHdpmDryInputsIndex }
      ::= { seHdpmDryInputsTable 1 }

SeHdpmDryInputsEntry ::=
      SEQUENCE {
         seHdpmDryInputsIndex            DryInputsIndex,
         seHdpmDryInputBitMap            Integer32
      }

seHdpmDryInputsIndex OBJECT-TYPE
      SYNTAX      DryInputsIndex
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "A unique number for the dry input module. This is a number in the range
          of 1..N.  Each subsequent source will be assigned the next index value."
      ::= { seHdpmDryInputsEntry 1 }

seHdpmDryInputBitMap OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Bitfield of dry contact module's digital inputs."
      ::= { seHdpmDryInputsEntry 2 }


END
