--/********************* (c) 2010-2022 CyberPower System ***************************/
--
-- PROJECT: SNMP MIB FILE CONSTRUCTED
--
-- Version : 2.11
--
-- File Name: CPSMIB2022.mib
--
-- CREATION DATE : 11/18/2022
--
-- AUTHOR : Ryuk
--
--//////////////////////////////////////////////////////////////////////////////
--
-- DESCRIPTION : CPS Management Information Base(MIB)
--
--//////////////////////////////////////////////////////////////////////////////
--
--
--/****************************************************************************/
-- CPSMIB { iso org(3) dod(6) internet(1) private(4)
--          enterprises(1) cps(3808) }

CPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
   enterprises, Gauge, TimeTicks, IpAddress         FROM RFC1155-SMI
   DisplayString                                    FROM SNMPv2-TC
   OBJECT-TYPE                                      FROM RFC-1212
   TRAP-TYPE                                        FROM RFC-1215;


cps                            OBJECT IDENTIFIER ::=  { enterprises 3808 }

products                       OBJECT IDENTIFIER ::=  { cps 1 }
cpsmgmt                        OBJECT IDENTIFIER ::=  { cps 2 }

hardware                       OBJECT IDENTIFIER ::=  { products 1 }


mconfig                        OBJECT IDENTIFIER ::=  { cpsmgmt 1 }
mtrapinfo                      OBJECT IDENTIFIER ::=  { cpsmgmt 2 }
mcontrol                       OBJECT IDENTIFIER ::=  { cpsmgmt 3 }

ups                            OBJECT IDENTIFIER ::=  { hardware 1 }
eswitch                        OBJECT IDENTIFIER ::=  { hardware 2 }
ePDU                           OBJECT IDENTIFIER ::=  { hardware 3 }
environmentSensor              OBJECT IDENTIFIER ::=  { hardware 4 }
ats                            OBJECT IDENTIFIER ::=  { hardware 5 }
ePDU2                          OBJECT IDENTIFIER ::=  { hardware 6 }
battmgr                        OBJECT IDENTIFIER ::=  { hardware 7 }
environmentSensor2             OBJECT IDENTIFIER ::=  { hardware 8 }
currentProbe                   OBJECT IDENTIFIER ::=  { hardware 50 }

mconfigClock                   OBJECT IDENTIFIER ::=  { mconfig 5 }


upsIdent                       OBJECT IDENTIFIER ::=  { ups 1 }
upsBattery                     OBJECT IDENTIFIER ::=  { ups 2 }
upsInput                       OBJECT IDENTIFIER ::=  { ups 3 }
upsOutput                      OBJECT IDENTIFIER ::=  { ups 4 }
upsConfig                      OBJECT IDENTIFIER ::=  { ups 5 }
upsControl                     OBJECT IDENTIFIER ::=  { ups 6 }
upsTest                        OBJECT IDENTIFIER ::=  { ups 7 }
upsOutlet                      OBJECT IDENTIFIER ::=  { ups 8 }
upsPhase                       OBJECT IDENTIFIER ::=  { ups 9 }
upsSystem                      OBJECT IDENTIFIER ::=  { ups 10 }

upsBaseIdent                   OBJECT IDENTIFIER ::=  { upsIdent 1 }
upsAdvanceIdent                OBJECT IDENTIFIER ::=  { upsIdent 2 }

upsBaseBattery                 OBJECT IDENTIFIER ::=  { upsBattery 1 }
upsAdvanceBattery              OBJECT IDENTIFIER ::=  { upsBattery 2 }

upsBaseInput                   OBJECT IDENTIFIER ::=  { upsInput 1 }
upsAdvanceInput                OBJECT IDENTIFIER ::=  { upsInput 2 }

upsBaseOutput                  OBJECT IDENTIFIER ::=  { upsOutput 1 }
upsAdvanceOutput               OBJECT IDENTIFIER ::=  { upsOutput 2 }

upsBaseConfig                  OBJECT IDENTIFIER ::=  { upsConfig 1 }
upsAdvanceConfig               OBJECT IDENTIFIER ::=  { upsConfig 2 }

upsBaseControl                 OBJECT IDENTIFIER ::=  { upsControl 1 }
upsAdvanceControl              OBJECT IDENTIFIER ::=  { upsControl 2 }

upsBaseTest                    OBJECT IDENTIFIER ::=  { upsTest 1 }
upsAdvanceTest                 OBJECT IDENTIFIER ::=  { upsTest 2 }

upsBankOutletControl           OBJECT IDENTIFIER ::=  { upsOutlet 1 }
upsIndividualOutlet            OBJECT IDENTIFIER ::=  { upsOutlet 2 }

upsPhaseInput                  OBJECT IDENTIFIER ::=  { upsPhase 1 }
upsPhaseOutput                 OBJECT IDENTIFIER ::=  { upsPhase 2 }
upsPhaseBypass                 OBJECT IDENTIFIER ::=  { upsPhase 3 }

eSwitchIdent                   OBJECT IDENTIFIER ::=  { eswitch 1 }
eSwitchBase                    OBJECT IDENTIFIER ::=  { eswitch 2 }


ePDUIdent                      OBJECT IDENTIFIER ::=  { ePDU 1 }
ePDULoad                       OBJECT IDENTIFIER ::=  { ePDU 2 }
ePDUOutlet                     OBJECT IDENTIFIER ::=  { ePDU 3 }
ePDUPowerSupply                OBJECT IDENTIFIER ::=  { ePDU 4 }
ePDUStatus                     OBJECT IDENTIFIER ::=  { ePDU 5 }
 
ePDULoadDevice                 OBJECT IDENTIFIER ::=  { ePDULoad 1 }
ePDULoadPhaseConfig            OBJECT IDENTIFIER ::=  { ePDULoad 2 }    
ePDULoadStatus                 OBJECT IDENTIFIER ::=  { ePDULoad 3 }
ePDULoadBankConfig             OBJECT IDENTIFIER ::=  { ePDULoad 4 }    

ePDUOutletDevice               OBJECT IDENTIFIER ::=  { ePDUOutlet 1 }
ePDUOutletPhase                OBJECT IDENTIFIER ::=  { ePDUOutlet 2 }
ePDUOutletControl              OBJECT IDENTIFIER ::=  { ePDUOutlet 3 }
ePDUOutletConfig               OBJECT IDENTIFIER ::=  { ePDUOutlet 4 }    
ePDUOutletStatus               OBJECT IDENTIFIER ::=  { ePDUOutlet 5 }
ePDUOutletBank                 OBJECT IDENTIFIER ::=  { ePDUOutlet 6 }

ePDUPowerSupplyDevice          OBJECT IDENTIFIER ::=  { ePDUPowerSupply 1 }

envirIdent                     OBJECT IDENTIFIER ::=  { environmentSensor 1 }
envirTemp                      OBJECT IDENTIFIER ::=  { environmentSensor 2 }
envirHumid                     OBJECT IDENTIFIER ::=  { environmentSensor 3 }
envirContact                   OBJECT IDENTIFIER ::=  { environmentSensor 4 }

atsIdent                       OBJECT IDENTIFIER ::=  { ats 1 }
atsStatus                      OBJECT IDENTIFIER ::=  { ats 2 }
atsConfig                      OBJECT IDENTIFIER ::=  { ats 3 }
atsControl                     OBJECT IDENTIFIER ::=  { ats 4 }
atsLoad                        OBJECT IDENTIFIER ::=  { ats 5 }
atsOutlet                      OBJECT IDENTIFIER ::=  { ats 6 }

atsStatusDevice                OBJECT IDENTIFIER ::=  { atsStatus 1 }
atsStatusInput                 OBJECT IDENTIFIER ::=  { atsStatus 2 }

atsLoadDevice                 OBJECT IDENTIFIER ::=  { atsLoad 1 }
atsLoadStatus                 OBJECT IDENTIFIER ::=  { atsLoad 2 }
atsLoadConfig                 OBJECT IDENTIFIER ::=  { atsLoad 3 }

atsOutletDevice               OBJECT IDENTIFIER ::=  { atsOutlet 1 }

-- ePDU2 1 as Role OID. 
ePDU2Ident                     OBJECT IDENTIFIER ::= { ePDU2 2 }
ePDU2Device                    OBJECT IDENTIFIER ::= { ePDU2 3 }
ePDU2Phase                     OBJECT IDENTIFIER ::= { ePDU2 4 }
ePDU2Bank                      OBJECT IDENTIFIER ::= { ePDU2 5 }
ePDU2Outlet                    OBJECT IDENTIFIER ::= { ePDU2 6 }

ePDU2OutletSwitched						 OBJECT IDENTIFIER ::= { ePDU2Outlet 1 }
ePDU2OutletMetered						 OBJECT IDENTIFIER ::= { ePDU2Outlet 2 }
ePDU2OutletMonitored						 OBJECT IDENTIFIER ::= { ePDU2Outlet 3 }


ePDU2Group                     OBJECT IDENTIFIER ::= { ePDU2 8 }
ePDU2Source                    OBJECT IDENTIFIER ::= { ePDU2 9 }

bmIdent			  OBJECT IDENTIFIER ::=  { battmgr 1 }
bmProperty		OBJECT IDENTIFIER ::=  { battmgr 2 }
bmConfig			OBJECT IDENTIFIER ::=  { battmgr 3 }
bmControl			OBJECT IDENTIFIER ::=  { battmgr 4 }
bmProbes			OBJECT IDENTIFIER ::=  { battmgr 5 }
bmFuncRes		  OBJECT IDENTIFIER ::=  { battmgr 6 }
bmFuncEqual	  OBJECT IDENTIFIER ::=  { battmgr 7 }
bmStrings			OBJECT IDENTIFIER ::=  { battmgr 10 }
bmFuncShutdown	OBJECT IDENTIFIER ::=  { battmgr 20 }

bmFuncResMeasure		  			  OBJECT IDENTIFIER ::=  { bmFuncRes 1 }

envir2Ident                     OBJECT IDENTIFIER ::=  { environmentSensor2 1 }
envir2Temp                      OBJECT IDENTIFIER ::=  { environmentSensor2 2 }
envir2Humid                     OBJECT IDENTIFIER ::=  { environmentSensor2 3 }
envir2Contact                   OBJECT IDENTIFIER ::=  { environmentSensor2 4 }

currIdent                     OBJECT IDENTIFIER ::=  { currentProbe 1 }
currConfig                    OBJECT IDENTIFIER ::=  { currentProbe 2 }
currMeasure                   OBJECT IDENTIFIER ::=  { currentProbe 3 }

-- object types
-- the cpsmgmt group
-- the mconfig group
mconfigNumTrapAccepters OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of receivers to send traps to."
   ::= { mconfig 1 }

mconfigTrapAccepterTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MconfigTrapAccepterEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of receivers to send traps to. The numbers of
       entries are given by the value of mconfigNumTrapAccepters."
   ::= { mconfig 2 }

mconfigTrapAccepterEntry OBJECT-TYPE
   SYNTAX MconfigTrapAccepterEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The receivers to send traps to."
   INDEX  { trapIndex }
   ::= { mconfigTrapAccepterTable 1 }

MconfigTrapAccepterEntry ::=
   SEQUENCE {
      trapIndex
         INTEGER,
      accepterAddr
         IpAddress,
      communityString
          DisplayString,
      severityDegree
         INTEGER,
      accepterActive
         INTEGER
   }

trapIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The trap receiver entry index."
   ::= { mconfigTrapAccepterEntry 1 }

accepterAddr OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The trap receiver IP address."
   ::= { mconfigTrapAccepterEntry 2 }

communityString OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The trap receiver community name."
   ::= { mconfigTrapAccepterEntry 3 }

severityDegree OBJECT-TYPE
   SYNTAX INTEGER {
      information(1),
      warning(2),
      severe(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The trap receiver severity level. Traps are marked in severity level
       as informational(1), warning(2), severe(3). Only send the traps of
       equal or greater severity than this value to the receiver."
   ::= { mconfigTrapAccepterEntry 4 }

accepterActive OBJECT-TYPE
   SYNTAX INTEGER   {
      yes (1),
      no  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A receiver will accept traps if yes, and none if no."
   ::= { mconfigTrapAccepterEntry 5 }

mconfigDHCPEnabled OBJECT-TYPE
   SYNTAX INTEGER {
      yes (1),
      no  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The system will automatically obtain its IP from a DHCP server if yes,
       and none if no."
   ::= { mconfig 3 }

mconfigMyAddr OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system IP address."
   ::= { mconfig 4 }


mconfigClockDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The current date in the mm/dd/yyyy format. Example: 01/01/2000."
   ::= { mconfigClock 1 }

mconfigClockTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The current time in the hh:mm:ss 24H format."
   ::= { mconfigClock 2 }



-- The mtrapinfo group
-- These OIDs allows CPS traps to be sent with additional arguments
-- which may not be defined in the CPS MIB.
mtrapinfoInteger OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an integer argument for providing detail
       information. Not being defined in the MIB, only reply 0."
   ::= { mtrapinfo 1 }

mtrapinfoIpAddress OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an IP address argument for providing detail
       information. Not being defined in the MIB, only reply 0.0.0.0."
   ::= { mtrapinfo 2 }

mtrapinfoString OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an octet string argument for providing detail
       information. Not being defined in the MIB, only reply a NULL string."
   ::= { mtrapinfo 3 }

mtrapinfoGauge OBJECT-TYPE
   SYNTAX  Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an Gauge argument for providing detail
       information. Not being defined in the MIB, only reply 0."
   ::= { mtrapinfo 4 }

mtrapinfoTimeTicks OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an TimeTicks argument for providing detail
       information. Not being defined in the MIB, only reply 0."
   ::= { mtrapinfo 5 }

mtrapinfoBmEventId OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Allow CPS traps with an integer argument for providing detail
       information about Battery Manager specific event identifier. 
       Not being defined in the MIB, only reply 0.
       
       Known Specific Event ID: Battery Manager
         0 - not used
         1 - Alarm: The battery manager system fault. 
         2 - Info: Device configuration changed. 
         3 - Alarm: Probe configuration mismatched. 
         4 - Info: Probe configuration matched. 
         5 - Alarm: Communication with battery manager has been lost. 
         6 - Info: Communication with battery manager has been restored. 
         7 - Alarm: Communication with LCD has been lost. 
         8 - Info: Communication with LCD has been restored. 
         9 - Warning: Enter battery equalization active mode.
         10- Warning: Leave battery equalization active mode.
         11- Alarm: Battery equalizing has failed. 
         12- Info: Battery equalizing succeeds. 
         
       Known Specific Event ID: Battery Probes
         101 - Alarm: Low battery voltage. 
         102 - Alarm: High battery voltage. 
         103 - Info: Battery voltage event has cleared. 
         104 - Alarm: Low battery temperature. 
         105 - Alarm: High battery temperature. 
         106 - Info: Battery temperature event has cleared. 
         107 - Alarm: Critical low battery resistance. 
         108 - Alarm: Critical high battery resistance. 
         109 - Warning: Low battery resistance. 
         110 - Warning: high battery resistance. 
         111 - Info: Battery resistance event has cleared. 
         112 - Alarm: Battery resistance health has crossed alarm threshold. 
         113 - Warning: Battery resistance health has crossed warning threshold. 
         114 - Info: Battery resistance health has returned to Normal.
         115 - Alarm: Battery voltage has under the shutdown threshold for a time. 
         116 - Info: Battery voltage has restored from the shutdown threshold. 
         117 - Alarm: Battery probes has been shut down. 
         118 - Alarm: Low battery soc. 
         119 - Warning: Low battery soc. 
         120 - Info: Battery soc event has cleared. 
		 
      Known Specific Event ID: BM String Voltage 
         201 - Alarm: Low string voltage. 
         202 - Alarm: High string voltage.
         203 - Warning: Low string voltage. 
         204 - Warning: High string voltage.  
         205 - Info: String voltage event has cleared.
         226 - Alarm: Low string soc. 
         207 - Warning: Low string soc. 
         208 - Info: String soc event has cleared. "
   ::= { mtrapinfo 6 }
   
mtrapinfoCpEventId OBJECT-TYPE
	SYNTAX INTEGER
   	ACCESS read-only
   	STATUS mandatory
   	DESCRIPTION
      "Allow CPS traps with an integer argument for providing detail
       information about Current Probe specific event identifier. 
       Not being defined in the MIB, only reply 0. 
		Known Specific Event ID: Current Probes
			301 - Warning: Low charge current. 
			302 - Warning: High charge current. 
			303 - Alarm: Low charge current. 
			304 - Alarm: High charge current. 
			305 - Info: Charge current event has cleared. 

			306 - Warning: Low discharge current. 
			307 - Warning: High discharge current. 
			308 - Alarm: Low discharge current. 
			309 - Alarm: High discharge current. 
			310 - Info: Discharge current event has cleared. 

			311 - Warning: Low RMS current. 
			312 - Warning: High RMS current. 
			313 - Alarm: Low RMS current. 
			314 - Alarm: High RMS current. 
			315 - Info: RMS current event has cleared. 

			350 - Warning: Discharge. 
			351 - Alarm: Discharge. 
			352 - Info: Discharge event has cleared. 
			
			380 - Alarm: Number of current probe has decreased. 
			381 - Info: Number of current probe has increased. 
			382 - Info: Current probe configuration has been changed. "
   ::= { mtrapinfo 7 }
   
-- The mcontrol group
mcontrolRestart OBJECT-TYPE
   SYNTAX INTEGER   {
      none            								(1),
      restartCurrentSystem            (2),
      restartCurrentAgent             (3),
      restartCurrentSystemAndAgent    (4)
  }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to restartCurrentSystem (2) will restart the current system.
      Setting this OID to restartCurrentAgent (3) will restart the current agent. 
      Setting this OID to restartCurrentSystemAnd Agent (4) will restart the current system and agent."

   ::= { mcontrol 1 }

mcontrolReset OBJECT-TYPE
   SYNTAX INTEGER   {
      none                           (1),
      resetCurrentSystem             (2),
      resetCurrentAgent              (3),
      resetCurrentSystemAndAgent     (4)
  }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to resetCurrentSystem (2) will reset the current system. 
      Setting this OID to resetCurrentAgent (3) will reset the current agent. 
      Setting this OID to resetCurrentSystemAndAgenta (4) will reset the current 
      system and the current agent."

   ::= { mcontrol 2 }
   
-- the ups group
-- the upsIdent group
-- the upsBaseIdent
upsBaseIdentModel OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS model name."
   ::= { upsBaseIdent 1 }

upsBaseIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The UPS identified name could be set by the administrator."
   ::= { upsBaseIdent 2 }


-- the upsAdvanceIdent group
upsAdvanceIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS firmware revision."
   ::= { upsAdvanceIdent 1 }

upsAdvanceIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS manufacture date in mm/dd/yy format."
   ::= { upsAdvanceIdent 2 }

upsAdvanceIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS serial number in the internal microprocessor."
   ::= { upsAdvanceIdent 3 }

upsAdvanceIdentAgentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The SNMP agent firmware revision."
   ::= { upsAdvanceIdent 4 }

upsAdvanceIdentLCDFirmwareVersion OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The revision number of the UPS LCD firmware."
   ::= { upsAdvanceIdent 5 }

upsAdvanceIdentPowerRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Volt-Amp rating of the UPS."
   ::= { upsAdvanceIdent 6 }

upsAdvanceIdentLoadPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power rating(Watts) of the UPS."
   ::= { upsAdvanceIdent 7 }

upsAdvanceIdentCurrentRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The output current rating of the UPS. Measured in tenths of Amps."
   ::= { upsAdvanceIdent 8 }

upsAdvanceIdentAgentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A string identifying the serial number of the Agent."
   ::= { upsAdvanceIdent 9 }

-- the upsBattery group
-- the upsBaseBattery group
upsBaseBatteryStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      batteryNormal(2),
      batteryLow(3),
      batteryNotPresent(4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery status.  A batteryLow(3) value means the
       battery will be exhausted soon under the current load.
       The amount of low battery run time can be configured by the
       upsAdvanceConfigLowBatteryRunTime."
   ::= { upsBaseBattery 1 }

upsBaseBatteryTimeOnBattery OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS wasted battery time since the UPS has transfered to
       backup mode."
   ::= { upsBaseBattery 2 }

upsBaseBatteryLastReplaceDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The UPS batteries last replaced date in mm/dd/yyyy format.
       This value is originally set when manufactured. If batteries
       replaced, administrator should reset this value."
   ::= { upsBaseBattery 3 }

upsBaseBatteryAgeRecommand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Recommended battery life in month"
   ::= { upsBaseBattery 4 }

-- the upsAdvanceBattery group
upsAdvanceBatteryCapacity OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery capacity expressed in percentage."
   ::= { upsAdvanceBattery 1 }

upsAdvanceBatteryVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery voltage expressed in 1/10 VDC."
   ::= { upsAdvanceBattery 2 }

upsAdvanceBatteryTemperature OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery temperature expressed in Celsius."
   ::= { upsAdvanceBattery 3 }

upsAdvanceBatteryRunTimeRemaining OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery remaining run time."
   ::= { upsAdvanceBattery 4 }

upsAdvanceBatteryReplaceIndicator OBJECT-TYPE
   SYNTAX INTEGER  {
      noBatteryNeedsReplacing(1),
      batteryNeedsReplacing(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This value indicates if UPS batteries need to be replaced."
   ::= { upsAdvanceBattery 5 }

upsAdvanceBatteryFullChargeVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery charged voltage expressed in 1/10 VDC."
   ::= { upsAdvanceBattery 6 }

upsAdvanceBatteryCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery current expressed in percentage."
   ::= { upsAdvanceBattery 7 }

upsAdvanceBatteryVoltageRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The DC voltage rating of the battery set."
   ::= { upsAdvanceBattery 8 }

upsAdvanceBatteryLife OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The battery life expressed in 1/100 percentage."
   ::= { upsAdvanceBattery 9 }


-- the upsBaseInput group
upsBaseInputPhase OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The AC input phase."
   ::= { upsBaseInput 1 }


-- the upsAdvanceInput group
upsAdvanceInputLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The input line voltage in 1/10 VAC."
   ::= { upsAdvanceInput 1 }

upsAdvanceInputMaxLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum input line voltage in 1/10 VAC over the
       previous 1 minute period."
   ::= { upsAdvanceInput 2 }

upsAdvanceInputMinLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum input line voltage in 1/10 VAC over the
       previous 1 minute period."
   ::= { upsAdvanceInput 3 }

upsAdvanceInputFrequency OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The input line frequency in 1/10 Hz."
   ::= { upsAdvanceInput 4 }

upsAdvanceInputLineFailCause OBJECT-TYPE
   SYNTAX INTEGER  {
      noTransfer(1),
      highLineVoltage(2),
      brownout(3),
      selfTest(4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The reason of UPS power failure.
       This value is set to:
       - noTransfer(1), if UPS is in utility mode.
       - highLineVoltage(2), if UPS switch to battery mode by reason of
         input voltage over the high transfer vloltage.
       - brownout(3), if UPS switch to battery mode by reason of
         input voltage under the low transfer vloltage.
       - selfTest(4), if the UPS was commanded to do a self test."
   ::= { upsAdvanceInput 5 }

upsAdvanceInputStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      normal(1),
      overVoltage(2),
      underVoltage(3),
      frequencyFailure(4),
      blackout(5),
      powerFailure(6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Display the present status of the utility power supplied to the UPS."
   ::= { upsAdvanceInput 6 }

upsAdvanceInputWatt OBJECT-TYPE
    SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the input power that each phase of the UPS can provide. It is represented in Watt."
   ::= { upsAdvanceInput 7 }

-- the upsBaseOutput group
upsBaseOutputStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      onLine(2),
      onBattery(3),
      onBoost(4),
      onSleep(5),
      off(6),
      rebooting(7),
      onECO(8),
      onBypass(9),
      onBuck(10),
      onOverload(11)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output status."
   ::= { upsBaseOutput 1 }

upsBaseOutputPhase OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The output phase."
   ::= { upsBaseOutput 2 }

upsBaseOutputWorkingFrequency OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The frequency of the UPS output power."
   ::= { upsBaseOutput 3 }


-- the upsAdvanceOutput group
upsAdvanceOutputVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output voltage in 1/10 VAC."
   ::= { upsAdvanceOutput 1 }

upsAdvanceOutputFrequency OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output frequency in 1/10 Hz."
   ::= { upsAdvanceOutput 2 }

upsAdvanceOutputLoad OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output load expressed in percentage"
   ::= { upsAdvanceOutput 3 }

upsAdvanceOutputCurrent OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS output current in 1/10 Amps."
   ::= { upsAdvanceOutput 4 }

upsAdvanceOutputPower OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
     "The total output active power of the UPS system in W."
   ::= { upsAdvanceOutput 5 }

upsAdvanceOutputEnergy OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
     "The total output energy of the UPS system in 1/10 kWh."
   ::= { upsAdvanceOutput 6 }

upsAdvanceOutputEnergyStartTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
     "Indicates the date and time of the last device energy	meter reset."
   ::= { upsAdvanceOutput 7 }

-- the upsBaseConfig group
upsBaseConfigNumDevices OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of equipment plugged into the UPS."
   ::= { upsBaseConfig 1 }

upsBaseConfigDeviceTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsBaseConfigDeviceEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of equipment plugged into the UPS.
       The numbers of entries are given by the value of
       upsBaseConfigNumDevices."
   ::= { upsBaseConfig 2 }

upsBaseConfigDeviceEntry OBJECT-TYPE
   SYNTAX UpsBaseConfigDeviceEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The equipment plugged in to the UPS."
   INDEX  { deviceIndex }
   ::= { upsBaseConfigDeviceTable 1 }

UpsBaseConfigDeviceEntry ::=
   SEQUENCE {
      deviceIndex
         INTEGER,
      deviceName
         DisplayString,
      vaRating
         INTEGER,
      acceptThisDevice
         INTEGER
   }

deviceIndex OBJECT-TYPE
   SYNTAX INTEGER(1..255)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the equipment plugged into the UPS."
   ::= { upsBaseConfigDeviceEntry 1 }

deviceName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The name of the equipment plugged into the UPS."
   ::= { upsBaseConfigDeviceEntry 2 }

vaRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The VA rating of the equipment plugged into the UPS."
   ::= { upsBaseConfigDeviceEntry 3 }

acceptThisDevice OBJECT-TYPE
   SYNTAX INTEGER   {
      yes(1),
      no(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An equipment is plugged if yes, unplugged if no."
   ::= { upsBaseConfigDeviceEntry 4 }


-- the upsAdvanceConfig group
upsAdvanceConfigOutputVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The standard UPS output voltage in VAC.
       The possible values are 100, 110, 120, 127,
       208, 220, 230, and 240.
       If a value other than a possible value is set,
       it will not be accepted."
   ::= { upsAdvanceConfig 1 }

upsAdvanceConfigHighTransferVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Adjust the high transfer vloltage in VAC.
       The high transfer vloltage will become the UPS default value
       subtracts this value. The allowed values depend on the output:
       100-127 volt system allow settings of 0-15.
       208-240 volt system allow settings of 0-30.
       If the adjustable value is over the allowed values,
       it will not be accepted."
   ::= { upsAdvanceConfig 2 }

upsAdvanceConfigLowTransferVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Adjust the low transfer vloltage in VAC.
       The low transfer vloltage will become the UPS default value
       adds this value. The allowed values depend on the output:
       100-127 volt system allow settings of 0-15.
       208-240 volt system allow settings of 0-30.
       If the adjustable value is over the allowed values,
       it will not be accepted."
   ::= { upsAdvanceConfig 3 }

upsAdvanceConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER  {
      timed(1),
      enable(2),
      disable(3),
      mute(4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This value is set to handle audible alarms when power failure."
   ::= { upsAdvanceConfig 4 }

upsAdvanceConfigAlarmTimer OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time after power failure at which the UPS begins giving
       audible alarms. This timer is effective only if the value of
       upsAdvanceConfigAlarm is timed(1).
       Accepted values are between 0 to 60 seconds.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 5 }

upsAdvanceConfigMinReturnCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum battery capacity that UPS will return from
       a low battery shutdown condition. The possible values
       are between 0 to 40.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 6 }

upsAdvanceConfigSensitivity OBJECT-TYPE
   SYNTAX INTEGER  {
      auto(1),
      low(2),
      medium(3),
      high(4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The sensitivity of the UPS to power failure detection."
   ::= { upsAdvanceConfig 7 }

upsAdvanceConfigLowBatteryRunTime OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The desired run time, in seconds, UPS will enter in a
       low battery sequence. The possible values are
       120, 300, 420, 600.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 8 }

upsAdvanceConfigReturnDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay time the UPS will turn on after power recovery.
       The value is also used in a 'reboot' or 'wake up' sequence.
       The possible values are 0 to 600 seconds.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 9 }

upsAdvanceConfigShutoffDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay time the UPS will remain on after receiving a
       turn off command.  The possible values are between 60 to 
       5940 seconds.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 10 }

upsAdvanceConfigSleepDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay time the UPS will enter sleep mode after receiving 
       a sleep command. WThe possible values are between 60 to 
       5940 seconds.
       If a value other than a supported value is set, the value
       will not be accepted."
   ::= { upsAdvanceConfig 11 }


upsAdvanceConfigSetEEPROMDefaults OBJECT-TYPE
   SYNTAX INTEGER  {
      noSetEEPROMDefaults(1),
      setEEPROMDefaults(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Reset the UPS EEPROM parameters to default values."
   ::= { upsAdvanceConfig 12 }

upsAdvanceConfigAutoRestore OBJECT-TYPE
   SYNTAX INTEGER  {
      disable(1),
      enable(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "When this option is enabled, the UPS will restore output 
       immediately when the utility power restores.When this option 
       is disabled, the UPS will not restore output at that moment 
       and users have to turn it on manually at a later time. "
   ::= { upsAdvanceConfig 13 }


upsAdvanceConfigRechargedCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " When the utility power restores, the UPS will start to recharge until 
	the specified battery capacity in percentage is met before restoring output power. 
	The possible values are 0, 15, 30, 45, 60, 75, and 90.
	If a value other than a possible value is set, it will not be accepted."
   ::= { upsAdvanceConfig 14 }


upsAdvanceConfigColdStart OBJECT-TYPE
   SYNTAX INTEGER  {
      disable(1),
      enable(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " Set the ability of the UPS can start in the absence of input power.When 
        this option is enabled the UPS can be turned on without having input power."
   ::= { upsAdvanceConfig 15 }


upsAdvanceConfigDeepDischargeProtection OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " When the UPS is on Battery Mode with 0% load and the status remains for 
        the time configured,the RMCARD will enforce the UPS to Sleep Mode and 
        the output will be turned off. The possible values are 0, 20, 40, and 60 minutes.
	If a value other than a possible value is set, it will not be accepted.	"
   ::= { upsAdvanceConfig 16 }



upsAdvanceConfigSleepAfterAllClientShut OBJECT-TYPE
   SYNTAX INTEGER  {
      disable(1),
      enable(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "If this option is enabled, UPS will enter sleep mode after 
       utility power failed and remaining MSDT+2 minutes.More information 
       about MSDT please reference to help page of UPS - > PowerPanel List."
   ::= { upsAdvanceConfig 17 }
   
   
upsAdvanceConfigLowBatteryThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "When the UPS supplies battery power and the remaining capacity is lower than this threshold, 
       the UPS will sound an alarm. 
       The value expressed in percentage."
   ::= { upsAdvanceConfig 18 }

upsAdvanceConfigEnergyReset OBJECT-TYPE
   SYNTAX INTEGER {
      noOperation (1),
      reset (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset (2) will cause the output energy meter value to be reset to zero. 
       Getting this OID will do nothing and return the noOperation(1) value."
   ::= { upsAdvanceConfig 19 }

upsAdvanceConfigBatteryRuntimeThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "When the UPS supplies battery power and the remaining runtime is lower than this threshold, 
       the UPS will sound an alarm. 
       The value expressed in minutes."
   ::= { upsAdvanceConfig 20 }

-- the upsBaseControl group
upsBaseControlConserveBattery OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnOffUps(1),
      turnOffUpsToConserveBattery(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS on battery will enter sleeping when the variable is set
       to turnOffUpsToConserveBattery(2). When utility power recovers
       the UPS will turn back on. Trying to turn off a UPS that is
       not on battery mode will cause badValue error.
       It is no effective to set this value to noTurnOffUps(1)."
   ::= { upsBaseControl 1 }


-- the upsAdvanceControl group
upsAdvanceControlUpsOff OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnUpsOff(1),
      turnUpsOff(2),
      turnUpsOffGracefully(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will shutdown when the variable is set to turnUpsOff(2).
       UPS will shutdown after a delay period specified by 
       upsAdvanceConfigShutoffDelay when the variable is Set to 
       turnUpsOffGracefully(3).
       Without regard to the utility state the UPS will not provide 
       output power in this state.
       It is no effective to set this value to noTurnUpsOff(1)."
   ::= { upsAdvanceControl 1 }

upsAdvanceControlRebootUps OBJECT-TYPE
   SYNTAX INTEGER  {
      noRebootUps(1),
      rebootUps(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will shutdown and turn back on when the variable is
       set to rebootUps(2).
       It is no effective to set this value to noRebootUps(1)."
   ::= { upsAdvanceControl 2 }

upsAdvanceControlUpsSleep OBJECT-TYPE
   SYNTAX INTEGER  {
      noPutUpsToSleep(1),
      putUpsToSleep(2),
      putUpsToSleepGracefully(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will enter sleep mode when the variable is set to putUpsToSleep(2). 
       UPS will enter sleep mode after a delay period specified by 
       upsAdvanceConfigSleepDelay when the variable is Set to 
       putUpsToSleepGracefully(3).
       Without regard to the utility state the UPS will not provide output 
       power in sleep mode. Output power will recover when specified time 
       has elapsed.
       It is no effective to set this value to noPutUpsToSleep(1)."
   ::= { upsAdvanceControl 3 }

upsAdvanceControlSimulatePowerFail OBJECT-TYPE
   SYNTAX INTEGER  {
      noSimulatePowerFailure(1),
      simulatePowerFailure(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will transfer to backup mode when the variable is set
       to simulatePowerFailure(2).
       It is no effective to set this value to noFlashAndBeep(1)."
   ::= { upsAdvanceControl 4 }

upsAdvanceControlFlashAndBeep OBJECT-TYPE
   SYNTAX INTEGER  {
      noFlashAndBeep(1),
      flashAndBeep(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will beep and simultaneously turn on the panel lights
       when the variable is set to flashAndBeep(2).
       It is no effective to set this value to noSimulatePowerFailure(1)."
   ::= { upsAdvanceControl 5 }

upsAdvanceControlTurnOnUPS OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnOnUPS(1),
      turnOnUPS(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will turned on immediately when the variable is set
       to turnOnUPS(2).
       It is no effective to set this value to noTurnOnUPS(1)."
   ::= { upsAdvanceControl 6 }

upsAdvanceSleepAfterDelay OBJECT-TYPE
    SYNTAX     INTEGER (-1..600)
    UNITS      "seconds"
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "UPS will enter sleep mode after indicated number of seconds,
       or less if the UPS batteries become depleted. Setting this
       object to 0 will cause the shutdown to occur immediately.  
       Setting this object to -1 will abort the countdown."
   ::= { upsAdvanceControl 7 }

-- the upsTest group
-- the upsAdvanceTest group
upsAdvanceTestDiagnosticSchedule OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      biweekly(2),
      weekly(3),
      atTurnOn(4),
      never(5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The schedule of the UPS automatic selftest."
   ::= { upsAdvanceTest 1 }

upsAdvanceTestDiagnostics OBJECT-TYPE
   SYNTAX INTEGER  {
      noTestDiagnostics(1),
      testDiagnostics(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will do a diagnostic selftest when the variable is set
       to testDiagnostics(2).
       It is no effective to set this value to noTestDiagnostics(1)."
   ::= { upsAdvanceTest 2 }

upsAdvanceTestDiagnosticsResults OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      failed(2),
      invalidTest(3),
      testInProgress(4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last UPS selftest result."
   ::= { upsAdvanceTest 3 }

upsAdvanceTestLastDiagnosticsDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last UPS selftest date in mm/dd/yy format."
   ::= { upsAdvanceTest 4 }

upsAdvanceTestIndicators OBJECT-TYPE
   SYNTAX INTEGER {
	noTestIndicators(1),
	testIndicators(2)
	}
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will perform a panel indicator test when the variable
       is set to testIndicators(2).
       It is no effective to set this value to noTestIndicators(1)."
   ::= { upsAdvanceTest 5 }

upsAdvanceTestRuntimeEstimation OBJECT-TYPE
   SYNTAX INTEGER  {
      noPerformEstimation(1),
      performEstimation(2),
      cancelCurrentEstimation(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "UPS will discharge to calibrate the UPS runtime when the variable
       is set to performEstimation(2).
       This test runs until the UPS is in a low battery condition.
       UPS will cancel the discharge after setting performEstimation(2)
       when the variable is set to cancelCurrentEstimation(3).
       It is no effective to set this value to noPerformEstimation(1).
       The result of the runtime test will be stored in
       upsAdvanceTestEstimationResults."
   ::= { upsAdvanceTest 6 }

upsAdvanceTestEstimationResults OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      invalidEstimation(2),
      estimationInProgress(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last runtime estimation result.
       This value means :
       - ok(1), if a successful runtime estimation.
       - invalidEstimation(2), if runtime estimation failure.
       - estimationInProgress(3), if estimation is processing now."
   ::= { upsAdvanceTest 7 }

upsAdvanceTestEstimationDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The last UPS runtime estimation date"
   ::= { upsAdvanceTest 8 }
   
-- the upsBankOutletControl grop
upsBankOutletControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsBankOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of the outlet banks."
   ::= { upsBankOutletControl 1 }
   
upsBankOutletControlEntry OBJECT-TYPE
   SYNTAX UpsBankOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to control."
   INDEX  { upsBankControlIndex }
   ::= { upsBankOutletControlTable 1 }

UpsBankOutletControlEntry ::=
   SEQUENCE {
      upsBankControlIndex
         INTEGER,
      upsBankControlOutletCommand
         INTEGER
   }

upsBankControlIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { upsBankOutletControlEntry 1 }

upsBankControlOutletCommand OBJECT-TYPE
   SYNTAX INTEGER   {
      immediateOn             (1),
      immediateOff            (2),
      bankNotExist            (3),
      criticalBank            (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting this variable will return the outlet bank state. If
       the outlet bank is on, the immediateOn (1) value will be returned.
       If the outlet bank is off, the immediateOff (2) value will be
       returned. If the outlet bank is critical (uncontrollable), the 
       criticalBank (4) value will be returned.
       Setting this variable to immediateOn (1) will immediately turn
       the outlet on.
       Setting this variable to immediateOff (2) will immediately turn
       the outlet off."
   ::= { upsBankOutletControlEntry 2 }

-- the upsIndividualOutlet grop
upsIndividualOutletTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of switched outlets"
		::= {upsIndividualOutlet 1}

upsIndividualOutletConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UPSIndividualOutletConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of switched outlet configuration data."
		::= {upsIndividualOutlet 2}

upsIndividualOutletConfigEntry OBJECT-TYPE
		SYNTAX UPSIndividualOutletConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from currently queried switched outlet."
		INDEX {upsIndividualOutletConfigIndex}
		::= {upsIndividualOutletConfigTable 1}

UPSIndividualOutletConfigEntryStruct ::= 
	SEQUENCE {
		upsIndividualOutletConfigIndex					INTEGER, 
		upsIndividualOutletConfigName						DisplayString, 
		upsIndividualOutletConfigPowerOnTime		INTEGER, 
		upsIndividualOutletConfigPowerOffTime		INTEGER, 
		upsIndividualOutletConfigRebootDuration	INTEGER
	}

upsIndividualOutletConfigIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the switched outlet configuration table entry."
		::= {upsIndividualOutletConfigEntry 1}

upsIndividualOutletConfigName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The user-defined switched outlet name string."
		::= {upsIndividualOutletConfigEntry 2}

upsIndividualOutletConfigPowerOnTime OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) the outlet will delay 
			powering on at coldstart or when a command that requires 
			a turn-on delay is issued.
			Allowed values are:
				-1 - never power on.
				 0 - power on immediately.
				 1 to 7200 - power on up to 7200 seconds after being commanded."
		::= {upsIndividualOutletConfigEntry 3}

upsIndividualOutletConfigPowerOffTime OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) the outlet will delay 
			powering off when a command that requires a 
			turn-off delay is issued.
			Allowed values are:
			 -1 - never power off.
			  0 - power off immediately.
			  1 to 7200 - power off up to 7200 seconds after being commanded."
		::= {upsIndividualOutletConfigEntry 4}

upsIndividualOutletConfigRebootDuration OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"During a reboot sequence, power is turned off and then 
			back on. This OID defines the amount of time to wait, 
			in seconds, after turning the power off, at the start 
			of the sequence, before turning power back on, at the 
			end of the reboot sequence. 
			Allowed range is any value between 5 and 60 seconds (1 minute)."
		::= {upsIndividualOutletConfigEntry 5}

upsIndividualOutletInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UPSIndividualOutletInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of switched outlet information."
		::= {upsIndividualOutlet 3}

upsIndividualOutletInfoEntry OBJECT-TYPE
		SYNTAX UPSIndividualOutletInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information of the currently queried switched outlet."
		INDEX {upsIndividualOutletInfoIndex}
		::= {upsIndividualOutletInfoTable 1}

UPSIndividualOutletInfoEntryStruct ::= 
	SEQUENCE {
		upsIndividualOutletInfoIndex				INTEGER, 
		upsIndividualOutletInfoName					DisplayString, 
		upsIndividualOutletInfoBank					INTEGER
	}

upsIndividualOutletInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the switched outlet information table entry."
		::= {upsIndividualOutletInfoEntry 1}

upsIndividualOutletInfoName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric switched outlet name."
		::= {upsIndividualOutletInfoEntry 2}

upsIndividualOutletInfoBank OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric bank ID."
		::= {upsIndividualOutletInfoEntry 3}

upsIndividualOutletStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UPSIndividualOutletStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of switched outlet status information."
		::= {upsIndividualOutlet 4}

upsIndividualOutletStatusEntry OBJECT-TYPE
		SYNTAX UPSIndividualOutletStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status information for currently queried switched outlet."
		INDEX {upsIndividualOutletStatusIndex}
		::= {upsIndividualOutletStatusTable 1}

UPSIndividualOutletStatusEntryStruct ::= 
	SEQUENCE {
		upsIndividualOutletStatusIndex					INTEGER, 
		upsIndividualOutletStatusName						DisplayString, 
		upsIndividualOutletStatusState					INTEGER, 
		upsIndividualOutletStatusCommandPending	INTEGER
	}

upsIndividualOutletStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION 
			"The index to the switched outlet status information table entry."
		::= {upsIndividualOutletStatusEntry 1}

upsIndividualOutletStatusName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined switched outlet name string."
		::= {upsIndividualOutletStatusEntry 2}

upsIndividualOutletStatusState OBJECT-TYPE
		SYNTAX INTEGER {
			outletStatusOn (1), 
			outletStatusOff (2)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the present switch state of the switched outlet being queried."
		::= {upsIndividualOutletStatusEntry 3}

upsIndividualOutletStatusCommandPending OBJECT-TYPE
		SYNTAX INTEGER { 
			outletStatusCommandPending (1), 
			outletStatusNoCommandPending (2)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the command pending state of the outlet. 
			If a command is pending on the outlet, the outletStatusCommandPending (1) 
			value will be returned. If there is not a command pending on the outlet, 
			the outletStatusNoCommandPending (2) will be returned."
		::= {upsIndividualOutletStatusEntry 4}

upsIndividualOutletControlTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UPSIndividualOutletControlEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of switched outlet control data."
		::= {upsIndividualOutlet 5}

upsIndividualOutletControlEntry OBJECT-TYPE
		SYNTAX UPSIndividualOutletControlEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Control data for currently queried switched outlet."
		INDEX {upsIndividualOutletControlIndex}
		::= {upsIndividualOutletControlTable 1}

UPSIndividualOutletControlEntryStruct ::= 
	SEQUENCE {
		upsIndividualOutletControlIndex				INTEGER, 
		upsIndividualOutletControlName				DisplayString, 
		upsIndividualOutletControlCommand			INTEGER
	}

upsIndividualOutletControlIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the switched outlet control data table entry."
		::= {upsIndividualOutletControlEntry 1}

upsIndividualOutletControlName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined switched outlet name string."
		::= {upsIndividualOutletControlEntry 2}

upsIndividualOutletControlCommand OBJECT-TYPE
		SYNTAX INTEGER {
			immediateOn (1), 
			immediateOff (2), 
			immediateReboot (3), 
			delayedOn (4), 
			delayedOff (5), 
			delayedReboot (6), 
			cancelPendingCommand (7)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the outlet state. 
			If the outlet is on, the immediateOn (1) value will be returned. 
			If the outlet is off, the immediateOff (2) value will be returned. 
			
			Setting this variable to immediateOn (1) will immediately turn the outlet on.
			
			Setting this variable to immediateOff (2) will immediately turn the outlet off. 
			
			Setting this variable to immediateReboot (3) will immediately reboot the outlet.
			
			Setting this variable to delayedOn (4) will turn the outlet on 
			after the upsIndividualOutletConfigPowerOnTime OID time has elapsed. 
			
			Setting this variable to delayedOff (5) will turn the outlet off 
			after the upsIndividualOutletConfigPowerOffTime OID time has elapsed.
			
			Setting this variable to delayedReboot (6) will cause the 
			switched outlet to perform a delayedOff command, wait the 
			upsIndividualOutletConfigRebootDuration OID time, and then perform a 
			delayedOn command. 
			
			Setting this variable to cancelPendingCommand (7) will cause any 
			pending command to this outlet to be canceled."
		::= {upsIndividualOutletControlEntry 3}

--  the upsPhase group   
--  the upsPhaseInput group in the upsPhase group
upsPhaseInputTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the phase number."
		::= { upsPhaseInput 1 }

-- the upsPhaseInputTable in upsPhaseInput group
upsPhaseInputTable OBJECT-TYPE
		SYNTAX SEQUENCE OF PhaseInputEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Phase Input in the UPS"
		::= { upsPhaseInput 2 }
upsPhaseInputEntry OBJECT-TYPE
		SYNTAX PhaseInputEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The UPS Phase Input Access."
		INDEX  { upsPhaseInputTableIndex}
		::= { upsPhaseInputTable 1 }

		PhaseInputEntry ::=
		SEQUENCE {
			upsPhaseInputTableIndex		INTEGER,
			upsPhaseInputVoltage            INTEGER,
			upsPhaseInputCurrent		INTEGER,
			upsPhaseInputFrequency          INTEGER,
			upsPhaseInputPowerFactor        INTEGER
		}
upsPhaseInputTableIndex OBJECT-TYPE
		SYNTAX INTEGER(3)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the UPS Phase Input entry."
		::= { upsPhaseInputEntry 1 }    

upsPhaseInputVoltage OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the input voltage that each phase of the UPS can provide. It is represented in 1/10 VAC."
		::= { upsPhaseInputEntry 2 }

upsPhaseInputCurrent OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the input current that each phase of the UPS can provide. It is represented in 1/10 Amps."
		::= { upsPhaseInputEntry 3 }
upsPhaseInputFrequency OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the input frequency that each phase of the UPS can provide. It is represented in 1/10 Hz."
		::= { upsPhaseInputEntry 4 }
upsPhaseInputPowerFactor OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the input power factor that each phase of the UPS can provide. It is represented in 1/100."
		::= { upsPhaseInputEntry 5 }


--  the upsPhaseOutput group in the upsPhase group
upsPhaseOutputTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the Phase number."
		::= { upsPhaseOutput 1 }

-- the upsPhaseOutputTable in upsPhaseOutput group
upsPhaseOutputTable OBJECT-TYPE
		SYNTAX SEQUENCE OF PhaseOutputEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Phase Output in the UPS"
		::= { upsPhaseOutput 2 }

upsPhaseOutputEntry OBJECT-TYPE
		SYNTAX PhaseOutputEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The UPS Phase Output Access."
		INDEX  { upsPhaseOutputTableIndex}
		::= { upsPhaseOutputTable 1 }

		PhaseOutputEntry ::=
		SEQUENCE {
			upsPhaseOutputTableIndex		INTEGER,
			upsPhaseOutputVoltage            INTEGER,
			upsPhaseOutputCurrent		INTEGER,
			upsPhaseOutputFrequency          INTEGER,
			upsPhaseOutputPowerFactor        INTEGER,
			upsPhaseOutputPower		INTEGER
		}


upsPhaseOutputTableIndex OBJECT-TYPE
		SYNTAX INTEGER(3)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the UPS Phase Output entry."
		::= { upsPhaseOutputEntry 1 }    

upsPhaseOutputVoltage OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the output voltage that each phase of the UPS can provide. It is represented in 1/10 VAC."
		::= { upsPhaseOutputEntry 2 }

upsPhaseOutputCurrent OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the output current that each phase of the UPS can provide. It is represented in 1/10 Amps."
		::= { upsPhaseOutputEntry 3 }
upsPhaseOutputFrequency OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the output frequency that each phase of the UPS can provide. It is represented in 1/10 Hz."
		::= { upsPhaseOutputEntry 4 }
upsPhaseOutputPowerFactor OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the output power factor that each phase of the UPS can provide. It is represented in 1/100."
		::= { upsPhaseOutputEntry 5 }
upsPhaseOutputPower OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the output power that each phase of the UPS can provide. It is represented in Watt."
		::= { upsPhaseOutputEntry 6 }

--  the upsPhaseBypass group in the upsPhase group
upsPhaseBypassTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the Phase number."
		::= { upsPhaseBypass 1 }

-- the upsPhaseBypassTable in upsPhaseBypass group
upsPhaseBypassTable OBJECT-TYPE
		SYNTAX SEQUENCE OF PhaseBypassEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Phase Bypass in the UPS"
		::= { upsPhaseBypass 2 }

upsPhaseBypassEntry OBJECT-TYPE
		SYNTAX PhaseBypassEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The UPS Phase Bypass Access."
		INDEX  { upsPhaseBypassTableIndex}
		::= { upsPhaseBypassTable 1 }

		PhaseBypassEntry ::=
		SEQUENCE {
			upsPhaseBypassTableIndex		INTEGER,
			upsPhaseBypassVoltage            INTEGER,
			upsPhaseBypassCurrent		INTEGER,
			upsPhaseBypassFrequency          INTEGER,
			upsPhaseBypassPowerFactor        INTEGER
		}


upsPhaseBypassTableIndex OBJECT-TYPE
		SYNTAX INTEGER(3)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the UPS Phase Bypass entry."
		::= { upsPhaseBypassEntry 1 }    

upsPhaseBypassVoltage OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the bypass voltage that each phase of the UPS can provide. It is represented in 1/10 VAC."
		::= { upsPhaseBypassEntry 2 }

upsPhaseBypassCurrent OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the bypass current that each phase of the UPS can provide. It is represented in 1/10 Amps."
		::= { upsPhaseBypassEntry 3 }
upsPhaseBypassFrequency OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the bypass frequency that each phase of the UPS can provide. It is represented in 1/10 Hz."
		::= { upsPhaseBypassEntry 4 }
upsPhaseBypassPowerFactor OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the bypass power factor that each phase of the UPS can provide. It is represented in 1/100."
		::= { upsPhaseBypassEntry 5 }

-- upsSystem Group
upsStatus OBJECT-TYPE
		SYNTAX INTEGER       {
		  normal		(1),
		  overheat		(2),
		  hardwarefault		(3)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The UPS system status."
		::= { upsSystem 1 }
		
upsTemperature OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS NTC temperature expressed in Celsius."
   ::= { upsSystem 2 }
		
-- the eswitch group
-- the eSwitchIdent group
eSwitchIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision set at the factory."
   ::= { eSwitchIdent 1 }

eSwitchIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision set at the factory."
   ::= { eSwitchIdent 2 }

eSwitchIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date in mm/dd/yy format."
   ::= { eSwitchIdent 3 }

eSwitchIdentModelName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The model name set at the factory.
       This value need to consist with safty report."
   ::= { eSwitchIdent 4 }


-- the eSwitchBase group
eSwitchNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The numbers of switch have been attached to the system."
   ::= { eSwitchBase 1 }

eSwitchBaseTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ESwitchBaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of switch information. The number of entries is given
       by the value of eSwitchNumber."
   ::= { eSwitchBase 2 }

eSwitchBaseEntry OBJECT-TYPE
   SYNTAX ESwitchBaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "An entry information of the individual switch."
   INDEX  { eSwitchID}
   ::= { eSwitchBaseTable 1 }

ESwitchBaseEntry ::=
   SEQUENCE {
      eSwitchID
        INTEGER,
      eSwitchOutletNum
        INTEGER,
      eSwitchOutletState
        DisplayString
   }

eSwitchID OBJECT-TYPE
   SYNTAX INTEGER(0..16)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power switch ID number."
   ::= { eSwitchBaseEntry 1 }

eSwitchOutletNum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlets provided in the switch."
   ::= { eSwitchBaseEntry 2 }

eSwitchOutletState  OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this OID will reply the status of all outlets in the switch.
       '0' for outlet off, '1' for outlet on.
       The index from left to right is outlet#8, #7, #6, #5, #4, #3, #2, #1.
       For Example:
       If the string is '01011010', it means the outlets status are the following:
       outlet #8 is off,
       outlet #7 is on,
       outlet #6 is off,
       outlet #5 is on,
       outlet #4 is on,
       outlet #3 is off,
       outlet #2 is on,
       outlet #1 is off.
      "
    ::= { eSwitchBaseEntry 3 }

eSwitchBaseCtrTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ESwitchBaseCtrEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of switch control parameters. The number of entries is given
       by the value of eSwitchNumber."
   ::= { eSwitchBase 3 }

eSwitchBaseCtrEntry OBJECT-TYPE
   SYNTAX ESwitchBaseCtrEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "An entry control information of individual switches."
   INDEX  { eSwitchCtrID}
   ::= { eSwitchBaseCtrTable 1 }

ESwitchBaseCtrEntry ::=
   SEQUENCE {
      eSwitchCtrID       
        INTEGER,
      eSwitchActOutlet   
        INTEGER,
      eSwitchActType     
        INTEGER
   }

eSwitchCtrID OBJECT-TYPE
   SYNTAX INTEGER(0..16)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Select the switch ID to be controlled."
   ::= { eSwitchBaseCtrEntry 1 }

eSwitchActOutlet OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The action outlets to be controlled."
   ::= { eSwitchBaseCtrEntry 2 }

eSwitchActType OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The on/off type of the action outlets.
      1 for duration off, 2 for duration on,
      3 for immediately off, 4 for immediately on,
      and 5 for reboot."
   ::= { eSwitchBaseCtrEntry 3 }



-- ePDU Group

-- the ePDUIdent group

ePDUIdentName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the Rack PDU. 
       The maximum string size is device dependent."
   ::= { ePDUIdent 1 }

ePDUIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Rack PDU. 
       This value is set at the factory."
   ::= { ePDUIdent 2 }

ePDUIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An 8-byte ID string identifying the Rack PDU firmware revision. 
       This value is set at the factory." 
   ::= {  ePDUIdent 3 }


ePDUIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the Rack PDU was manufactured in mm/dd/yyyy format.
       This value is set at the factory. The year 2000 will be 
       represented by 00." 
   ::= { ePDUIdent 4 }
   
ePDUIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 10-character string identifying the model number of 
       the Rack PDU. This value is set at the factory."
   ::= { ePDUIdent 5 }

ePDUIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 12-character string identifying the serial number of 
       the Rack PDU. This value is set at the factory."
   ::= { ePDUIdent 6 }

ePDUIdentDeviceRating OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the electrical rating of the device."

   ::= { ePDUIdent 7 } 

ePDUIdentDeviceNumOutlets OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of outlets contained in the device."

   ::= { ePDUIdent 8 } 

ePDUIdentDeviceNumPhases OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of phases supported by the device."

   ::= { ePDUIdent 9 } 

ePDUIdentDeviceNumBreakers OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of circuit breakers supported by the device.
       This is the same as the number of banks of outlets.
       0 will be returned if the unit has no phase breakers. "

   ::= { ePDUIdent 10 } 

ePDUIdentDeviceBreakerRating OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return rating of the circuit breakers on the device if it has any."

   ::= { ePDUIdent 11 } 

ePDUIdentDeviceOrientation OBJECT-TYPE
   SYNTAX INTEGER       {
      orientHorizontal            (1),
      orientVertical              (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the intended physical orientation of the device.
       
       OrientHorizonatal(1) indicates Horizontal.
       OrientVertical(2) indicates Vertical."

   ::= { ePDUIdent 12 }

ePDUIdentDeviceOutletLayout OBJECT-TYPE
   SYNTAX INTEGER       {
      seqPhaseToNeutral            (1),
      seqPhaseToPhase              (2),
      seqPhToNeu21PhToPh           (3),
      seqPhToPhGrouped             (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return outlet layout for the device.

       SeqPhaseToNeutral(1) indicates outlet layout as follows:
       1:1-N,2:2-N,3:3-N,4:1-N,5:2-N,...

       SeqPhaseToPhase(2) indicates outlet layout as follows:
       1:1-2,2:2-3,3:3-1,4:1-2,5:2-3,...

       SeqPhToNeu21PhToPh(3) indicates outlet layout as follows:
       1:1-N,2:2-N...21:3-N,22:1-2,23:2-3,24:3-1,...

       SeqPhToPhGrouped(4) indicates outlet layout as follows:
       Otlts1-8::(3-1),Otlts9-16::(2-3),Otlts17-24::(1-2)."
   ::= { ePDUIdent 13 }

ePDUIdentDeviceDisplayOrientation OBJECT-TYPE
   SYNTAX INTEGER       {
      displayNormal            (1),
      displayReverse           (2), 
      displayRotate90          (3), 
      displayRotate270         (4), 
      displayAuto              (5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the intended physical orientation of the Seven-Segment Display.

       displayNormal(1) indicates Normal.
       displayReverse(2)indicates Upside-Down.
       displayRotate90(3) indicates rotate 90 degree.
       displayRotate270(4) indicates rotate 270 degree. 
       displayAuto(5) indicates auto-detect and rotate."

   ::= { ePDUIdent 14 }


ePDUIdentDeviceLinetoLineVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting/Setting this OID will return/set the Line to Line Volatage.

      The valid range is between 0V to 440V"

   ::= { ePDUIdent 15 }

ePDUIdentIndicator OBJECT-TYPE
   SYNTAX INTEGER {
	     noTestIndicators(1),
	     testIndicators(2)
	 }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "PDU will perform a panel indicator test when the variable
       is set to testIndicators(2).
       
       It is no effective to set this value to noTestIndicators(1)."
      
   ::= { ePDUIdent 16 }

-- the ePDULoadDevice group

ePDULoadDevMaxPhaseLoad   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that each phase of the Rack PDU can provide. It is 
       represented in Amps.

       0 will be returned if the unit is banked." 
   ::= { ePDULoadDevice 1 }

ePDULoadDevNumPhases OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of phases available with this Rack PDU."
   ::= { ePDULoadDevice 2 }

ePDULoadDevMaxBankLoad   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that a bank of the Rack PDU can provide. It is 
       represented in Amps.
       
       0 will be returned if the device does not have any banks."
       
   ::= { ePDULoadDevice 3 }

ePDULoadDevNumBanks OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of banks of outlets available with this Rack PDU.
       A bank of outlets has a unique circuit breaker for a subset 
       of the total number of outlets on the ePDU.

       0 will be returned if the unit no banks."
   ::= { ePDULoadDevice 4 } 
   
ePDULoadDevBankTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Bank Table."
   ::= { ePDULoadDevice 5 }
   

ePDULoadDevBankTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadDevBankEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting the Bank Max Load in the Rack PDU."

   ::= { ePDULoadDevice 6 }

ePDULoadDevBankEntry OBJECT-TYPE
   SYNTAX LoadDevBankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU Banks Access."
   INDEX  { ePDULoadDevBankIndex}
   ::= { ePDULoadDevBankTable 1 }

LoadDevBankEntry ::=
   SEQUENCE {
      ePDULoadDevBankIndex      INTEGER,
      ePDULoadDevBankNumber	    INTEGER,      
      ePDULoadDevBankMaxLoad    INTEGER
   }

ePDULoadDevBankIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU bank entry."
   ::= { ePDULoadDevBankEntry 1 }     

ePDULoadDevBankNumber OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the bank number."
       
   ::= { ePDULoadDevBankEntry 2 }   

ePDULoadDevBankMaxLoad OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that each bank of the Rack PDU can provide. It is 
       represented in Amps."
       
   ::= { ePDULoadDevBankEntry 3 }    

ePDULoadDevMaxOutletTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Outlet Table."
   ::= { ePDULoadDevice 7 }
   
 
ePDULoadDevMaxOutletTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadDevMaxOutletEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting the Max Outlet Load in an Outlet Monitored Rack PDU."
   ::= { ePDULoadDevice 8 }

ePDULoadDevMaxOutletEntry OBJECT-TYPE
   SYNTAX LoadDevMaxOutletEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Max Outlet Load of an Outlet Monitored Rack PDU"
   INDEX  { ePDULoadDevOutletIndex}
   ::= { ePDULoadDevMaxOutletTable 1 }

LoadDevMaxOutletEntry ::=
   SEQUENCE {
      ePDULoadDevOutletIndex    INTEGER,
      ePDULoadDevOutletNumber	INTEGER,      
      ePDULoadDevMaxOutletLoad  INTEGER
   }

ePDULoadDevOutletIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Outlet Monitored Rack PDU Max Outlet Load entry."
   ::= { ePDULoadDevMaxOutletEntry 1 }

ePDULoadDevOutletNumber OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Outlet number." 
   ::= { ePDULoadDevMaxOutletEntry 2 }
   

ePDULoadDevMaxOutletLoad OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the maximum rated power
       that each Outlet of an Outlet Monitored Rack PDU can provide. It is
       represented in Amps. " 
   ::= { ePDULoadDevMaxOutletEntry 3 }


-- the ePDULoadPhaseConfig group

ePDULoadPhaseConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadPhaseConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of each Rack PDU phase.
       The number of entries is contained in the
       ePDULoadDevNumPhases OID."
   ::= { ePDULoadPhaseConfig 1 }

ePDULoadPhaseConfigEntry OBJECT-TYPE
   SYNTAX LoadPhaseConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU phase to configure."
   INDEX  { ePDULoadPhaseConfigIndex}
   ::= { ePDULoadPhaseConfigTable 1 }

LoadPhaseConfigEntry ::=
   SEQUENCE {
      ePDULoadPhaseConfigIndex                  INTEGER,
      ePDULoadPhaseConfigLowLoadThreshold       INTEGER,
      ePDULoadPhaseConfigNearOverloadThreshold  INTEGER,
      ePDULoadPhaseConfigOverloadThreshold      INTEGER,
      ePDULoadPhaseConfigAlarm                  INTEGER
   }      

ePDULoadPhaseConfigIndex OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3)
   }        
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU phase entry."
   ::= { ePDULoadPhaseConfigEntry 1 }

ePDULoadPhaseConfigLowLoadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing a low consumption condition. It is 
       represented in Amps.  A warning will be issued when the
       load is less than the threshold value.  
       
       A threshold value of 0 Amps effectively disables this 
       warning.  
       
       Maximum value must be less than the value returned 
       by the ePDULoadPhaseConfigNearOverloadThreshold OID."  
   ::= { ePDULoadPhaseConfigEntry 2 }

ePDULoadPhaseConfigNearOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than the value returned by
       the ePDULoadPhaseConfigLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadPhaseConfigOverloadThreshold OID."
   ::= { ePDULoadPhaseConfigEntry 3 }

ePDULoadPhaseConfigOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load has entered an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than or equal to the value 
       returned by the ePDULoadPhaseConfigNearOverloadThreshold OID.

       Maximum value must be less than or equal to the value 
       returned by the ePDULoadDevMaxPhaseLoad OID."
   ::= { ePDULoadPhaseConfigEntry 4 }


ePDULoadPhaseConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER {
        noLoadAlarm             (1),
        underCurrentAlarm       (2),
        nearOverCurrentAlarm    (3),
        overCurrentAlarm        (4)        
    }                 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
   "Getting this OID will return the current Phase Alarm."
   ::= { ePDULoadPhaseConfigEntry 5 }


-- the ePDULoadStatus group

ePDULoadStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Rack PDU phase/bank.
       The number of entries is calculated by adding
       the number of phases (ePDULoadDevNumPhases OID) and
       the number of banks of outlets (ePDULoadDevNumBanks)
       Number of entries = #phases + #banks.
       NOTE: If a device has phase and bank information, all phase information
       shall precede the bank information."
   ::= { ePDULoadStatus 1 }

ePDULoadStatusEntry OBJECT-TYPE
   SYNTAX LoadStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU phase/bank to gather status from."
   INDEX  { ePDULoadStatusIndex}
   ::= { ePDULoadStatusTable 1 }

LoadStatusEntry ::=
   SEQUENCE {
      ePDULoadStatusIndex                 INTEGER,
      ePDULoadStatusLoad                  Gauge,
      ePDULoadStatusLoadState             INTEGER,
      ePDULoadStatusPhaseNumber           INTEGER,
      ePDULoadStatusBankNumber            INTEGER,
      ePDULoadStatusVoltage               INTEGER,
      ePDULoadStatusActivePower           INTEGER,
      ePDULoadStatusApparentPower         INTEGER,
      ePDULoadStatusPowerFactor           INTEGER,
      ePDULoadStatusEnergy                INTEGER,
      ePDULoadStatusEnergyStartTime       DisplayString
   }      

ePDULoadStatusIndex OBJECT-TYPE
	 SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU phase/bank entry. All phase information will precede
       any bank information"
   ::= { ePDULoadStatusEntry 1 }

ePDULoadStatusLoad OBJECT-TYPE
   SYNTAX Gauge       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank load measured
       in tenths of Amps."
   ::= { ePDULoadStatusEntry 2 }

ePDULoadStatusLoadState OBJECT-TYPE
   SYNTAX INTEGER       {
      loadNormal                 (1),
      loadLow                    (2),
      loadNearOverload           (3),
      loadOverload               (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank load state.
       
       loadNormal(1) indicates that the phase/bank is operating 
       properly within the ePDULoadConfigLowLoadThreshold 
       and ePDULoadConfigNearOverloadThreshold OID values.
       
       loadLow(2) indicates that the phase/bank load has dropped 
       below the ePDULoadConfigLowLoadThreshold OID value.
       An SNMP trap will occur when this state is entered or cleared.
       
       loadNearOverload(3) indicates that the phase/bank load is 
       greater than or equal to the ePDULoadConfigNearOverloadThreshold OID value.
       An SNMP trap will occur when this state is entered or cleared.
       
       loadOverload(4) indicates that the phase/bank load is greater 
       than or equal to the ePDULoadConfigOverloadThreshold 
       OID value.
       
       An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDULoadStatusEntry 3 } 

ePDULoadStatusPhaseNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The phase number to which this record refers."
   ::= { ePDULoadStatusEntry 4 }

ePDULoadStatusBankNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The bank number to which this record refers.  A value of 0 will be returned if
       any bank is not present or if it is phase related."
   ::= { ePDULoadStatusEntry 5 }  
  
ePDULoadStatusVoltage OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank voltage measured
       in 0.1 volts."
   ::= { ePDULoadStatusEntry 6 }

ePDULoadStatusActivePower OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank active power measured
       in watts."
   ::= { ePDULoadStatusEntry 7 }

ePDULoadStatusApparentPower OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank apparent power measured
       in VA."
   ::= { ePDULoadStatusEntry 8 }

ePDULoadStatusPowerFactor OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return power factor of the output measured in hundredths.
       A value of 100 representing a unity power factor (1.00)."
   ::= { ePDULoadStatusEntry 9 }
   
ePDULoadStatusEnergy OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase/bank apparent power measured
       in 0.1 kilowatt-hours."
   ::= { ePDULoadStatusEntry 10 }   

ePDULoadStatusEnergyStartTime OBJECT-TYPE
   SYNTAX DisplayString       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the date and time of the last energy
       meter reset"
   ::= { ePDULoadStatusEntry 11 }      
   
-- the ePDULoadBankConfig group

ePDULoadBankConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LoadBankConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of each Rack PDU bank.
       The number of entries is contained in the 
       ePDULoadDevNumBanks OID."
   ::= { ePDULoadBankConfig 1 }

ePDULoadBankConfigEntry OBJECT-TYPE
   SYNTAX LoadBankConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Rack PDU bank to configure."
   INDEX  { ePDULoadBankConfigIndex}
   ::= { ePDULoadBankConfigTable 1 }

LoadBankConfigEntry ::=
   SEQUENCE {
      ePDULoadBankConfigIndex                    INTEGER,
      ePDULoadBankConfigLowLoadThreshold         INTEGER,
      ePDULoadBankConfigNearOverloadThreshold    INTEGER,
      ePDULoadBankConfigOverloadThreshold        INTEGER,
      ePDULoadBankConfigAlarm                    INTEGER
   }      

ePDULoadBankConfigIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU bank entry."
   ::= { ePDULoadBankConfigEntry 1 }

ePDULoadBankConfigLowLoadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing a low consumption condition. It is 
       represented in Amps.  A warning will be issued when the
       load is less than the threshold value.  
       
       A threshold value of 0 Amps effectively disables this 
       warning.  
       
       Maximum value must be less than the value returned 
       by the ePDULoadBankConfigNearOverloadThreshold OID."

   ::= { ePDULoadBankConfigEntry 2 }

ePDULoadBankConfigNearOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than the value returned by
       the ePDULoadBankConfigLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadBankConfigOverloadThreshold OID."

   ::= { ePDULoadBankConfigEntry 3 }

ePDULoadBankConfigOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load has entered an overload condition. It is 
       represented in Amps.  A warning will be issued when the 
       load is greater than or equal to the threshold value.
       
       Minimum value must be greater than or equal to the value 
       returned by the ePDULoadBankConfigNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadDevMaxBankLoad OID."

   ::= { ePDULoadBankConfigEntry 4 }

ePDULoadBankConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER {
        noLoadAlarm             (1),
        underCurrentAlarm       (2),
        nearOverCurrentAlarm    (3),
        overCurrentAlarm        (4)
        
    }                 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
   " Getting this OID will return the current Bank Alarm."
   ::= { ePDULoadBankConfigEntry 5 }


-- the ePDUOutletDevice group

ePDUOutletDevCommand  OBJECT-TYPE
  SYNTAX INTEGER       {
      noCommandAll               (1),
      immediateAllOn             (2),
      immediateAllOff            (3),
      immediateAllReboot         (4),
      delayedAllOn               (5),
      delayedAllOff              (6),
      delayedAllReboot           (7),
      cancelAllPendingCommands   (8)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to immediateAllOn (2) will turn all outlets
       on immediately.
       
       Setting this OID to immediateAllOff (3) will turn all outlets
       off immediately.
       
       Setting this OID to immediateAllReboot (4) will reboot all outlets
       immediately.

       Setting this OID to delayedAllOn (5) will turn all outlets on as 
       defined by each outlet's ePDUOutletConfigPowerOnTime OID value. 
             
       Setting this OID to delayedAllOff (6) will turn all outlets 
       off as defined by each outlet's ePDUOutletConfigPowerOffTime OID value.
      
       Setting this OID to delayedAllReboot (7) will cause a 
       delayedAllOff command to be performed. Once all outlets are off, 
       the Switched Rack PDU will then delay the largest 
       ePDUOutletConfigRebootDuration OID time, and then perform a 
       delayedAllOn command.    
       
       Setting this OID to cancelAllPendingCommands (8) will cause all pending
       commands on the Switched Rack PDU to be canceled.

       Getting this OID will return the noCommandAll (1) value."
   ::= { ePDUOutletDevice 1 }

ePDUOutletDevColdstartDelay  OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of delay, in seconds, between when
       power is provided to the Switched Rack PDU and 
       when the Switched Rack PDU provides basic master 
       power to the outlets.       
       
       Allowed values are:

       -1       - never apply power automatically.
       0        - apply power immediately.
       1 to 300 - delay up to 300 seconds (5 minutes)."
   ::= { ePDUOutletDevice 2 }

ePDUOutletDevNumCntrlOutlets OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of controlled outlets on this Switched Rack PDU."
   ::= { ePDUOutletDevice 3 }

ePDUOutletDevNumTotalOutlets OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of outlets on this Rack PDU."
   ::= { ePDUOutletDevice 4 }

ePDUOutletDevMonitoredOutlets  OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of monitored outlets on this Rack PDU."
   ::= { ePDUOutletDevice 5 }

ePDUOutletDevColdstartState OBJECT-TYPE
   SYNTAX INTEGER {
      allOn                      (1),
      previous                   (2)
   }        
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The ePDU outlet state after coldstart. 
      Allowed values are:
      1 - all outlets on after coldstart.
      2 - outlet status same as previous state."
   ::= { ePDUOutletDevice 6 }

-- the ePDUOutletPhase group

ePDUOutletPhaseTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletPhaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for management of outlets on a per phase basis."
   ::= { ePDUOutletPhase 1 }

ePDUOutletPhaseEntry OBJECT-TYPE
   SYNTAX OutletPhaseEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The phase to manage."
   INDEX  { ePDUOutletPhaseIndex}
   ::= { ePDUOutletPhaseTable 1 }

OutletPhaseEntry ::=
   SEQUENCE {
      ePDUOutletPhaseIndex                INTEGER,
      ePDUOutletPhaseOverloadRestriction  INTEGER
   }      

ePDUOutletPhaseIndex OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3)
   }        
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Switched Rack PDU phase entry."
   ::= { ePDUOutletPhaseEntry 1 }

ePDUOutletPhaseOverloadRestriction OBJECT-TYPE
   SYNTAX INTEGER       {
      alwaysAllowTurnON         (1),
      restrictOnNearOverload    (2),
      restrictOnOverload        (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID controls the behavior of a Switched Rack PDU
       phase when an overload condition is possible and 
       additional outlets are requested to be turned on. 

       Setting this OID to alwaysAllowTurnON (1) will always allow 
       the outlets on the corresponding phase to turn on.
       
       Setting this OID to restrictOnNearOverload (2) will not allow
       outlets on the corresponding phase to turn on if the 
       ePDULoadConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding phase to turn on if the 
       ePDULoadConfigOverloadThreshold OID is exceeded."
   ::= { ePDUOutletPhaseEntry 2 }



-- the ePDUOutletControl group

ePDUOutletControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EPDUOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of the individual outlets.
       The number of entries is contained in the 
       ePDUOutletDevNumCntrlOutlets OID."
   ::= { ePDUOutletControl 1 }

ePDUOutletControlEntry OBJECT-TYPE
   SYNTAX EPDUOutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to control."
   INDEX  { ePDUOutletControlIndex}
   ::= { ePDUOutletControlTable 1 }

EPDUOutletControlEntry ::=
   SEQUENCE {
      ePDUOutletControlIndex         INTEGER,
      ePDUOutletControlOutletName    DisplayString,
      ePDUOutletControlOutletPhase   INTEGER,
      ePDUOutletControlOutletCommand INTEGER,
      ePDUOutletControlOutletBank    INTEGER
   }

ePDUOutletControlIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { ePDUOutletControlEntry 1 }
   
ePDUOutletControlOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size.
       This OID is provided for informational purposes only."
   ::= { ePDUOutletControlEntry 2 }

ePDUOutletControlOutletPhase    OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3),
      phase1-2                   (4),
      phase2-3                   (5),
      phase3-1                   (6)
   }        
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The phase/s associated with this outlet.
      
       For single phase devices, this object will always 
       return phase1(1).
       
       For 3-phase devices, this object will return phase1 (1), 
       phase2 (2), or phase3 (3) for outlets tied to a single 
       phase.  For outlets tied to two phases, this object will
       return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
       phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
   ::= { ePDUOutletControlEntry 3 }

ePDUOutletControlOutletCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateOn             (1),
      immediateOff            (2),
      immediateReboot         (3),
      delayedOn               (4),
      delayedOff              (5),
      delayedReboot           (6),
      cancelPendingCommand    (7),
      outletIdentify					(8)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
        the outlet is on, the immediateOn (1) value will be returned.
        If the outlet is off, the immediateOff (2) value will be
        returned. 

       
        Setting this variable to immediateOn (1) will immediately turn 
        the outlet on.
       
        Setting this variable to immediateOff (2) will immediately turn 
        the outlet off. 

        Setting this variable to immediateReboot (3) will immediately 
        reboot the outlet.
      
        Setting this variable to delayedOn (4) will turn the outlet on
        after the ePDUOutletConfigPowerOnTime OID time has elapsed.   

        Setting this variable to delayedOff (5) will turn the outlet off
        after the ePDUOutletConfigPowerOffTime OID time has elapsed.

        Setting this variable to delayedReboot  (6) will cause the 
        Switched Rack PDU to perform a delayedOff command, wait the 
        ePDUOutletConfigRebootDuration OID time, and then perform a 
        delayedOn command. 
       
        Setting this variable to cancelPendingCommand (7) will cause any
        pending command to this outlet to be canceled.

        Setting this variable to outletIdentify (8) will cause PDU LED
        to display the number of the outlet."

    ::= { ePDUOutletControlEntry 4 }

ePDUOutletControlOutletBank    OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The bank associated with this outlet."
   ::= { ePDUOutletControlEntry 5 }



-- the ePDUOutletConfig group

ePDUOutletConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EPDUOutletConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual outlets. The number of
       entries is contained in the ePDUOutletDevNumCntrlOutlets OID."
   ::= { ePDUOutletConfig 1 }

ePDUOutletConfigEntry OBJECT-TYPE
   SYNTAX EPDUOutletConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to configure."
   INDEX  { ePDUOutletConfigIndex}
   ::= { ePDUOutletConfigTable 1 }

EPDUOutletConfigEntry ::=
   SEQUENCE {
      ePDUOutletConfigIndex                 INTEGER,
      ePDUOutletConfigOutletName            DisplayString,
      ePDUOutletConfigOutletPhase           INTEGER,
      ePDUOutletConfigPowerOnTime           INTEGER,
      ePDUOutletConfigPowerOffTime          INTEGER,
      ePDUOutletConfigRebootDuration        INTEGER,
      ePDUOutletConfigOutletBank            INTEGER
   }      

ePDUOutletConfigIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { ePDUOutletConfigEntry 1 }
   
ePDUOutletConfigOutletName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size."
   ::= { ePDUOutletConfigEntry 2 }

ePDUOutletConfigOutletPhase    OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3),
      phase1-2                   (4),
      phase2-3                   (5),
      phase3-1                   (6)
   }        
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The phase/s associated with this outlet.
      
       For single phase devices, this object will always 
       return phase1(1).
       
       For 3-phase devices, this object will return phase1 (1), 
       phase2 (2), or phase3 (3) for outlets tied to a single 
       phase.  For outlets tied to two phases, this object will
       return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
       phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
   ::= { ePDUOutletConfigEntry 3 }

ePDUOutletConfigPowerOnTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet will delay 
       powering on at coldstart or when a command that requires 
       a turn-on delay is issued.
              
       Allowed values are:

       -1        - never power on.
       0         - power on immediately.
       1 to 7200 - power on up to 7200 seconds after being
                  commanded."
   ::= { ePDUOutletConfigEntry 4 }

ePDUOutletConfigPowerOffTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet will delay 
       powering off when a command that requires 
       a turn-off delay is issued.

       Allowed values are:

       -1        - never power off.
       0         - power off immediately.
       1 to 7200 - power off up to 7200 seconds after being
                  commanded."
   ::= { ePDUOutletConfigEntry 5 }

ePDUOutletConfigRebootDuration OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "During a reboot sequence, power is turned off and then 
       back on. This OID defines the amount of time to wait, 
       in seconds, after turning the power off, at the start
       of the sequence, before turning power back on, at the
       end of the reboot sequence.       
       
       Allowed range is any value between 5 and 60 seconds (1 minute)."
   ::= { ePDUOutletConfigEntry 6 }

ePDUOutletConfigOutletBank    OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The bank associated with this outlet."
   ::= { ePDUOutletConfigEntry 7 }


-- Monitored Outlets table

ePDUOutletConfigMonitoredTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Outlet Config Monitored Table"
   ::= { ePDUOutletConfig 2 }


ePDUOutletConfigMonitoredTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletConfigMonitoredEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting/setting of outlet thresholds of an Outlet Monitored Rack PDU."
   ::= { ePDUOutletConfig 3 } 
   
ePDUOutletConfigMonitoredEntry  OBJECT-TYPE
   SYNTAX OutletConfigMonitoredEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Monitored Outlet entries"
   INDEX  { ePDUOutletConfigMonitoredIndex }
   ::= { ePDUOutletConfigMonitoredTable 1 }  

OutletConfigMonitoredEntry ::=
   SEQUENCE {
      ePDUOutletConfigMonitoredIndex                    INTEGER,
      ePDUOutletConfigMonitoredName                     DisplayString,
      ePDUOutletConfigMonitoredNumber                   INTEGER,
      ePDUOutletConfigMonitoredLowLoadThreshold         INTEGER,
      ePDUOutletConfigMonitoredNearOverloadThreshold    INTEGER,
      ePDUOutletConfigMonitoredOverloadThreshold        INTEGER,
      ePDUOutletConfigMonitoredPeakLoadReset            INTEGER, 
      ePDUOutletConfigMonitoredEnergyReset              INTEGER
   } 
   
ePDUOutletConfigMonitoredIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Phase entry."
   ::= { ePDUOutletConfigMonitoredEntry 1 }
   
ePDUOutletConfigMonitoredName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the Monitored Outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size."
   ::= { ePDUOutletConfigMonitoredEntry 2 }

ePDUOutletConfigMonitoredNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The outlet number of an Outlet Monitored RACK PDU."
   ::= { ePDUOutletConfigMonitoredEntry 3 }   


ePDUOutletConfigMonitoredLowLoadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing a low consumption condition. It is 
       represented in watts.  A warning will be issued when 
       the load is less than the threshold value. 
       
       A threshold value of 0 effectively disables this 
       warning.  
       
       Maximum value must be less than the value returned 
       by the ePDUOutletConfigMonitoredNearOverloadThreshold OID.
       
       0 will be returned if the unit is not Outlet Monitored Rack PDU."  
   ::= { ePDUOutletConfigMonitoredEntry 4 }

ePDUOutletConfigMonitoredNearOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented in watts.  A warning 
       will be issued when the load is greater than or equal 
       to the threshold value.
       
       Minimum value must be greater than the value returned by
       the ePDUOutletConfigMonitoredLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDUOutletConfigMonitoredOverloadThreshold OID.

       0 will be returned if the unit is not Outlet Monitored Rack PDU."
   ::= { ePDUOutletConfigMonitoredEntry 5 }

ePDUOutletConfigMonitoredOverloadThreshold OBJECT-TYPE
   SYNTAX INTEGER                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load has entered an overload condition. It is 
       represented in watts.  A warning 
       will be issued when the load is greater than or equal 
       to the threshold value.
       
       Minimum value must be greater than or equal to the value 
       returned by the ePDUOutletConfigMonitoredNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the ePDULoadDevMaxOutletLoad OID.

       0 will be returned if the unit is not Outlet Monitored Rack PDU."
   ::= { ePDUOutletConfigMonitoredEntry 6 }

ePDUOutletConfigMonitoredPeakLoadReset OBJECT-TYPE
   SYNTAX INTEGER {
      noAction    (1),
      reset       (2), 
      notSupport  (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset (2) will cause the existing peak power value
       to be replaced by the current load power value. 
       
       Getting this oid will do nothing and return noAction (1) if the PDU 
       support this feature, return notSupport (3) if the PDU do not support 
       this feature. "
   ::= { ePDUOutletConfigMonitoredEntry 7 }
   
ePDUOutletConfigMonitoredEnergyReset OBJECT-TYPE
   SYNTAX INTEGER {
      noAction    (1),
      reset       (2), 
      notSupport  (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset (2) will cause the device energy meter value
       to be reset to zero. 
       
       Getting this oid will do nothing and return noAction (1) if the PDU 
       support this feature, return notSupport (3) if the PDU do not support 
       this feature. "
   ::= { ePDUOutletConfigMonitoredEntry 8 }


-- the ePDUOutletStatus group

ePDUOutletStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EPDUOutletStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of individual outlets. The number of
       entries is contained in the ePDUOutletDevNumCntrlOutlets OID."
   ::= { ePDUOutletStatus 1 }

ePDUOutletStatusEntry OBJECT-TYPE
   SYNTAX EPDUOutletStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to gather status from."
   INDEX  { ePDUOutletStatusIndex}
   ::= { ePDUOutletStatusTable 1 }

EPDUOutletStatusEntry ::=
   SEQUENCE {
      ePDUOutletStatusIndex            INTEGER,
      ePDUOutletStatusOutletName       DisplayString,
      ePDUOutletStatusOutletPhase      INTEGER,
      ePDUOutletStatusOutletState      INTEGER,
      ePDUOutletStatusCommandPending   INTEGER,
      ePDUOutletStatusOutletBank       INTEGER,
      ePDUOutletStatusLoad             Gauge, 
      ePDUOutletStatusActivePower      Gauge, 
      ePDUOutletStatusAlarm            INTEGER, 
      ePDUOutletStatusPeakPower        Gauge, 
      ePDUOutletStatusPeakPowerTime    DisplayString, 
      ePDUOutletStatusPeakPowerStart   DisplayString, 
      ePDUOutletStatusEnergy           Gauge, 
      ePDUOutletStatusEnergyStartTime  DisplayString
   }

ePDUOutletStatusIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { ePDUOutletStatusEntry 1 }
   
ePDUOutletStatusOutletName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum string size is device dependent.
       This OID is provided for informational purposes only."
   ::= { ePDUOutletStatusEntry 2 }

ePDUOutletStatusOutletPhase    OBJECT-TYPE
   SYNTAX INTEGER {
      phase1                     (1),
      phase2                     (2),
      phase3                     (3),
      phase1-2                   (4),
      phase2-3                   (5),
      phase3-1                   (6)
   }        
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The phase/s associated with this outlet.
      
       For single phase devices, this object will always 
       return phase1(1).
       
       For 3-phase devices, this object will return phase1 (1), 
       phase2 (2), or phase3 (3) for outlets tied to a single 
       phase.  For outlets tied to two phases, this object will
       return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
       phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
   ::= { ePDUOutletStatusEntry 3 }

ePDUOutletStatusOutletState OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusOn              (1),
        outletStatusOff             (2)
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the outletStatusOn (1) value will be returned.
       If the outlet is off, the outletStatusOff (2) value will be
       returned."
   ::= { ePDUOutletStatusEntry 4 }

ePDUOutletStatusCommandPending    OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusCommandPending    (1),
        outletStatusNoCommandPending  (2)
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the command pending
        state of the outlet. If a command is pending on the 
        outlet, the outletStatusCommandPending (1) value
        will be returned. If there is not a command pending
        on the outlet, the outletStatusNoCommandPending (2)
        will be returned."
   ::= { ePDUOutletStatusEntry 5 }

ePDUOutletStatusOutletBank    OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The bank associated with this outlet."
   ::= { ePDUOutletStatusEntry 6 }  

ePDUOutletStatusLoad OBJECT-TYPE
   SYNTAX Gauge       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the measured Outlet load for an Outlet Monitored Rack PDU
       in tenths of Amps."
   ::= { ePDUOutletStatusEntry 7 }

ePDUOutletStatusActivePower OBJECT-TYPE
   SYNTAX Gauge       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the measured Outlet load for an Outlet Monitored Rack PDU
       in watts"
   ::= { ePDUOutletStatusEntry 8 }

ePDUOutletStatusAlarm OBJECT-TYPE
   SYNTAX INTEGER {
        noLoadAlarm             (1),
        underCurrentAlarm       (2),
        nearOverCurrentAlarm    (3),
        overCurrentAlarm        (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the current outlet alarm"
   ::= { ePDUOutletStatusEntry 9 }
   
ePDUOutletStatusPeakPower OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The peak power consumption of the Rack PDU load in watts. 
       This value can be reset by setting the oid 
       ePDUOutletConfigMonitoredPeakLoadReset to reset (2)"
   ::= { ePDUOutletStatusEntry 10 }

ePDUOutletStatusPeakPowerTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Get this oid shows the date and time that peak power consumption occurred"
   ::= { ePDUOutletStatusEntry 11 }
   
ePDUOutletStatusPeakPowerStart OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Get this oid shows the date and time that peak power consumption started"
   ::= { ePDUOutletStatusEntry 12 }
   
ePDUOutletStatusEnergy OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Energy meter measuring Rack PDU load energy consumption 
      in tenths of kilowatt-hours. This value can be reset by setting 
      the oid ePDUOutletConfigMonitoredEnergyReset to reset (2)"
   ::= { ePDUOutletStatusEntry 13 }
   
ePDUOutletStatusEnergyStartTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates the date and time of the last device energy
       meter reset"
   ::= { ePDUOutletStatusEntry 14 }


-- the ePDUOutletBank group

ePDUOutletBankTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletBankEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for management of outlets on a per bank basis."
   ::= { ePDUOutletBank 1 }

ePDUOutletBankEntry OBJECT-TYPE
   SYNTAX OutletBankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The bank to manage."
   INDEX  { ePDUOutletBankIndex}
   ::= { ePDUOutletBankTable 1 }

OutletBankEntry ::=
   SEQUENCE {
      ePDUOutletBankIndex                INTEGER,
      ePDUOutletBankOverloadRestriction  INTEGER
   }      

ePDUOutletBankIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Switched Rack PDU bank entry."
   ::= { ePDUOutletBankEntry 1 }

ePDUOutletBankOverloadRestriction OBJECT-TYPE
   SYNTAX INTEGER       {
      alwaysAllowTurnON         (1),
      restrictOnNearOverload    (2),
      restrictOnOverload        (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID controls the behavior of a Switched Rack PDU 
       bank when an overload condition is possible and 
       additional outlets are requested to be turned on. 

       Setting this OID to alwaysAllowTurnON (1) will always allow 
       the outlets on the corresponding bank to turn on.
       
       Setting this OID to restrictOnNearOverload (2) will not allow 
       outlets on the corresponding bank to turn on if the
       ePDULoadBankConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding bank to turn on if the 
       ePDULoadBankConfigOverloadThreshold OID is exceeded."
   ::= { ePDUOutletBankEntry 2 }


-- the ePDUPowerSupplyDevice group

ePDUPowerSupply1Status OBJECT-TYPE
   SYNTAX INTEGER       {
      powerSupplyOneOk             (1),
      powerSupplyOneFailed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return powerSupply1Ok(1) if power
       supply 1 is functioning normally.  If not functioning normally,
       this OID will return powerSupply1Failed(2)."
   ::= { ePDUPowerSupplyDevice 1 }

ePDUPowerSupply2Status OBJECT-TYPE
   SYNTAX INTEGER       {
      powerSupplyTwoOk             (1),
      powerSupplyTwoFailed         (2),
      powerSupplyTwoNotPresent     (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return powerSupply2Ok(1) if power
       supply 2 is functioning normally.  If not functioning normally,
       this OID will return powerSupply2Failed(2).

       Metered Rack PDUs do not have a redundant powersupply."

   ::= { ePDUPowerSupplyDevice 2 }

ePDUPowerSupplyAlarm OBJECT-TYPE
   SYNTAX INTEGER {
    allAvailablePowerSuppliesOK (1),
    powerSupplyOneFailed        (2),
    powerSupplyTwoFailed        (3),
    powerSupplyOneandTwoFailed  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return powerSupply Alarm"  
   ::= { ePDUPowerSupplyDevice 3 }


-- the ePDUStatus group  

ePDUStatusBankTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Status Bank Table"
   ::= { ePDUStatus 1 }


ePDUStatusBankTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BankEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Rack PDU Bank"
   ::= { ePDUStatus 2 } 
   
ePDUStatusBankEntry  OBJECT-TYPE
   SYNTAX BankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Bank entries"
   INDEX  { ePDUStatusBankIndex }
   ::= { ePDUStatusBankTable 1 }  

BankEntry ::=
   SEQUENCE {
      ePDUStatusBankIndex   INTEGER,
      ePDUStatusBankNumber  INTEGER,      
      ePDUStatusBankState   INTEGER
   } 
   
ePDUStatusBankIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Bank entry."
   ::= { ePDUStatusBankEntry 1 }
   
ePDUStatusBankNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the bank number."
   ::= { ePDUStatusBankEntry 2 }
   
ePDUStatusBankState    OBJECT-TYPE
   SYNTAX INTEGER {
      bankLoadNormal                 (1),
      bankLoadLow                    (2),
      bankLoadNearOverload           (3),
      bankLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the bank load state.
    
    bankLoadNormal(1) indicates that the bank is 
    operating properly within the ePDULoadBankConfigLowLoadThreshold 
    and ePDULoadBankConfigNearOverloadThreshold OID values.
    
    bankLoadLow(2) indicates that the bank load has
    dropped below the ePDULoadBankConfigLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    bankLoadNearOverload(3) indicates that the bank load
    is greater than or equal to the 
    ePDULoadBankConfigNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    bankLoadOverload(4) indicates that the bank load is
    greater than or equal to the ePDULoadBankConfigOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDUStatusBankEntry 3 }  
 
-- Phase status table

ePDUStatusPhaseTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Status Phase Table"
   ::= { ePDUStatus 3 }


ePDUStatusPhaseTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PhaseEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Rack PDU Phase"
   ::= { ePDUStatus 4 } 
   
ePDUStatusPhaseEntry  OBJECT-TYPE
   SYNTAX PhaseEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Phase entries"
   INDEX  { ePDUStatusPhaseIndex }
   ::= { ePDUStatusPhaseTable 1 }  

PhaseEntry ::=
   SEQUENCE {
      ePDUStatusPhaseIndex  INTEGER,
      ePDUStatusPhaseNumber INTEGER,  
      ePDUStatusPhaseState  INTEGER
   } 
   
ePDUStatusPhaseIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Phase entry."
   ::= { ePDUStatusPhaseEntry 1 }
   
ePDUStatusPhaseNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the phase number."
   ::= { ePDUStatusPhaseEntry 2 }
   
ePDUStatusPhaseState    OBJECT-TYPE
   SYNTAX INTEGER {
      phaseLoadNormal                 (1),
      phaseLoadLow                    (2),
      phaseLoadNearOverload           (3),
      phaseLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the Phase load state.
    
    phaseLoadNormal(1) indicates that the Phase is 
    operating properly within the ePDULoadPhaseConfigLowLoadThreshold 
    and ePDULoadPhaseConfigNearOverloadThreshold OID values.
    
    phaseLoadLow(2) indicates that the Phase load has
    dropped below the ePDULoadPhaseConfigLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    phaseLoadNearOverload(3) indicates that the Phase load
    is greater than or equal to the 
    ePDULoadPhaseConfigNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    phaseLoadOverload(4) indicates that the Phase load is
    greater than or equal to the ePDULoadPhaseConfigOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDUStatusPhaseEntry 3 }  


-- Outlet status table

ePDUStatusOutletTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the Status Outlet Table"
   ::= { ePDUStatus 5 }


ePDUStatusOutletTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of each Outlet of an Outlet Monitored Rack PDU."
   ::= { ePDUStatus 6 } 
   
ePDUStatusOutletEntry  OBJECT-TYPE
   SYNTAX OutletEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to Outlet entries"
   INDEX  { ePDUStatusOutletIndex }
   ::= { ePDUStatusOutletTable 1 }  

OutletEntry ::=
   SEQUENCE {
      ePDUStatusOutletIndex 	INTEGER,
      ePDUStatusOutletNumber 	INTEGER,
      ePDUStatusOutletState     INTEGER
   } 
   
ePDUStatusOutletIndex OBJECT-TYPE
   SYNTAX INTEGER(1..24)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Outlet entry."
   ::= { ePDUStatusOutletEntry 1 }
   
ePDUStatusOutletNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Outlet number."
   ::= { ePDUStatusOutletEntry 2 }

ePDUStatusOutletState    OBJECT-TYPE
   SYNTAX INTEGER {
      outletLoadNormal                 (1),
      outletLoadLow                    (2),
      outletLoadNearOverload           (3),
      outletLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the Outlet load state.
    
    outletLoadNormal(1) indicates that the Outlet is 
    operating properly within the ePDUOutletConfigMonitoredLowLoadThreshold 
    and ePDUOutletConfigMonitoredNearOverloadThreshold OID values.
    
    outletLoadLow(2) indicates that the Outlet load has
    dropped below the ePDUOutletConfigMonitoredLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    outletLoadNearOverload(3) indicates that the Outlet load
    is greater than or equal to the 
    ePDUOutletConfigMonitoredNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    outletLoadOverload(4) indicates that the Outlet load is
    greater than or equal to the ePDUOutletConfigMonitoredOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { ePDUStatusOutletEntry 3 }  

ePDUStatusInputVoltage OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input voltage in 0.1 Volt."
		::= { ePDUStatus 7 }

ePDUStatusInputFrequency OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input frequency in 0.1 Hertz."
		::= { ePDUStatus 8 }

-- environment Sensor Group

-- the envirIdent group

envirIdentName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the environment sensor.
       The maximum string size is device dependent."
   ::= { envirIdent 1 }

envirIdentLocation OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The location of the environment sensor.
       The maximum string size is device dependent."
   ::= { envirIdent 2 }

-- the envirTemp group

envirTemperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment temperature expressed in 1/10 Fahrenheit"
   ::= { envirTemp 1 }
   
envirTempHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high temperature threshold of the environment sensor.
       The value expressed in Fahrenheit."
   ::= { envirTemp 2 }

envirTempLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low temperature threshold of the environment sensor.
       The value expressed in Fahrenheit."
   ::= { envirTemp 3 }

envirTempRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the temperature.
       The value expressed in Fahrenheit per 5 minute."
   ::= { envirTemp 4 }

envirTempHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the temperature thresholds
       at which an active temperature alarm will be cleared.
       This configuration setting applies to all temperature
       thresholds.
       Units are displayed in Fahrenheit."
   ::= { envirTemp 5 }

envirTemperatureCelsius OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment temperature expressed in 1/10 Celsius"
   ::= { envirTemp 6 }

envirTempCelsiusHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high temperature threshold of the environment sensor.
       The value expressed in Celsius."
   ::= { envirTemp 7 }

envirTempCelsiusLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low temperature threshold of the environment sensor.
       The value expressed in Celsius."
   ::= { envirTemp 8 }

envirTempCelsiusRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the temperature.
       The value expressed in Celsius per 5 minute."
   ::= { envirTemp 9 }

envirTempCelsiusHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the temperature thresholds
       at which an active temperature alarm will be cleared.
       This configuration setting applies to all temperature
       thresholds.
       Units are displayed in Celsius."
   ::= { envirTemp 10 }

-- the envirHumid group

envirHumidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment relative humidity expressed in persentage."
   ::= { envirHumid 1 }
   
envirHumidHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high relative humidity threshold of the environment sensor.
       The value expressed in persentage."
   ::= { envirHumid 2 }

envirHumidLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low relative humidity threshold of the environment sensor.
       The value expressed in persentage."
   ::= { envirHumid 3 }

envirHumidRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the relative humidity.
       The value expressed in persentage per 5 minute."
   ::= { envirHumid 4 }

envirHumidHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the relative humidity thresholds
       at which an active relative humidity alarm will be cleared.
       This configuration setting applies to all relative humidity
       thresholds.
       Units are displayed in persentage."
   ::= { envirHumid 5 }

envirContactTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of the contact in the environment sensor."
   ::= { envirContact 1 }

envirContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of information of each contact of the environment sensor."
   ::= { envirContact 2 } 

envirContactEntry  OBJECT-TYPE
   SYNTAX ContactEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to contact entries."
   INDEX  { envirContactIndex }
   ::= { envirContactTable 1 }

ContactEntry ::=
   SEQUENCE {
      envirContactIndex         INTEGER,
      envirContactName 	        DisplayString,
      envirContactStatus 	      INTEGER,
      envirContactNormalState 	INTEGER
   }

envirContactIndex OBJECT-TYPE
   SYNTAX INTEGER(1..4)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the contact of the environment sensor."
   ::= { envirContactEntry 1 }
   
envirContactName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting or setting the name of the contact of the environment sensor."
   ::= { envirContactEntry 2 }

envirContactStatus OBJECT-TYPE
   SYNTAX INTEGER {
      contactNormal         (1),
      contactAbnormal       (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Contact Status."
   ::= { envirContactEntry 3 }

envirContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normalOpen         (1),
      normalClose        (2)
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Set the contact normal state."
   ::= { envirContactEntry 4 }

-- ats Group
-- the atsIdent group
atsIdentName OBJECT-TYPE
		SYNTAX  DisplayString    
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The name of the ATS. 
			The maximum string size is device dependent."
		::= { atsIdent 1 }

atsIdentModelName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifying the model name of the Automatic Transfer Switch. 
			This value is set at the factory."
		::= { atsIdent 2 }

atsIdentHardwareRev OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The hardware revision of the Automatic Transfer Switch. 
			This value is set at the factory."
		::= { atsIdent 3 }

atsIdentFirmwareRev OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifying the Automatic Transfer Switch 
			firmware revision." 
		::= {  atsIdent 4 }
   
atsIdentSerialNumber OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifying the serial number of 
			the Automatic Transfer Switch. This value is set at the factory."
		::= { atsIdent 5 }

atsIdentDateOfManufacture OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The date when the Automatic Transfer Switch was manufactured in mm/dd/yyyy format.
			This value is set at the factory. " 
		::= { atsIdent 6 }

atsIdentDeviceRatingVoltage OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifing the Automatic Transfer Switch rating voltage."
		::= { atsIdent 7 }

atsIdentDeviceRatingCurrent OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This gives the device rating current in Amps"
		::= { atsIdent 8 }

atsIdentDeviceOutletNum OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This gives the outlet number of the device"
		::= { atsIdent 9 }

atsIdentAgentModelName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifying the model name of the Agent." 
		::= { atsIdent 10 }

atsIdentAgentHardwareRevision OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The hardware revision of the Agent."
		::= { atsIdent 11 }

atsIdentAgentFirmwareRevision OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifying the Agent firmware revision." 
		::= {  atsIdent 12 }
   
atsIdentAgentSerialNumber OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A string identifying the serial number of the Agent."
		::= { atsIdent 13 }

-- the atsStatus group
-- the atsStatusDevice group in atsStatus group
atsStatusCommStatus OBJECT-TYPE
		SYNTAX INTEGER {
			atsNeverDiscovered	(1),
			atsCommEstablished	(2),
			atsCommLost					(3)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the current communication status
			between the Automatic Transfer Switch and the Agent. "
		::= { atsStatusDevice 1 }
 
atsStatusSelectedSource OBJECT-TYPE
		SYNTAX INTEGER {
			sourceA		(1),
      sourceB		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the current source of power. "
		::= { atsStatusDevice 2 } 
   
atsStatusRedundancyState OBJECT-TYPE
		SYNTAX INTEGER {
			atsRedundancyLost		(1),
			atsFullyRedundant		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the current redundancy state of the ATS.
			atsRedundancyLost(1) indicates that the ATS is unable to
			switch over to the alternate power source if the current source fails.
			atsFullyRedundant(2) indicates that the ATS will switch over to 
			the alternate power source if the current source fails."
		::= { atsStatusDevice 3 }
   
atsStatusPhaseSyncStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			inSync			(1),
			outOfSync		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the phase sync."
		::= { atsStatusDevice 4 } 

atsStatusDevSourceRelayStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			sourceRelayNormal		(1),
			sourceRelayFail			(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the source relay."
		::= { atsStatusDevice 5 }

atsStatusDevInRelayStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			inputRelayNormal		(1),
			inputRelayFail			(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the input relay."
		::= { atsStatusDevice 6 }

atsStatusDevOutRelayStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			outputRelayNormal		(1),
			outputRelayFail			(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the Output relay."
		::= { atsStatusDevice 7 }

atsStatusDevLCDCommStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			lcdCommNormal		(1),
			lcdCommFail			(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the communication status of the LCD."
		::= { atsStatusDevice 8 }

atsStatusDevDB9CommStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			db9CommNormal		(1),
			db9CommFail			(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the communication status of the DB9."
		::= { atsStatusDevice 9 }

-- the atsStatusPowerSupplyTable in atsStatusDevice group
atsStatusPowerSupplyTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtsStatusPowerSupplyEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A list of power supply table entries."
	::= { atsStatusDevice 10 }

atsStatusPowerSupplyEntry OBJECT-TYPE
		SYNTAX AtsStatusPowerSupplyEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"An entry containing power supply information applicable to a
			particular input."
			
		INDEX { atsStatusPowerSupplyTableIndex }
		::= { atsStatusPowerSupplyTable 1 }

		AtsStatusPowerSupplyEntry ::= SEQUENCE {
			atsStatusPowerSupplyTableIndex				INTEGER,
			atsStatusPowerSupplyInputSource				INTEGER,
			atsStatusPowerSupply12VStatus					INTEGER,
			atsStatusPowerSupply5VStatus					INTEGER,
			atsStatusPowerSupply3p3VStatus				INTEGER
		}

atsStatusPowerSupplyTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input identifier."
		::= { atsStatusPowerSupplyEntry 1 }

atsStatusPowerSupplyInputSource OBJECT-TYPE
		SYNTAX INTEGER  {
			sourceA		(1),
			sourceB		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input source to the power supply."
		::= { atsStatusPowerSupplyEntry 2 }

atsStatusPowerSupply12VStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			powerSupplyOK					(1),
			powerSupplyFailure		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the power supply A 12V in system."
		::= { atsStatusPowerSupplyEntry 3 }

atsStatusPowerSupply5VStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			powerSupplyOK					(1),
			powerSupplyFailure		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the power supply A 5V in system."
		::= { atsStatusPowerSupplyEntry 4 }
		
atsStatusPowerSupply3p3VStatus OBJECT-TYPE
		SYNTAX INTEGER  {
			powerSupplyOK					(1),
			powerSupplyFailure		(2)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the status of the power supply A 3.3V in system."
		::= { atsStatusPowerSupplyEntry 5 }

-- the atsStatusInput group in atsStatus group   
atsStatusInputNum OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of input feeds to this device.
			This variable indicates the number of rows in the
			status input table."
	::= { atsStatusInput 1 }
   
-- the atsStatusInputTable in atsStatusInput group
atsStatusInputTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtsStatusInputEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A list of input table entries.  The number of entries
			is given by the value of atsNumInputs."
	::= { atsStatusInput 2 }

atsStatusInputEntry OBJECT-TYPE
		SYNTAX AtsStatusInputEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"An entry containing information applicable to a
			particular input."
			
		INDEX { atsStatusInputTableIndex }
		::= { atsStatusInputTable 1 }

		AtsStatusInputEntry ::= SEQUENCE {
			atsStatusInputTableIndex					INTEGER,
			atsStatusInputName								DisplayString,
			atsStatusNumInputPhase			      INTEGER,
			atsStatusInputVoltageOrientation	INTEGER,
			atsStatusInputVoltage							INTEGER,
			atsStatusInputFrequency						INTEGER,
			atsStatusInputVolState						INTEGER,    
			atsStatusInputFreqState						INTEGER  
		}

atsStatusInputTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input identifier."
		::= { atsStatusInputEntry 1 }

atsStatusInputName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A name given to a particular input."
		::= { atsStatusInputEntry 2 }

atsStatusNumInputPhase OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of input phases utilized in this device.  
			The sum of all the atsStatusNumInputPhase variable 
			indicates the number of rows in the status input 
			phase table."
		::= { atsStatusInputEntry 3 }

atsStatusInputVoltageOrientation OBJECT-TYPE
		SYNTAX INTEGER {
			unknown										(1),
			singlePhase								(2),
			splitPhase								(3),
			threePhasePhaseToNeutral	(4),
			threePhasePhaseToPhase		(5)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input voltage orientation: 
			1: unknown for this Source
			2: singlePhase - phase 1 voltage is between Phase 1
			and Neutral.
			3: splitPhase - phase 1 voltage is between Phase 1 and 
			Neutral; phase 2 voltage is between Phase 2 and Neutral; 
			phase 3 voltage is between Phase 1 and Phase 2.
			4: threePhasePhaseToNeutral - phase 1 voltage is between
			Phase 1 and Neutral; phase 2 voltage is between Phase 2 
			and Neutral; phase 3 voltage is between Phase 3 and
			Neutral.
			5: threePhasePhaseToPhase - phase 1 voltage is between 
			Phase 1 and Phase 2; phase 2 voltage is between Phase 2
			and Phase 3; phase 3 voltage is between Phase 3 and
			Phase 1."
		::= { atsStatusInputEntry 4 }

atsStatusInputVoltage OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input voltage in 0.1 Volt."
		::= { atsStatusInputEntry 5 }

atsStatusInputFrequency OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input frequency in 0.1 Hertz."
		::= { atsStatusInputEntry 6 }

atsStatusInputVolState OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			overVoltage			(2),
			underVoltage		(3)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input voltage status."
		::= { atsStatusInputEntry 7 } 

atsStatusInputFreqState OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			overFrequency		(2),
			underFrequency	(3)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input frequency status."
		::= { atsStatusInputEntry 8 } 

-- the atsStatusInputPhaseTable in atsStatusInput group
atsStatusInputPhaseTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtsStatusInputPhaseEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A list of input table entries.  The number of entries
			is given by the sum of the atsNumInputPhases."
		::= { atsStatusInput 3 }

atsStatusInputPhaseEntry OBJECT-TYPE
		SYNTAX AtsStatusInputPhaseEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"An entry containing information applicable to a
			particular input phase."

		INDEX { atsStatusInputPhaseTableIndex, atsStatusInputPhaseIndex }
		::= { atsStatusInputPhaseTable 1 }

		AtsStatusInputPhaseEntry ::= SEQUENCE {
			atsStatusInputPhaseTableIndex			INTEGER,
			atsStatusInputPhaseIndex					INTEGER,
			atsStatusInputPhaseVoltage				INTEGER,
			atsStatusInputPhaseCurrent				INTEGER,
			atsStatusInputPhasePower					INTEGER
		}

atsStatusInputPhaseTableIndex OBJECT-TYPE
		SYNTAX INTEGER (1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input identifier."
		::= { atsStatusInputPhaseEntry 1 }

atsStatusInputPhaseIndex OBJECT-TYPE
		SYNTAX INTEGER(1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input phase identifier."
		::= { atsStatusInputPhaseEntry 2 }

atsStatusInputPhaseVoltage OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input voltage in VAC, or -1 if it's unsupported
			by this Source."
		::= { atsStatusInputPhaseEntry 3 }

atsStatusInputPhaseCurrent OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input current in amperes, or -1 if it's
			unsupported by this Source."
		::= { atsStatusInputPhaseEntry 4 }

atsStatusInputPhasePower OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input power in Watts, or -1 if it's unsupported
			by this Source."
		::= { atsStatusInputPhaseEntry 5 }

-- the atsConfig group
atsConfigPreferredSource OBJECT-TYPE
		SYNTAX INTEGER  {
			sourceA			(1),
      sourceB			(2),
      none				(3)
		} 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable returns the preferred source of power when both sources are OK."
		::= { atsConfig 1 }

atsConfigNominalVoltage OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable returns the nominal voltage of the input."
		::= { atsConfig 2 }

atsConfigVoltageSensitivity OBJECT-TYPE
		SYNTAX INTEGER {
			high				(1),
			medium			(2),
			low					(3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable defines the sensitivity to changes in voltage: 
			high(1) for best protection, low(3) for frequent small line 
			voltage changes."
		::= { atsConfig 3 }

atsConfigTransferVoltageRange OBJECT-TYPE
		SYNTAX INTEGER {
			wide				(1),
			medium			(2),
			narrow			(3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable defines the range of acceptable voltage from a power source.
			If the voltage measured from the selected input source is not within this
			range, the Automatic Transfer Switch will switch over (transfer) to the 
			alternate power source."
		::= { atsConfig 4 }

atsConfigNarrowRangeValue OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the Narrow Range value of acceptable voltage 
			from a power source."
		::= { atsConfig 5 }

atsConfigMediumRangeValue OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the Medium Range value of acceptable voltage 
			from a power source."
		::= { atsConfig 6 }

atsConfigWideRangeValue OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the Wide Range value of acceptable voltage 
			from a power source."
		::= { atsConfig 7 }

atsConfigFrequencyDeviation OBJECT-TYPE
		SYNTAX INTEGER (1..3)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the frequency deviation."
		::= { atsConfig 8 }

atsConfigDevLCDOffTime OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) which LCD turn off automatically 
			after it remains idle for."
		::= { atsConfig 9 }

--  the atsControl group    
atsCtrlResetATS OBJECT-TYPE
		SYNTAX INTEGER  {
			none				(1),
			rboot				(2), 
			reset				(3) 
		} 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this variable will cause the Automatic Transfer Switch to 
			reboot or reset relative setting to default value."
		::= { atsControl 1 }

atsCtrlClearEventCounts OBJECT-TYPE
		SYNTAX INTEGER  {
			none				(1),
			clear				(2) 
		} 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this variable will clear all event counts in Automatic Transfer Switch.
			Returns (-1) if unsupported."
		::= { atsControl 2 }

--  the atsLoad group   
--  the atsLoadDevice group in the atsLoad group
atsLoadDevPhaseTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the Phase Table."
		::= { atsLoadDevice 1 }

-- the atsLoadDevPhaseTable in atsLoadDevice group
atsLoadDevPhaseTable OBJECT-TYPE
		SYNTAX SEQUENCE OF LoadDevPhaseEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Phase Max Load in the ATS."
		::= { atsLoadDevice 2 }

atsLoadDevPhaseEntry OBJECT-TYPE
		SYNTAX LoadDevPhaseEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The ATS Phases Access."
		INDEX  { atsLoadDevPhaseTableIndex}
		::= { atsLoadDevPhaseTable 1 }

		LoadDevPhaseEntry ::=
		SEQUENCE {
			atsLoadDevPhaseTableIndex		INTEGER,
			atsLoadDevPhase             INTEGER,
			atsLoadDevPhaseMaxLoad			INTEGER      
		}

atsLoadDevPhaseTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to ATS phase entry."
		::= { atsLoadDevPhaseEntry 1 }     
		
atsLoadDevPhase OBJECT-TYPE
		SYNTAX INTEGER {
			phase1							(1),
			phase2							(2),
			phase3							(3),
			phase1-2						(4),
			phase2-3						(5),
			phase3-1						(6)
		}        
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"For single phase devices, this object will always 
			return phase1(1).
       
			For 3-phase devices, this object will return phase1 (1), 
			phase2 (2), phase3 (3), phase1-2 (4) for phases 1 and 2, 
			phase2-3 (5) for phases 2 and 3, and phase3-1 (6) for 
			phases 3 and 1."
		::= { atsLoadDevPhaseEntry 2 }
		
atsLoadDevPhaseMaxLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the maximum rated power that each 
			phase of the ATS can provide. It is represented in Amps."
		::= { atsLoadDevPhaseEntry 3 }    

atsLoadDevBankTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the Bank Table."
		::= { atsLoadDevice 3 }
   
-- the atsLoadDevBankTable in atsLoadDevice group
atsLoadDevBankTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtsLoadDevBankEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Bank Max Load in the ATS."
		::= { atsLoadDevice 4 }

atsLoadDevBankEntry OBJECT-TYPE
		SYNTAX AtsLoadDevBankEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The ATS Banks Access."
		INDEX  { atsLoadDevBankTableIndex}
		::= { atsLoadDevBankTable 1 }

		AtsLoadDevBankEntry ::=
		SEQUENCE {
			atsLoadDevBankTableIndex		INTEGER,
			atsLoadDevBankMaxLoad				INTEGER
		}

atsLoadDevBankTableIndex OBJECT-TYPE
		SYNTAX INTEGER {
			total					(1),
			bank1					(2),
			bank2					(3),
			bank3					(4)
		}               
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the ATS bank entry."
		::= { atsLoadDevBankEntry 1 }     

atsLoadDevBankMaxLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the maximum rated power
			that each bank of the ATS can provide. It is 
			represented in Amps."
		::= { atsLoadDevBankEntry 2 }    

--  the atsLoadStatus group in the atsLoad group
atsLoadStatusPhaseTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the Phase Table."
		::= { atsLoadStatus 1 }

-- the atsLoadStatusPhaseTable in atsLoadStatus group
atsLoadStatusPhaseTable OBJECT-TYPE
		SYNTAX SEQUENCE OF LoadStatusPhaseEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Phase Load status in the ATS."
		::= { atsLoadStatus 2 }

atsLoadStatusPhaseEntry OBJECT-TYPE
		SYNTAX LoadStatusPhaseEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The ATS Phases Access."
		INDEX  { atsLoadStatusPhaseTableIndex}
		::= { atsLoadStatusPhaseTable 1 }

		LoadStatusPhaseEntry ::=
		SEQUENCE {
			atsLoadStatusPhaseTableIndex			INTEGER,
			atsLoadStatusPhase                INTEGER,
			atsLoadStatusPhaseLoad						INTEGER,      
			atsLoadStatusPhaseLoadState				INTEGER,
			atsLoadStatusPhasePower						INTEGER   
		}

atsLoadStatusPhaseTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to ATS phase entry."
		::= { atsLoadStatusPhaseEntry 1 }     

atsLoadStatusPhase OBJECT-TYPE
		SYNTAX INTEGER {
			phase1							(1),
			phase2							(2),
			phase3							(3),
			phase1-2						(4),
			phase2-3						(5),
			phase3-1						(6)
		}        
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"For single phase devices, this object will always 
			return phase1(1).
       
			For 3-phase devices, this object will return phase1 (1), 
			phase2 (2), phase3 (3), phase1-2 (4) for phases 1 and 2, 
			phase2-3 (5) for phases 2 and 3, and phase3-1 (6) for 
			phases 3 and 1."
		::= { atsLoadStatusPhaseEntry 2 }

atsLoadStatusPhaseLoad OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The output current in 0.1 amperes drawn 
			by the load on the ATS"
		::= { atsLoadStatusPhaseEntry 3 }

atsLoadStatusPhaseLoadState OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			lowLoad					(2),
			nearOverLoad		(3),
			overLoad				(4)
		}               
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the phase load state." 
		::= { atsLoadStatusPhaseEntry 4 } 
       
atsLoadStatusPhasePower OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The output power in Watts."
		::= { atsLoadStatusPhaseEntry 5 } 

atsLoadStatusBankTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the Bank Table."
		::= { atsLoadStatus 3 }

-- the atsLoadStatusBankTable in atsLoadStatus group
atsLoadStatusBankTable OBJECT-TYPE
		SYNTAX SEQUENCE OF LoadStatusBankEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting the Bank Load status in the ATS."
		::= { atsLoadStatus 4 }

atsLoadStatusBankEntry OBJECT-TYPE
		SYNTAX LoadStatusBankEntry  
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The ATS Bank Access."
		INDEX  { atsLoadStatusBankTableIndex}
		::= { atsLoadStatusBankTable 1 }

		LoadStatusBankEntry ::=
		SEQUENCE {
			atsLoadStatusBankTableIndex		INTEGER,  
			atsLoadStatusBankPhase				INTEGER,
			atsLoadStatusBankLoad					INTEGER,   
			atsLoadStatusBankLoadState		INTEGER,
			atsLoadStatusBankPower				INTEGER,
			atsLoadStatusBankEnergy				INTEGER,
			atsLoadStatusBankStartTime		INTEGER
		}

atsLoadStatusBankTableIndex OBJECT-TYPE
		SYNTAX INTEGER {
			total					(1),
			bank1					(2),
			bank2					(3),
			bank3					(4)
		}         
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to ATS bank entry."
		::= { atsLoadStatusBankEntry 1 }     

atsLoadStatusBankPhase OBJECT-TYPE
		SYNTAX INTEGER {
			phase1							(1),
			phase2							(2),
			phase3							(3),
			phase1-2						(4),
			phase2-3						(5),
			phase3-1						(6)
		}        
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the phase number."
		::= { atsLoadStatusBankEntry 2 }  

atsLoadStatusBankLoad OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The output current in 0.1 amperes drawn 
			by the load on the ATS"
		::= { atsLoadStatusBankEntry 3 }

atsLoadStatusBankLoadState OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			lowLoad					(2),
			nearOverLoad		(3),
			overLoad				(4)
		}               
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the bank load state." 
		::= { atsLoadStatusBankEntry 4 } 
       
atsLoadStatusBankPower OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The output power in Watts."
		::= { atsLoadStatusBankEntry 5 } 

atsLoadStatusBankEnergy OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			 "Getting this OID will return the phase/bank apparent power measured in 0.1 kilowatt-hours."
		::= { atsLoadStatusBankEntry 6 }
		
atsLoadStatusBankStartTime OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			 "Getting this OID will return the date and time of the last energy meter reset" 
		::= { atsLoadStatusBankEntry 7 }		
 
--  the atsLoadConfig group in the atsLoad group
atsLoadCfgPhaseTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the Phase Table."
		::= { atsLoadConfig 1 }

-- the atsLoadCfgPhaseTable in atsLoadConfig group
atsLoadCfgPhaseTable OBJECT-TYPE
		SYNTAX SEQUENCE OF LoadCfgPhaseEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for configuration of each ATS phase."
		::= { atsLoadConfig 2 }

atsLoadCfgPhaseEntry OBJECT-TYPE
		SYNTAX LoadCfgPhaseEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The ATS phase to configure."
		INDEX  { atsLoadCfgPhaseTableIndex}
		::= { atsLoadCfgPhaseTable 1 }

		LoadCfgPhaseEntry ::=
		SEQUENCE {
			atsLoadCfgPhaseTableIndex									INTEGER,
			atsLoadCfgPhase                           INTEGER,
			atsLoadCfgPhaseLowLoad										INTEGER,
			atsLoadCfgPhaseNearOverLoad 							INTEGER,
			atsLoadCfgPhaseOverLoad										INTEGER,
			atsLoadCfgPhaseOutletRestriction        	INTEGER
		}      

atsLoadCfgPhaseTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..10)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the ATS phase entry."
		::= { atsLoadCfgPhaseEntry 1 }

atsLoadCfgPhase OBJECT-TYPE
		SYNTAX INTEGER {
			phase1							(1),
			phase2							(2),
			phase3							(3),
			phase1-2						(4),
			phase2-3						(5),
			phase3-1						(6)
		}        
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"For single phase devices, this object will always 
			return phase1(1).
       
			For 3-phase devices, this object will return phase1 (1), 
			phase2 (2), phase3 (3), phase1-2 (4) for phases 1 and 2, 
			phase2-3 (5) for phases 2 and 3, and phase3-1 (6) for 
			phases 3 and 1."
		::= { atsLoadCfgPhaseEntry 2 }

atsLoadCfgPhaseLowLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A threshold that indicates the power consumption of
			the load is nearing a low consumption condition. It is 
			represented in Amps.  A warning will be issued when the
			load is less than the threshold value.  
       
			A threshold value of 0 Amps effectively disables this 
			warning."  
		::= { atsLoadCfgPhaseEntry 3 }

atsLoadCfgPhaseNearOverLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A threshold that indicates the power consumption of
			the load is nearing an overload condition. It is 
			represented in Amps.  A warning will be issued when the 
			load is greater than or equal to the threshold value."
		::= { atsLoadCfgPhaseEntry 4 }

atsLoadCfgPhaseOverLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A threshold that indicates the power consumption of
			the load has entered an overload condition. It is 
			represented in Amps.  A warning will be issued when the 
			load is greater than or equal to the threshold value."
		::= { atsLoadCfgPhaseEntry 5}

atsLoadCfgPhaseOutletRestriction OBJECT-TYPE
		SYNTAX INTEGER {
			alwaysAllowTurnON					(1),
			restrictOnNearOverload		(2),
			restrictOnOverload				(3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This OID controls the behavior of a ATS phase when an overload 
			condition is possible and additional outlets are requested to be 
			turned on. 

			Setting this OID to alwaysAllowTurnON (1) will always allow 
			the outlets on the corresponding phase to turn on.
       
			Setting this OID to restrictOnNearOverload (2) will not allow
			outlets on the corresponding phase to turn on if the 
			ePDULoadConfigNearOverloadThreshold OID is exceeded.
              
			Setting this OID to restrictOnOverload (3) will not allow
			outlets on the corresponding phase to turn on if the 
			ePDULoadConfigOverloadThreshold OID is exceeded."
		::= { atsLoadCfgPhaseEntry 6 }

atsLoadCfgBankTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the Bank Table."
		::= { atsLoadConfig 3 }

-- the atsLoadCfgBankTable in atsLoadConfig group
atsLoadCfgBankTable OBJECT-TYPE
		SYNTAX SEQUENCE OF LoadCfgBankEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for configuration of each ATS bank."
		::= { atsLoadConfig 4 }

atsLoadCfgBankEntry OBJECT-TYPE
		SYNTAX LoadCfgBankEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The ATS phase to configure."
		INDEX  { atsLoadCfgBankTableIndex}
		::= { atsLoadCfgBankTable 1 }

		LoadCfgBankEntry ::=
		SEQUENCE {
			atsLoadCfgBankTableIndex					INTEGER,
			atsLoadCfgBankLowLoad							INTEGER,
			atsLoadCfgBankNearOverLoad				INTEGER,
			atsLoadCfgBankOverLoad						INTEGER,
			atsLoadCfgBankOutletRestriction		INTEGER,
			atsLoadCfgBankEnergyReset					INTEGER
		}

atsLoadCfgBankTableIndex OBJECT-TYPE
		SYNTAX INTEGER {
			total					(1),
			bank1					(2),
			bank2					(3),
			bank3					(4)
		}            
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the ATS bank entry."
		::= { atsLoadCfgBankEntry 1 }

atsLoadCfgBankLowLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A threshold that indicates the power consumption of
			the load is nearing a low consumption condition. It is 
			represented in Amps.  A warning will be issued when the
			load is less than the threshold value.  
       
			A threshold value of 0 Amps effectively disables this 
			warning."  
		::= { atsLoadCfgBankEntry 2 }

atsLoadCfgBankNearOverLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A threshold that indicates the power consumption of
			the load is nearing an overload condition. It is 
			represented in Amps.  A warning will be issued when the 
			load is greater than or equal to the threshold value."
		::= { atsLoadCfgBankEntry 3 }

atsLoadCfgBankOverLoad OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A threshold that indicates the power consumption of
			the load has entered an overload condition. It is 
			represented in Amps.  A warning will be issued when the 
			load is greater than or equal to the threshold value."
		::= { atsLoadCfgBankEntry 4 }

atsLoadCfgBankOutletRestriction OBJECT-TYPE
		SYNTAX INTEGER       {
			alwaysAllowTurnON						(1),
			restrictOnNearOverload			(2),
			restrictOnOverload					(3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This OID controls the behavior of a ATS phase when an overload 
			condition is possible and additional outlets are requested to be 
			turned on. 

			Setting this OID to alwaysAllowTurnON (1) will always allow 
			the outlets on the corresponding phase to turn on.
       
			Setting this OID to restrictOnNearOverload (2) will not allow
			outlets on the corresponding phase to turn on if the 
			ePDULoadConfigNearOverloadThreshold OID is exceeded.
              
			Setting this OID to restrictOnOverload (3) will not allow
			outlets on the corresponding phase to turn on if the 
			ePDULoadConfigOverloadThreshold OID is exceeded."
		::= { atsLoadCfgBankEntry 5 }

atsLoadCfgBankEnergyReset OBJECT-TYPE
		SYNTAX INTEGER {
			noOperation (1),
			reset (2)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this OID to reset (2) will cause the bank energy meter value to be reset to zero. 
			Getting this OID will do nothing and return the noOperation(1) value."
		::= { atsLoadCfgBankEntry 6 }

--  the atsOutlet group   
--  the atsOutletDevice group in the atsOutlet group
atsOutletDevTotalOutletNum OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The total number of outlets on the ATS."
		::= { atsOutletDevice 1 }

atsOutletDevCtrlOutletNum OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of controlled outlets on the ATS."
		::= { atsOutletDevice 2 }
		
atsOutletDevColdStartDelay  OBJECT-TYPE
		SYNTAX INTEGER                
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of delay, in seconds, between when
			power is provided to the ATS and when the ATS 
			provides basic master power to the outlets.       
       
			Allowed values are:

			-1       - never apply power automatically.
			0        - apply power immediately.
			1 to 300 - delay up to 300 seconds (5 minutes)."
		::= { atsOutletDevice 3 }
   
atsOutletDevColdStartState OBJECT-TYPE
		SYNTAX INTEGER {
			allOn                      (1),
			previous                   (2)
		}        
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The ATS outlet state after coldstart. 
			Allowed values are:
			1 - all outlets on after coldstart.
			2 - outlet status same as previous state."
		::= { atsOutletDevice 4 }
		
atsOutletDevLocalCtrl  OBJECT-TYPE
		SYNTAX INTEGER {
			enable			(1),
			disable			(2)
		}        
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure enable or disable outlet local control function."
		::= { atsOutletDevice 5 }

atsOutletDevCommand  OBJECT-TYPE
	SYNTAX INTEGER       {
      noCommandAll               (1),
      immediateAllOn             (2),
      immediateAllOff            (3),
      immediateAllReboot         (4),
      delayedAllOn               (5),
      delayedAllOff              (6),
      delayedAllReboot           (7),
      cancelAllPendingCommands   (8)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to immediateAllOn (2) will turn all outlets
       on immediately.
       
       Setting this OID to immediateAllOff (3) will turn all outlets
       off immediately.
       
       Setting this OID to immediateAllReboot (4) will reboot all outlets
       immediately.

       Setting this OID to delayedAllOn (5) will turn all outlets on as 
       defined by each outlet's atsOutletCfgPowerOnTime OID value. 
             
       Setting this OID to delayedAllOff (6) will turn all outlets 
       off as defined by each outlet's atsOutletCfgPowerOffTime OID value.
      
       Setting this OID to delayedAllReboot (7) will cause a 
       delayedAllOff command to be performed. Once all outlets are off, 
       the Switched Rack ATS will then delay the largest 
       atsOutletCfgRebootDuration OID time, and then perform a 
       delayedAllOn command.    
       
       Setting this OID to cancelAllPendingCommands (8) will cause all pending
       commands on the Switched Rack ATS to be canceled.

       Getting this OID will return the noCommandAll (1) value."
   ::= { atsOutletDevice 6 }

atsOutletStatusTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the outlet status table."
		::= { atsOutlet 2 }
		
-- the atsOutletStatusTable in atsOutlet group
atsOutletStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF OutletStatusEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for getting of status of individual outlets."
		::= { atsOutlet 3 }

atsOutletStatusEntry OBJECT-TYPE
		SYNTAX OutletStatusEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The outlet to gather status from."
		INDEX  { atsOutletStatusTableIndex}
		::= { atsOutletStatusTable 1 }

		OutletStatusEntry ::=
		SEQUENCE {
			atsOutletStatusTableIndex						INTEGER,
			atsOutletStatusOutletName						DisplayString,
			atsOutletStatusOutletState					INTEGER,
			atsOutletStatusOutletCmdPending			INTEGER,
			atsOutletStatusOutletPhase					INTEGER,
			atsOutletStatusOutletBank						INTEGER
		}

atsOutletStatusTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..19)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the outlet entry."
		::= { atsOutletStatusEntry 1 }
   
atsOutletStatusOutletName    OBJECT-TYPE
		SYNTAX  DisplayString    
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"The name of the outlet. The maximum string size is device dependent.
			This OID is provided for informational purposes only."
		::= { atsOutletStatusEntry 2 }

atsOutletStatusOutletState OBJECT-TYPE
		SYNTAX INTEGER {
			outletStatusOn					(1),
			outletStatusOff					(2)
		}     
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the outlet state. If 
			the outlet is on, the outletStatusOn (1) value will be returned.
			If the outlet is off, the outletStatusOff (2) value will be
			returned."
		::= { atsOutletStatusEntry 3 }

atsOutletStatusOutletCmdPending OBJECT-TYPE
		SYNTAX INTEGER {
			outletStatusCommandPending			(1),
			outletStatusNoCommandPending		(2)
		}     
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the command pending
			state of the outlet. If a command is pending on the 
			outlet, the outletStatusCommandPending (1) value
			will be returned. If there is not a command pending
			on the outlet, the outletStatusNoCommandPending (2)
			will be returned."
		::= { atsOutletStatusEntry 4 }

atsOutletStatusOutletPhase OBJECT-TYPE
		SYNTAX INTEGER {
			phase1							(1),
			phase2							(2),
			phase3							(3),
			phase1-2						(4),
			phase2-3						(5),
			phase3-1						(6)
		}        
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"The phase/s associated with this outlet.
      
			For single phase devices, this object will always 
			return phase1(1).
       
			For 3-phase devices, this object will return phase1 (1), 
			phase2 (2), or phase3 (3) for outlets tied to a single 
			phase.  For outlets tied to two phases, this object will
			return phase1-2 (4) for phases 1 and 2, phase2-3 (5) for 
			phases 2 and 3, and phase3-1 (6) for phases 3 and 1."
		::= { atsOutletStatusEntry 5 }

atsOutletStatusOutletBank OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"The bank associated with this outlet."
		::= { atsOutletStatusEntry 6 }  

atsOutletCtrlTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the outlet control table."
		::= { atsOutlet 4 }
		
-- the atsOutletCtrlTable in atsOutlet group
atsOutletCtrlTable OBJECT-TYPE
		SYNTAX SEQUENCE OF OutletCtrlEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for control of the individual outlets."
		::= { atsOutlet 5 }

atsOutletCtrlEntry OBJECT-TYPE
		SYNTAX OutletCtrlEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The outlet to control."
		INDEX  { atsOutletCtrlTableIndex}
		::= { atsOutletCtrlTable 1 }

		OutletCtrlEntry ::=
		SEQUENCE {
			atsOutletCtrlTableIndex					INTEGER,
			atsOutletCtrlOutletName					DisplayString,
			atsOutletCtrlCommand						INTEGER
		}

atsOutletCtrlTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..19)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the outlet entry."
		::= { atsOutletCtrlEntry 1 }
   
atsOutletCtrlOutletName    OBJECT-TYPE
		SYNTAX  DisplayString
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"The name of the outlet. The maximum string size is device dependent.
			An error will be returned if the set request exceeds the max size.
			This OID is provided for informational purposes only."
		::= { atsOutletCtrlEntry 2 }

atsOutletCtrlCommand OBJECT-TYPE
		SYNTAX INTEGER {
			none										(1),
			immediateOn							(2),
			immediateOff						(3),
			immediateReboot					(4),
			delayedOn								(5),
			delayedOff							(6),
			delayedReboot						(7),
			cancelPendingCommand		(8)
		}     
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the outlet state. If 
			the outlet is on, the immediateOn (2) value will be returned.
			If the outlet is off, the immediateOff (2) value will be
			returned. 
       
			Setting this variable to immediateOn (2) will immediately turn 
			the outlet on.
       
			Setting this variable to immediateOff (3) will immediately turn 
			the outlet off. 

			Setting this variable to immediateReboot (4) will immediately 
			reboot the outlet.
      
			Setting this variable to delayedOn (5) will turn the outlet on
			after the ePDUOutletConfigPowerOnTime OID time has elapsed.   

			Setting this variable to delayedOff (6) will turn the outlet off
			after the ePDUOutletConfigPowerOffTime OID time has elapsed.

			Setting this variable to delayedReboot (7) will cause the 
			ATS to perform a delayedOff command, wait the atsOutletCfgRebootDuration 
			OID time, and then perform a delayedOn command. 
       
			Setting this variable to cancelPendingCommand (8) will cause any
			pending command to this outlet to be canceled."
    ::= { atsOutletCtrlEntry 3 }		
	
atsOutletCfgTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size of the outlet config table."
		::= { atsOutlet 6 }		

-- the atsOutletCfgTable in atsOutlet group
atsOutletCfgTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtsOutletConfigEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Allows for configuration of individual outlets."
		::= { atsOutlet 7 }

atsOutletCfgEntry OBJECT-TYPE
		SYNTAX AtsOutletConfigEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The outlet to configure."
		INDEX  { atsOutletCfgTableIndex}
		::= { atsOutletCfgTable 1 }

		AtsOutletConfigEntry ::=
		SEQUENCE {
			atsOutletCfgTableIndex						INTEGER,
			atsOutletCfgOutletName						DisplayString,
			atsOutletCfgPowerOnTime						INTEGER,
			atsOutletCfgPowerOffTime					INTEGER,
			atsOutletCfgRebootDuration				INTEGER
		}      

atsOutletCfgTableIndex OBJECT-TYPE
		SYNTAX INTEGER(1..19)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the outlet entry."
		::= { atsOutletCfgEntry 1 }
   
atsOutletCfgOutletName    OBJECT-TYPE
		SYNTAX  DisplayString    
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The name of the outlet. The maximum string size is device dependent.
			An error will be returned if the set request exceeds the max size."
		::= { atsOutletCfgEntry 2 }

atsOutletCfgPowerOnTime OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) the outlet will delay 
			powering on at coldstart or when a command that requires 
			a turn-on delay is issued.
              
			Allowed values are:
			-1        - never power on.
			0         - power on immediately.
			1 to 7200 - power on up to 7200 seconds after being commanded."
		::= { atsOutletCfgEntry 3 }

atsOutletCfgPowerOffTime OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) the outlet will delay 
			powering off when a command that requires 
			a turn-off delay is issued.

			Allowed values are:

			-1        - never power off.
			0         - power off immediately.
			1 to 7200 - power off up to 7200 seconds after being commanded."
	::= { atsOutletCfgEntry 4 }

atsOutletCfgRebootDuration OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"During a reboot sequence, power is turned off and then 
			back on. This OID defines the amount of time to wait, 
			in seconds, after turning the power off, at the start
			of the sequence, before turning power back on, at the
			end of the reboot sequence.       
       
			Allowed range is any value between 5 and 60 seconds (1 minute)."
		::= { atsOutletCfgEntry 5 }
      
-- ePDU2 Group
-- Daisy Chain ePDU OID
ePDU2Role OBJECT-TYPE
    SYNTAX INTEGER {
      standalone(1),
      host(2),
      slave(3)
   }
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Get this oid shows the role the PDU played on Daisy Chain Group.
			The PDU as a Host can access whole ePDU2 content, and the PDU be standalong
			or a Slave can access itself instead."
    ::= { ePDU2 1 }

-- ePDU2Ident
ePDU2IdentTableSize OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"PDU as a Host response total PDU ident number on daisy chain. 
			PDU as a Slave can only response 1."
    ::= { ePDU2Ident 1 }
    
ePDU2IdentTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EPDU2IdentEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU identification information."
		::= { ePDU2Ident 2 }

ePDU2IdentEntry OBJECT-TYPE
		SYNTAX EPDU2IdentEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Identification data from Rack PDU being queried."
		INDEX  { ePDU2IdentIndex }
		::= { ePDU2IdentTable 1 }

EPDU2IdentEntryStruct ::=
  SEQUENCE {
	  ePDU2IdentIndex			    				INTEGER,
	  ePDU2IdentModuleIndex						INTEGER,
	  ePDU2IdentName									DisplayString,
	  ePDU2IdentLocation							DisplayString,
	  ePDU2IdentContact								DisplayString, 
	  ePDU2IdentHardwareRev						DisplayString, 
	  ePDU2IdentFirmwareRev						DisplayString, 
	  ePDU2IdentDateOfManufacture			DisplayString, 
	  ePDU2IdentModelName							DisplayString, 
	  ePDU2IdentSerialNumber					DisplayString, 
	  ePDU2IdentIndicator							INTEGER
  }

ePDU2IdentIndex OBJECT-TYPE
    SYNTAX INTEGER(1..4)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The index to the Rack PDU identification table entry."
		::= { ePDU2IdentEntry 1 }

ePDU2IdentModuleIndex OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Rack PDU identification table entry numeric ID."
		::= { ePDU2IdentEntry 2 }

ePDU2IdentName OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"A user-defined string identifying the name of the Rack PDU."
		::= { ePDU2IdentEntry 3 }

ePDU2IdentLocation OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"A user-defined string identifying the location of the Rack PDU." 
		::= { ePDU2IdentEntry 4 }

ePDU2IdentContact OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"A user-defined string identifying the person to contact of the Rack PDU." 
		::= { ePDU2IdentEntry 5 }

ePDU2IdentHardwareRev OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Rack PDU hardware version."
		::= { ePDU2IdentEntry 6 }

ePDU2IdentFirmwareRev OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Rack PDU firmware version."
		::= { ePDU2IdentEntry 7 }

ePDU2IdentDateOfManufacture OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The date the Rack PDU was manufactured in mm/dd/yyyy format."
		::= { ePDU2IdentEntry 8 }

ePDU2IdentModelName OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Rack PDU model number."
		::= { ePDU2IdentEntry 9 }

ePDU2IdentSerialNumber OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Rack PDU serial number." 
		::= { ePDU2IdentEntry 10 }

ePDU2IdentIndicator OBJECT-TYPE
    SYNTAX INTEGER {
      noTestIndicators(1),
      testIndicators(2)
   }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"PDU will perform a panel indicator test when the variable
 				is set to testIndicators(2).
 				
 				It is no effective to set this value to noTestIndicators(1)." 
		::= { ePDU2IdentEntry 11 }

-- ePDU2Device
ePDU2DeviceTableSize OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A Host Rack PDU response total number of Rack PDUs on daisy chain. 
			Rack PDU as a Slave can only response 1."
    ::= { ePDU2Device 1 }

-- Device Config Table
ePDU2DeviceConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2DeviceConfigEntryStruct
    ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			 "A table of Rack PDU configuration data."
		::= { ePDU2Device 2 }

ePDU2DeviceConfigEntry OBJECT-TYPE
		SYNTAX EPDU2DeviceConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			 "Configuration data from Rack PDU being queried."
		INDEX  { ePDU2DeviceConfigIndex }
		::= { ePDU2DeviceConfigTable 1 }

EPDU2DeviceConfigEntryStruct ::=
	SEQUENCE {
	  ePDU2DeviceConfigIndex			    									INTEGER, 
	  ePDU2DeviceConfigModuleIndex											INTEGER, 
	  ePDU2DeviceConfigName															DisplayString, 
	  ePDU2DeviceConfigLocation													DisplayString, 
	  ePDU2DeviceConfigContact													DisplayString, 
	  ePDU2DeviceConfigDisplayOrientation								INTEGER, 
	  ePDU2DeviceConfigColdstartDelay										INTEGER, 
	  ePDU2DeviceConfigCurrentLowLoadThreshold					INTEGER, 
	  ePDU2DeviceConfigCurrentNearOverloadThreshold			INTEGER, 
	  ePDU2DeviceConfigCurrentOverloadThreshold					INTEGER, 
		ePDU2DeviceConfigPeakLoadReset										INTEGER, 
		ePDU2DeviceConfigEnergyReset               				INTEGER,
		ePDU2DeviceConfigPowerLowLoadThreshold						INTEGER, 
	  ePDU2DeviceConfigPowerNearOverloadThreshold				INTEGER, 
	  ePDU2DeviceConfigPowerOverloadThreshold						INTEGER
	}

ePDU2DeviceConfigIndex OBJECT-TYPE
    SYNTAX INTEGER(1..4)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The index to the Rack PDU table entry."
		::= { ePDU2DeviceConfigEntry 1 }

ePDU2DeviceConfigModuleIndex OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Rack PDU numeric ID."
		::= { ePDU2DeviceConfigEntry 2 }

ePDU2DeviceConfigName OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"A user-defined string identifying the name of Rack PDU." 
		::= { ePDU2DeviceConfigEntry 3 }

ePDU2DeviceConfigLocation OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"A user-defined string identifying the location of the Rack PDU."
		::= { ePDU2DeviceConfigEntry 4 }

ePDU2DeviceConfigContact OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"A user-defined string identifying the person to contact of the Rack PDU."
		::= { ePDU2DeviceConfigEntry 5 }

ePDU2DeviceConfigDisplayOrientation OBJECT-TYPE
    SYNTAX INTEGER {
    	displayNormal (1), 
    	displayReverse (2), 
    	displayRotate90 (3), 
    	displayRotate270 (4), 
    	displayAuto (5)
    }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"Getting this OID will return the intended physical orientation of the Seven-Segment Display.

				displayNormal(1) indicates Normal.
				displayReverse(2)indicates Upside-Down.
				displayRotate90(3) indicates rotate 90 degree.
				displayRotate270(4) indicates rotate 270 degree. 
				displayAuto(5) indicates auto-detect and rotate."
		::= { ePDU2DeviceConfigEntry 6 }

ePDU2DeviceConfigColdstartDelay OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"The amount of delay, measured in seconds, between
 				when power is provided to the Rack PDU and when
 				the Rack PDU provides basic master power to the
 				outlets.
 				
 				Allowed values are:
 					-1 - never apply power automatically.
 					0 - apply power immediately.
 					1 to 300 - delay up to 300 seconds (5 minutes)."
		::= { ePDU2DeviceConfigEntry 7 }

ePDU2DeviceConfigCurrentLowLoadThreshold OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"User-defined low current draw alarm threshold, measured in Amps."
		::= { ePDU2DeviceConfigEntry 8 }

ePDU2DeviceConfigCurrentNearOverloadThreshold OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"User-defined near overload current threshold, measured in Amps." 
		::= { ePDU2DeviceConfigEntry 9 }

ePDU2DeviceConfigCurrentOverloadThreshold OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"User-defined current overload threshold, measured in Amps." 
		::= { ePDU2DeviceConfigEntry 10 }

ePDU2DeviceConfigPeakLoadReset OBJECT-TYPE
    SYNTAX INTEGER {
      noOperation(1),
      resetAll(2), 
      resetDevice(3), 
      resetOutlets(4)
   }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"Setting this OID to resetAll (2) will cause the existing peak current value
 				of Rack PDU and its outlets to be replaced by the current load current value.
 				Setting this OID to resetDevice (3) to reset the Rack PDU only. 
 				Setting this OID to resetOutlets (4) to reset the PDU outlets only. 

				Getting this OID will do nothing and return the noOperation(1) value." 
		::= { ePDU2DeviceConfigEntry 11 }

ePDU2DeviceConfigEnergyReset OBJECT-TYPE
    SYNTAX INTEGER {
      noOperation(1),
      resetAll(2), 
      resetDevice(3), 
      resetOutlets(4)
   }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"Setting this OID to resetAll (2) will cause the device energy meter value
 					to be reset to zero.
 					Setting this OID to resetDevice (3) to reset the Rack PDU only. 
 					Setting this OID to resetOutlets (4) to reset the PDU outlets only. 
 					
 					Getting this OID in models that support this feature will do nothing
 					and return the noOperation(1) value."
		::= { ePDU2DeviceConfigEntry 12 }
		
ePDU2DeviceConfigPowerLowLoadThreshold OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"User-defined low power draw alarm threshold, measured in Watts."
		::= { ePDU2DeviceConfigEntry 13 }

ePDU2DeviceConfigPowerNearOverloadThreshold OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"User-defined near overload power threshold, measured in Watts." 
		::= { ePDU2DeviceConfigEntry 14 }

ePDU2DeviceConfigPowerOverloadThreshold OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"User-defined power overload threshold, measured in Watts." 
		::= { ePDU2DeviceConfigEntry 15 }		

-- Device Info Table
ePDU2DeviceInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2DeviceInfoEntryStruct
    ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU information."
		::= { ePDU2Device 3 }

ePDU2DeviceInfoEntry OBJECT-TYPE
		SYNTAX EPDU2DeviceInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information of the Rack PDU being queried."
		INDEX {ePDU2DeviceInfoIndex}
		::= { ePDU2DeviceInfoTable 1 }

EPDU2DeviceInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2DeviceInfoIndex						INTEGER, 
		ePDU2DeviceInfoModuleIndex			INTEGER, 
		ePDU2DeviceInfoName							DisplayString, 
		ePDU2DeviceInfoRating						INTEGER, 
		ePDU2DeviceInfoNumOutlets				INTEGER, 
		ePDU2DeviceInfoSwitchedOutlets	INTEGER, 
		ePDU2DeviceInfoMeteredOutlets		INTEGER, 
		ePDU2DeviceInfoNumPhases				INTEGER, 
		ePDU2DeviceInfoNumBreakers			INTEGER, 
		ePDU2DeviceInfoBreakerRating		INTEGER, 
		ePDU2DeviceInfoOrientation			INTEGER, 
		ePDU2DeviceInfoOutletLayout			INTEGER,
		ePDU2DeviceInfoPowerLimit				INTEGER
	}

ePDU2DeviceInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..4)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU Information table entry."
		::= {ePDU2DeviceInfoEntry 1}
		
ePDU2DeviceInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2DeviceInfoEntry 2}
		
ePDU2DeviceInfoName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A user-defined string identifying the name of the Rack PDU."
		::= {ePDU2DeviceInfoEntry 3}
		
ePDU2DeviceInfoRating OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The electrical rating of the Rack PDU."
		::= {ePDU2DeviceInfoEntry 4}
		
ePDU2DeviceInfoNumOutlets OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of outlets on the Rack PDU."
		::= {ePDU2DeviceInfoEntry 5}
		
ePDU2DeviceInfoSwitchedOutlets OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of switched outlets on the Rack PDU."
		::= {ePDU2DeviceInfoEntry 6}
		
ePDU2DeviceInfoMeteredOutlets OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of metered outlets on the Rack PDU."
		::= {ePDU2DeviceInfoEntry 7}
		
ePDU2DeviceInfoNumPhases OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of phases present in the Rack PDU."
		::= {ePDU2DeviceInfoEntry 8}
		
ePDU2DeviceInfoNumBreakers OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of metered banks present in the Rack PDU."
		::= {ePDU2DeviceInfoEntry 9}
		
ePDU2DeviceInfoBreakerRating OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The maximum current rating, measured in Amps, for the Rack PDU. 
			Getting this OID will return rating of the circuit breakers on 
			the device if it has any."
		::= {ePDU2DeviceInfoEntry 10}
		
ePDU2DeviceInfoOrientation OBJECT-TYPE
		SYNTAX INTEGER {
			orientHorizontal (1),
			orientVertical (2)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Rack PDU orientation."
		::= {ePDU2DeviceInfoEntry 11}
		
ePDU2DeviceInfoOutletLayout OBJECT-TYPE
		SYNTAX INTEGER {
			seqPhaseToNeutral (1),
			seqPhaseToPhase (2),
			seqOther (3)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return outlet layout for the device.
			
			SeqPhaseToNeutral(1) indicates outlet layout as follows:
				Outlet(1-5 and 16-20):1-N,
				outlet(6-10 and 21-25):2-N,
				outlet(11-15 and 26-30):3-N,4:1-N,5:2-N,
				or for single phase SKUs, all outlets 1-N.

			SeqPhaseToPhase(2) indicates outlet layout as follows:
				Outlet(1-5 and 16-20):1-2,
				outlet(6-10 and 21-25):2-3,
				outlet(11-15 and 26-30):3-1.
				
			SeqOther(3) indicates outlet layout as follows:
				TBD" 
		::= {ePDU2DeviceInfoEntry 12}
		
ePDU2DeviceInfoPowerLimit OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The maximum power limit, measured in Watt, for the Rack PDU."
		::= {ePDU2DeviceInfoEntry 13}

-- Device Status Table
ePDU2DeviceStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2DeviceStatusEntryStruct
    ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU current status."
		::= { ePDU2Device 4 }

ePDU2DeviceStatusEntry OBJECT-TYPE
		SYNTAX EPDU2DeviceStatusEntryStruct
    ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status data from the Rack PDU being queried."
		INDEX {ePDU2DeviceStatusIndex}
		::= { ePDU2DeviceStatusTable 1 }

EPDU2DeviceStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2DeviceStatusIndex								INTEGER, 
		ePDU2DeviceStatusModuleIndex					INTEGER, 
		ePDU2DeviceStatusName									DisplayString, 
		ePDU2DeviceStatusLoadState						INTEGER, 
		ePDU2DeviceStatusCurrentLoad					Gauge, 
		ePDU2DeviceStatusCurrentPeakLoad			Gauge, 
		ePDU2DeviceStatusPeakLoadTimestamp		DisplayString, 
		ePDU2DeviceStatusPeakLoadStartTime		DisplayString, 
		ePDU2DeviceStatusEnergy								Gauge, 
		ePDU2DeviceStatusEnergyStartTime			DisplayString, 
		ePDU2DeviceStatusCommandPending				INTEGER, 
		ePDU2DeviceStatusPowerSupplyAlarm			INTEGER, 
		ePDU2DeviceStatusPowerSupply1Status		INTEGER, 
		ePDU2DeviceStatusPowerSupply2Status		INTEGER, 
		ePDU2DeviceStatusApparentPower				Gauge, 
		ePDU2DeviceStatusPowerFactor					Gauge, 
		ePDU2DeviceStatusRoleType							INTEGER,
		ePDU2DeviceStatusPowerLoad						Gauge, 
		ePDU2DeviceStatusPowerPeakLoad				Gauge
	}

ePDU2DeviceStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..4)
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU status table entry."
		::= {ePDU2DeviceStatusEntry 1}
		
ePDU2DeviceStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID"
		::= {ePDU2DeviceStatusEntry 2}
		
ePDU2DeviceStatusName OBJECT-TYPE
		SYNTAX DisplayString
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A user-defined string identifying the name of the Rack PDU."
		::= {ePDU2DeviceStatusEntry 3}
		
ePDU2DeviceStatusLoadState OBJECT-TYPE
		SYNTAX INTEGER {
			noLoadAlarm (1), 
			underCurrentAlarm (2), 
			nearOverCurrentAlarm (3), 
			overCurrentAlarm (4)
		}
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the present load status of the Rack PDU."
		::= {ePDU2DeviceStatusEntry 4}
		
ePDU2DeviceStatusCurrentLoad OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The power consumption of the Rack PDU load in tenths of Amps."
		::= {ePDU2DeviceStatusEntry 5}
		
ePDU2DeviceStatusCurrentPeakLoad OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The peak power consumption of the Rack PDU load in tenths of Amps."
		::= {ePDU2DeviceStatusEntry 6}
		
ePDU2DeviceStatusPeakLoadTimestamp OBJECT-TYPE
		SYNTAX DisplayString
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time that peak load occurred."
		::= {ePDU2DeviceStatusEntry 7}
		
ePDU2DeviceStatusPeakLoadStartTime OBJECT-TYPE
		SYNTAX DisplayString
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time of the last device peak load reset."
		::= {ePDU2DeviceStatusEntry 8}
		
ePDU2DeviceStatusEnergy OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A user resettable energy meter measuring Rack PDU load 
			energy consumption in tenths of kilowatt-hours."
		::= {ePDU2DeviceStatusEntry 9}
		
ePDU2DeviceStatusEnergyStartTime OBJECT-TYPE
		SYNTAX DisplayString
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time of the last device energy
			meter reset."
		::= {ePDU2DeviceStatusEntry 10}
		
ePDU2DeviceStatusCommandPending OBJECT-TYPE
		SYNTAX INTEGER {
			commandPending    (1),
			noCommandPending  (2)
		}
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates whether or not the device 
			is processing a pending command."
		::= {ePDU2DeviceStatusEntry 11}
		
ePDU2DeviceStatusPowerSupplyAlarm OBJECT-TYPE
		SYNTAX INTEGER {
			normal (1), 
			alarm  (2)
		}
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates a power supply alarm is active when value
 			equals alarm (2)."
		::= {ePDU2DeviceStatusEntry 12}
		
ePDU2DeviceStatusPowerSupply1Status OBJECT-TYPE
		SYNTAX INTEGER {
			normal (1), 
			alarm (2)
		}
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates whether or not an alarm is active in Power
 			Supply 1." 
		::= {ePDU2DeviceStatusEntry 13}
		
ePDU2DeviceStatusPowerSupply2Status OBJECT-TYPE
		SYNTAX INTEGER {
			normal (1), 
			alarm (2)
		}
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates whether or not an alarm is active in Power
 			Supply 2."
		::= {ePDU2DeviceStatusEntry 14}

ePDU2DeviceStatusApparentPower OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The apparent power consumption of the Rack PDU 
			load in VoltAmps (VA)." 
		::= {ePDU2DeviceStatusEntry 15}
		
ePDU2DeviceStatusPowerFactor OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The power factor of the Rack PDU load in hundredths."
		::= {ePDU2DeviceStatusEntry 16}
		
ePDU2DeviceStatusRoleType OBJECT-TYPE
		SYNTAX INTEGER {
			standalone (1), 
			host (2) , 
			slave (3) 
		}
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Get this oid shows the role the PDU played on Daisy Chain Group.
			The PDU as a Host can access whole ePDU2 content, and the PDU be standalong
			or a Slave can access itself instead."
		::= {ePDU2DeviceStatusEntry 17}
		
ePDU2DeviceStatusPowerLoad OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The power consumption of the Rack PDU load in Watts."
		::= {ePDU2DeviceStatusEntry 18}
		
ePDU2DeviceStatusPowerPeakLoad OBJECT-TYPE
		SYNTAX Gauge
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The peak power consumption of the Rack PDU load in Watts."
		::= {ePDU2DeviceStatusEntry 19}		

-- Device Control Table
ePDU2DeviceControlTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2DeviceControlEntryStruct
    ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU control data."
		::= { ePDU2Device 5 }

ePDU2DeviceControlEntry OBJECT-TYPE
		SYNTAX EPDU2DeviceControlEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Control data from Rack PDU being queried."
		INDEX {ePDU2DeviceControlIndex}
		::= {ePDU2DeviceControlTable 1}

EPDU2DeviceControlEntryStruct ::= 
	SEQUENCE {
		ePDU2DeviceControlIndex					INTEGER, 
		ePDU2DeviceControlModuleIndex		INTEGER, 
		ePDU2DeviceControlName					DisplayString, 
		ePDU2DeviceControlCommand				INTEGER
	}

ePDU2DeviceControlIndex OBJECT-TYPE
		SYNTAX INTEGER(1..4)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU control table entry."
		::= {ePDU2DeviceControlEntry 1}
		
ePDU2DeviceControlModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2DeviceControlEntry 2}
		
ePDU2DeviceControlName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A user-defined string identifying the name of the Rack PDU."
		::= {ePDU2DeviceControlEntry 3}
		
ePDU2DeviceControlCommand OBJECT-TYPE
		SYNTAX INTEGER {
			immediateAllOn (1), 
			immediateAllOff (2), 
			immediateAllReboot (3), 
			delayedAllOn (4), 
			delayedAllOff (5), 
			delayedAllReboot (6), 
			cancelAllPendingCommand (7), 
			noCommand (8)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this OID to immediateAllOn (1) will turn all outlets on immediately.

			Setting this OID to immediateAllOff (2) will turn all outlets off immediately.
       
			Setting this OID to immediateAllReboot (3) will cause an immediateAllOff command 
			to be performed. Once all outlets are off, the Switched Rack PDU will then delay 
			the ePDU2OutletSwitchedConfigRebootDuration OID time, and then perform an 
			immediateAllOn command.

			Setting this OID to delayedAllOn (4) will turn all outlets on as defined by 
			each outlet's ePDU2OutletSwitchedConfigPowerOnTime OID value.
			
			Setting this OID to delayedAllOff (5) will turn all outlets off as defined by 
			each outlet's ePDU2OutletSwitchedConfigPowerOffTime OID value.
			
			Setting this OID to delayedAllReboot (6) will cause a delayedAllOff command 
			to be performed. Once all outlets are off, the Switched Rack PDU will then 
			delay the largest ePDU2OutletSwitchedConfigRebootDuration OID time, and 
			then perform a delayedAllOn command.

			Setting this OID to cancelAllPendingCommand (7) will cause all pending 
			commands on the Switched Rack PDU to be cancelled. 
			
			Setting this OID to noCommand (8) will have no effect.

			Getting this OID will return the noCommand (8) value."
		::= {ePDU2DeviceControlEntry 4}

-- ePDU2Phase
ePDU2PhaseTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A Host Rack PDU response total phase number of Rack PDUs on daisy chain. 
			Rack PDU as a Slave can only response itself number of phase."
		::= {ePDU2Phase 1}

ePDU2PhaseConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2PhaseConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU phase configuration data."
		::= {ePDU2Phase 2}
		
ePDU2PhaseConfigEntry OBJECT-TYPE
		SYNTAX EPDU2PhaseConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from currently queried 
			Rack PDU phase."
		INDEX {ePDU2PhaseConfigIndex}
		::= {ePDU2PhaseConfigTable 1}
		
EPDU2PhaseConfigEntryStruct ::= 
	SEQUENCE {
		ePDU2PhaseConfigIndex									INTEGER, 
		ePDU2PhaseConfigModuleIndex						INTEGER, 
		ePDU2PhaseConfigNumber									INTEGER, 
		ePDU2PhaseConfigOverloadRestriction		INTEGER, 
		ePDU2PhaseConfigLowLoadThreshold				INTEGER, 
		ePDU2PhaseConfigNearOverloadThreshold	INTEGER, 
		ePDU2PhaseConfigOverloadThreshold			INTEGER, 
		ePDU2PhaseConfigPhasePeakLoadReset					INTEGER
	}
	
ePDU2PhaseConfigIndex OBJECT-TYPE
		SYNTAX INTEGER(1..12)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU phase configuration
			table entry."
		::= {ePDU2PhaseConfigEntry 1}
		
ePDU2PhaseConfigModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2PhaseConfigEntry 2}
		
ePDU2PhaseConfigNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric phase ID."
		::= {ePDU2PhaseConfigEntry 3}
		
ePDU2PhaseConfigOverloadRestriction OBJECT-TYPE
		SYNTAX INTEGER {
			notSupported							(-1), 
			alwaysAllowTurnON         (1),
			restrictOnNearOverload    (2),
			restrictOnOverload        (3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This OID controls the behavior of a Switched Rack PDU 
			phase when an overload condition is possible and 
			additional outlets are requested to be turned on. 
			
			Setting this OID to alwaysAllowTurnON (1) will always allow 
			the outlets on the corresponding phase to turn on.
			
			Setting this OID to restrictOnNearOverload (2) will not allow 
			outlets on the corresponding phase to turn on if the 
			ePDU2PhaseConfigNearOverloadThreshold OID is exceeded.

			Setting this OID to restrictOnOverload (3) will not allow 
			outlets on the corresponding phase to turn on if the 
			ePDU2PhaseConfigOverloadThreshold OID is exceeded.
			
			Models that do not support this feature will respond to this OID
			with a value of notSupported (-1). Attempts to set this OID
			in these models will fail."
		::= {ePDU2PhaseConfigEntry 4}
		
ePDU2PhaseConfigLowLoadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined low load phase current threshold in Amps."
		::= {ePDU2PhaseConfigEntry 5}
		
ePDU2PhaseConfigNearOverloadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined near phase overload current warning 
			threshold in Amps."
		::= {ePDU2PhaseConfigEntry 6}
		
ePDU2PhaseConfigOverloadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined phase overload current threshold 
			in Amps"
		::= {ePDU2PhaseConfigEntry 7}

ePDU2PhaseConfigPhasePeakLoadReset OBJECT-TYPE
		SYNTAX INTEGER {
			noOperation (1), 
			reset (2)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this OID to reset (2) will cause the existing peak current value
 			to be replaced by the present load current value.
 
			Getting this OID will do nothing and return the noOperation(1) value."
		::= {ePDU2PhaseConfigEntry 8}

ePDU2PhaseInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2PhaseInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU phase information."
		::= {ePDU2Phase 3}

ePDU2PhaseInfoEntry OBJECT-TYPE
		SYNTAX EPDU2PhaseInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information data from currently queried Rack PDU phase." 
		INDEX {ePDU2PhaseInfoIndex}
		::= {ePDU2PhaseInfoTable 1}

EPDU2PhaseInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2PhaseInfoIndex					INTEGER, 
		ePDU2PhaseInfoModuleIndex		INTEGER, 
		ePDU2PhaseInfoNumber					INTEGER
	}

ePDU2PhaseInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..12)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU phase properties table entry." 
		::= {ePDU2PhaseInfoEntry 1}
		
ePDU2PhaseInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID." 
		::= {ePDU2PhaseInfoEntry 2}
		
ePDU2PhaseInfoNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric phase ID."
		::= {ePDU2PhaseInfoEntry 3}

ePDU2PhaseStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2PhaseStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU phase status data" 
		::= {ePDU2Phase 4}

ePDU2PhaseStatusEntry OBJECT-TYPE
		SYNTAX EPDU2PhaseStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status data from currently queried Rack PDU phase"
		INDEX {ePDU2PhaseStatusIndex}
		::= {ePDU2PhaseStatusTable 1}

EPDU2PhaseStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2PhaseStatusIndex								INTEGER,
		ePDU2PhaseStatusModuleIndex					INTEGER,
		ePDU2PhaseStatusNumber							INTEGER,
		ePDU2PhaseStatusLoadState						INTEGER,
		ePDU2PhaseStatusLoad								Gauge,
		ePDU2PhaseStatusVoltage							Gauge,
		ePDU2PhaseStatusPower								Gauge,
		ePDU2PhaseStatusApparentPower				Gauge,
		ePDU2PhaseStatusPowerFactor					Gauge,
		ePDU2PhaseStatusPeakLoad						Gauge,
		ePDU2PhaseStatusPeakLoadTimestamp		DisplayString,
		ePDU2PhaseStatusPeakLoadStartTime		DisplayString,
		ePDU2PhaseStatusLineToLineVoltage		Gauge
	}

ePDU2PhaseStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..12)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU phase status table entry."
		::= {ePDU2PhaseStatusEntry 1}
		
ePDU2PhaseStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2PhaseStatusEntry 2}
		
ePDU2PhaseStatusNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric phase ID."
		::= {ePDU2PhaseStatusEntry 3}
		
ePDU2PhaseStatusLoadState OBJECT-TYPE
		SYNTAX INTEGER {
			normal (1), 
			lowLoad (2), 
			nearOverload (3), 
			overload (4)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the present load status of the Rack 
			PDU phase being queried."
		::= {ePDU2PhaseStatusEntry 4}
		
ePDU2PhaseStatusLoad OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the current draw, in tenths of Amps, of the load
			on the Rack PDU phase being queried."
		::= {ePDU2PhaseStatusEntry 5}

ePDU2PhaseStatusVoltage OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the Voltage, in tenths of Volts, of the Rack PDU phase being queried."
		::= {ePDU2PhaseStatusEntry 6}
		
ePDU2PhaseStatusPower OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the load power, in watts,
       consumed on the Rack PDU phase being queried"
		::= {ePDU2PhaseStatusEntry 7}

ePDU2PhaseStatusApparentPower OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the load apparent power, in VoltAmps (VA),
       consumed on the Rack PDU phase being queried"
		::= {ePDU2PhaseStatusEntry 8}
		
ePDU2PhaseStatusPowerFactor OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the load power factor, in hundredths,
       of the Rack PDU phase being queried"
		::= {ePDU2PhaseStatusEntry 9}
		
ePDU2PhaseStatusPeakLoad OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			 "The peak current of the Rack PDU phase load in tenths of Amps"
		::= {ePDU2PhaseStatusEntry 10}
		
ePDU2PhaseStatusPeakLoadTimestamp OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time the phase peak current occurred."
		::= {ePDU2PhaseStatusEntry 11}
		
ePDU2PhaseStatusPeakLoadStartTime OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time of the last phase peak current reset."
		::= {ePDU2PhaseStatusEntry 12}

ePDU2PhaseStatusLineToLineVoltage OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the Line to Line Voltage, in tenths of Volts, of the Rack
       PDU phase being queried"
		::= {ePDU2PhaseStatusEntry 13}	
		
-- ePDU2Bank
ePDU2BankTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A Host Rack PDU response total bank number of Rack PDUs on daisy chain. 
			Rack PDU as a Slave can only response itself number of bank."
		::= {ePDU2Bank 1}
		
ePDU2BankConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2BankConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU bank configuration data."
		::= {ePDU2Bank 2}
		
ePDU2BankConfigEntry OBJECT-TYPE
		SYNTAX EPDU2BankConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from currently queried 
			Rack PDU bank."
		INDEX {ePDU2BankConfigIndex}
		::= {ePDU2BankConfigTable 1}
		
EPDU2BankConfigEntryStruct ::= 
	SEQUENCE {
		ePDU2BankConfigIndex									INTEGER, 
		ePDU2BankConfigModuleIndex						INTEGER, 
		ePDU2BankConfigNumber									INTEGER, 
		ePDU2BankConfigOverloadRestriction		INTEGER, 
		ePDU2BankConfigLowLoadThreshold				INTEGER, 
		ePDU2BankConfigNearOverloadThreshold	INTEGER, 
		ePDU2BankConfigOverloadThreshold			INTEGER, 
		ePDU2BankConfigPeakLoadReset					INTEGER
	}
	
ePDU2BankConfigIndex OBJECT-TYPE
		SYNTAX INTEGER(1..12)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU bank configuration
			table entry."
		::= {ePDU2BankConfigEntry 1}
		
ePDU2BankConfigModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2BankConfigEntry 2}
		
ePDU2BankConfigNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric bank ID."
		::= {ePDU2BankConfigEntry 3}
		
ePDU2BankConfigOverloadRestriction OBJECT-TYPE
		SYNTAX INTEGER {
			alwaysAllowTurnON         (1),
			restrictOnNearOverload    (2),
			restrictOnOverload        (3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This OID controls the behavior of a Switched Rack PDU 
			bank when an overload condition is possible and 
			additional outlets are requested to be turned on. 
			
			Setting this OID to alwaysAllowTurnON (1) will always allow 
			the outlets on the corresponding bank to turn on.
			
			Setting this OID to restrictOnNearOverload (2) will not allow 
			outlets on the corresponding bank to turn on if the 
			ePDU2BankConfigNearOverloadThreshold OID is exceeded.

			Setting this OID to restrictOnOverload (3) will not allow 
			outlets on the corresponding bank to turn on if the 
			ePDU2BankConfigOverloadThreshold OID is exceeded."
		::= {ePDU2BankConfigEntry 4}
		
ePDU2BankConfigLowLoadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined low load bank current threshold in Amps."
		::= {ePDU2BankConfigEntry 5}
		
ePDU2BankConfigNearOverloadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined near bank overload current warning 
			threshold in Amps."
		::= {ePDU2BankConfigEntry 6}
		
ePDU2BankConfigOverloadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined bank overload current threshold 
			in Amps"
		::= {ePDU2BankConfigEntry 7}
		
ePDU2BankConfigPeakLoadReset OBJECT-TYPE
		SYNTAX INTEGER {
			noOperation (1), 
			reset (2)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this OID to reset (2) will cause the existing peak current value
 			to be replaced by the present load current value.
 
			Getting this OID will do nothing and return the noOperation(1) value."
		::= {ePDU2BankConfigEntry 8}

ePDU2BankInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2BankInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU bank information."
		::= {ePDU2Bank 3}

ePDU2BankInfoEntry OBJECT-TYPE
		SYNTAX EPDU2BankInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information data from currently queried Rack PDU bank." 
		INDEX {ePDU2BankInfoIndex}
		::= {ePDU2BankInfoTable 1}

EPDU2BankInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2BankInfoIndex					INTEGER, 
		ePDU2BankInfoModuleIndex		INTEGER, 
		ePDU2BankInfoNumber					INTEGER
	}

ePDU2BankInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..12)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU bank properties table entry." 
		::= {ePDU2BankInfoEntry 1}
		
ePDU2BankInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID." 
		::= {ePDU2BankInfoEntry 2}
		
ePDU2BankInfoNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric bank ID."
		::= {ePDU2BankInfoEntry 3}

ePDU2BankStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2BankStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU bank status data" 
		::= {ePDU2Bank 4}

ePDU2BankStatusEntry OBJECT-TYPE
		SYNTAX EPDU2BankStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status data from currently queried Rack PDU bank"
		INDEX {ePDU2BankStatusIndex}
		::= {ePDU2BankStatusTable 1}

EPDU2BankStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2BankStatusIndex							INTEGER, 
		ePDU2BankStatusModuleIndex				INTEGER, 
		ePDU2BankStatusNumber							INTEGER, 
		ePDU2BankStatusLoadState					INTEGER, 
		ePDU2BankStatusLoad								Gauge, 
		ePDU2BankStatusPeakLoad						Gauge, 
		ePDU2BankStatusPeakLoadTimestamp	DisplayString, 
		ePDU2BankStatusPeakLoadStartTime	DisplayString
	}

ePDU2BankStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..12)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU bank status table entry."
		::= {ePDU2BankStatusEntry 1}
		
ePDU2BankStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2BankStatusEntry 2}
		
ePDU2BankStatusNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric bank ID."
		::= {ePDU2BankStatusEntry 3}
		
ePDU2BankStatusLoadState OBJECT-TYPE
		SYNTAX INTEGER {
			normal (1), 
			lowLoad (2), 
			nearOverload (3), 
			overload (4)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the present load status of the Rack 
			PDU bank being queried."
		::= {ePDU2BankStatusEntry 4}
		
ePDU2BankStatusLoad OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the current draw, in tenths of Amps, of the load
			on the Rack PDU bank being queried."
		::= {ePDU2BankStatusEntry 5}
		
ePDU2BankStatusPeakLoad OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The peak current of the Rack PDU bank load in tenths of Amps."
		::= {ePDU2BankStatusEntry 6}
		
ePDU2BankStatusPeakLoadTimestamp OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time the bank peak current occurred."
		::= {ePDU2BankStatusEntry 7}
		
ePDU2BankStatusPeakLoadStartTime OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time of the last bank peak current reset."
		::= {ePDU2BankStatusEntry 8}

-- ePDU2Outlet
ePDU2OutletSwitchedTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of switched outlets on connected Rack PDUs."
		::= {ePDU2OutletSwitched 1}
		
ePDU2OutletSwitchedConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletSwitchedConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU switched outlet configuration data."
		::= {ePDU2OutletSwitched 2}
		
ePDU2OutletSwitchedConfigEntry OBJECT-TYPE
		SYNTAX EPDU2OutletSwitchedConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from currently queried Rack PDU 
			switched outlet." 
		INDEX {ePDU2OutletSwitchedConfigIndex}
		::= {ePDU2OutletSwitchedConfigTable 1}
		
EPDU2OutletSwitchedConfigEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletSwitchedConfigIndex					INTEGER, 
		ePDU2OutletSwitchedConfigModuleIndex		INTEGER, 
		ePDU2OutletSwitchedConfigNumber					INTEGER, 
		ePDU2OutletSwitchedConfigName						DisplayString, 
		ePDU2OutletSwitchedConfigPowerOnTime		INTEGER, 
		ePDU2OutletSwitchedConfigPowerOffTime		INTEGER, 
		ePDU2OutletSwitchedConfigRebootDuration	INTEGER
	}

ePDU2OutletSwitchedConfigIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU switched outlet configuration table entry."
		::= {ePDU2OutletSwitchedConfigEntry 1}
		
ePDU2OutletSwitchedConfigModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletSwitchedConfigEntry 2}
		
ePDU2OutletSwitchedConfigNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric switched outlet ID."
		::= {ePDU2OutletSwitchedConfigEntry 3}
		
ePDU2OutletSwitchedConfigName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The user-defined switched outlet name string."
		::= {ePDU2OutletSwitchedConfigEntry 4}
		
ePDU2OutletSwitchedConfigPowerOnTime OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) the outlet will delay 
			powering on at coldstart or when a command that requires 
			a turn-on delay is issued.
			
			Allowed values are:
				-1 - never power on.
				 0 - power on immediately.
				 1 to 7200 - power on up to 7200 seconds after being
 											commanded." 
		::= {ePDU2OutletSwitchedConfigEntry 5}
		
ePDU2OutletSwitchedConfigPowerOffTime OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The amount of time (in seconds) the outlet will delay 
			powering off when a command that requires a 
			turn-off delay is issued. 
			
			Allowed values are:
			 -1 - never power off.
			  0 - power off immediately.
			  1 to 7200 - power off up to 7200 seconds after being
			  						 commanded."
		::= {ePDU2OutletSwitchedConfigEntry 6}
		
ePDU2OutletSwitchedConfigRebootDuration OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"During a reboot sequence, power is turned off and then 
			back on. This OID defines the amount of time to wait, 
			in seconds, after turning the power off, at the start 
			of the sequence, before turning power back on, at the 
			end of the reboot sequence. 
			
			Allowed range is any value between 5 and 60 seconds (1 minute)."
		::= {ePDU2OutletSwitchedConfigEntry 7}

ePDU2OutletSwitchedInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletSwitchedInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU switched outlet information."
		::= {ePDU2OutletSwitched 3}

ePDU2OutletSwitchedInfoEntry OBJECT-TYPE
		SYNTAX EPDU2OutletSwitchedInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information of the currently queried Rack PDU 
			switched outlet."
		INDEX {ePDU2OutletSwitchedInfoIndex}
		::= {ePDU2OutletSwitchedInfoTable 1}

EPDU2OutletSwitchedInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletSwitchedInfoIndex				INTEGER, 
		ePDU2OutletSwitchedInfoModuleIndex	INTEGER, 
		ePDU2OutletSwitchedInfoNumber				INTEGER, 
		ePDU2OutletSwitchedInfoName					DisplayString, 
		ePDU2OutletSwitchedInfoPhaseLayout	INTEGER, 
		ePDU2OutletSwitchedInfoBank					INTEGER
	}
	
ePDU2OutletSwitchedInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU switched outlet information table entry."
		::= {ePDU2OutletSwitchedInfoEntry 1}
		
ePDU2OutletSwitchedInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletSwitchedInfoEntry 2}
		
ePDU2OutletSwitchedInfoNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric switched outlet ID."
		::= {ePDU2OutletSwitchedInfoEntry 3}
		
ePDU2OutletSwitchedInfoName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric switched outlet name."
		::= {ePDU2OutletSwitchedInfoEntry 4}
		
ePDU2OutletSwitchedInfoPhaseLayout OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This OID describes the phase connections of the referenced outlet as follows:
			seqPhase1ToNeutral(1) indicates that the outlet is wired from Phase 1 to Neutral.
			seqPhase2ToNeutral(2) indicates that the outlet is wired from Phase 2 to Neutral.
			seqPhase3ToNeutral(3) indicates that the outlet is wired from Phase 3 to Neutral.
			seqPhase1ToPhase2(4) indicates that the outlet is wired from Phase 1 to Phase 2.
			seqPhase2ToPhase3(5) indicates that the outlet is wired from Phase 2 to Phase 3.
			seqPhase3ToPhase1(6) indicates that the outlet is wired from Phase 3 to Phase 1."
		::= {ePDU2OutletSwitchedInfoEntry 5}
		
ePDU2OutletSwitchedInfoBank OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric bank ID."
		::= {ePDU2OutletSwitchedInfoEntry 6}

ePDU2OutletSwitchedStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletSwitchedStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU switched outlet status information."
		::= {ePDU2OutletSwitched 4}

ePDU2OutletSwitchedStatusEntry OBJECT-TYPE
		SYNTAX EPDU2OutletSwitchedStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status information for currently queried Rack PDU switched outlet."
		INDEX {ePDU2OutletSwitchedStatusIndex}
		::= {ePDU2OutletSwitchedStatusTable 1}

EPDU2OutletSwitchedStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletSwitchedStatusIndex					INTEGER, 
		ePDU2OutletSwitchedStatusModuleIndex		INTEGER, 
		ePDU2OutletSwitchedStatusNumber					INTEGER, 
		ePDU2OutletSwitchedStatusName						DisplayString, 
		ePDU2OutletSwitchedStatusState					INTEGER, 
		ePDU2OutletSwitchedStatusCommandPending	INTEGER
	}

ePDU2OutletSwitchedStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION 
			"The index to the Rack PDU switched outlet status information table entry."
		::= {ePDU2OutletSwitchedStatusEntry 1}
		
ePDU2OutletSwitchedStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletSwitchedStatusEntry 2}
		
ePDU2OutletSwitchedStatusNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric switched outlet ID."
		::= {ePDU2OutletSwitchedStatusEntry 3}
		
ePDU2OutletSwitchedStatusName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined switched outlet name string."
		::= {ePDU2OutletSwitchedStatusEntry 4}
		
ePDU2OutletSwitchedStatusState OBJECT-TYPE
		SYNTAX INTEGER {
			outletStatusOn (1), 
			outletStatusOff (2)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the present switch state of the Rack PDU switched outlet being queried."
		::= {ePDU2OutletSwitchedStatusEntry 5}
		
ePDU2OutletSwitchedStatusCommandPending OBJECT-TYPE
		SYNTAX INTEGER { 
			outletStatusCommandPending (1), 
			outletStatusNoCommandPending (2)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the command pending state of the outlet. 
			If a command is pending on the outlet, the outletStatusCommandPending (1) 
			value will be returned. If there is not a command pending on the outlet, 
			the outletStatusNoCommandPending (2) will be returned."
		::= {ePDU2OutletSwitchedStatusEntry 6}

ePDU2OutletSwitchedControlTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletSwitchedControlEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU switched outlet control data."
		::= {ePDU2OutletSwitched 5}

ePDU2OutletSwitchedControlEntry OBJECT-TYPE
		SYNTAX EPDU2OutletSwitchedControlEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Control data for currently queried Rack PDU switched outlet."
		INDEX {ePDU2OutletSwitchedControlIndex}
		::= {ePDU2OutletSwitchedControlTable 1}

EPDU2OutletSwitchedControlEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletSwitchedControlIndex				INTEGER, 
		ePDU2OutletSwitchedControlModuleIndex	INTEGER, 
		ePDU2OutletSwitchedControlNumber			INTEGER, 
		ePDU2OutletSwitchedControlName				DisplayString, 
		ePDU2OutletSwitchedControlCommand			INTEGER
	}

ePDU2OutletSwitchedControlIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU switched outlet control data table entry."
		::= {ePDU2OutletSwitchedControlEntry 1}
		
ePDU2OutletSwitchedControlModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined Rack PDU numeric ID."
		::= {ePDU2OutletSwitchedControlEntry 2}
		
ePDU2OutletSwitchedControlNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric switched outlet ID."
		::= {ePDU2OutletSwitchedControlEntry 3}
		
ePDU2OutletSwitchedControlName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined switched outlet name string."
		::= {ePDU2OutletSwitchedControlEntry 4}
		
ePDU2OutletSwitchedControlCommand OBJECT-TYPE
		SYNTAX INTEGER {
			immediateOn (1), 
			immediateOff (2), 
			immediateReboot (3), 
			delayedOn (4), 
			delayedOff (5), 
			delayedReboot (6), 
			cancelPendingCommand (7), 
			outletIdentify (8)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Getting this variable will return the outlet state. If 
			the outlet is on, the immediateOn (1) value will be returned. 
			If the outlet is off, the immediateOff (2) value will be returned. 
			
			Setting this variable to immediateOn (1) will immediately turn 
			the outlet on.
			
			Setting this variable to immediateOff (2) will immediately turn 
			the outlet off. 
			
			Setting this variable to immediateReboot (3) will immediately 
			reboot the outlet.
 
 			Setting this variable to delayedOn (4) will turn the outlet on 
 			after the ePDUOutletConfigPowerOnTime OID time has elapsed. 
 			
 			Setting this variable to delayedOff (5) will turn the outlet off 
 			after the ePDUOutletConfigPowerOffTime OID time has elapsed.
 			
 			Setting this variable to delayedReboot (6) will cause the 
 			Switched Rack PDU to perform a delayedOff command, wait the 
 			ePDUOutletConfigRebootDuration OID time, and then perform a 
 			delayedOn command. 
 			
 			Setting this variable to cancelPendingCommand (7) will cause any 
 			pending command to this outlet to be canceled.
 			
 			Setting this variable to outletIdentify (8) will cause PDU LED 
 			to display the number of the outlet."
		::= {ePDU2OutletSwitchedControlEntry 5}

ePDU2OutletMeteredTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of metered outlets on connected Rack PDUs."
		::= {ePDU2OutletMetered 1}

ePDU2OutletMeteredConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletMeteredConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU metered outlet configuration data."
		::= {ePDU2OutletMetered 2}
		
ePDU2OutletMeteredConfigEntry OBJECT-TYPE
		SYNTAX EPDU2OutletMeteredConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from currently queried Rack PDU metered outlet."
		INDEX {ePDU2OutletMeteredConfigIndex}
		::= {ePDU2OutletMeteredConfigTable 1}
		
EPDU2OutletMeteredConfigEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletMeteredConfigIndex									INTEGER, 
		ePDU2OutletMeteredConfigModuleIndex						INTEGER, 
		ePDU2OutletMeteredConfigNumber								INTEGER, 
		ePDU2OutletMeteredConfigName									DisplayString, 
		ePDU2OutletMeteredConfigLowLoadThreshold			INTEGER, 
		ePDU2OutletMeteredConfigNearOverloadThreshold	INTEGER, 
		ePDU2OutletMeteredConfigOverloadThreshold			INTEGER
	}
		
ePDU2OutletMeteredConfigIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU metered outlet configuration table entry."
		::= {ePDU2OutletMeteredConfigEntry 1}
		
ePDU2OutletMeteredConfigModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined Rack PDU numeric ID."
		::= {ePDU2OutletMeteredConfigEntry 2}
		
ePDU2OutletMeteredConfigNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric metered outlet ID."
		::= {ePDU2OutletMeteredConfigEntry 3}
		
ePDU2OutletMeteredConfigName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The user-defined metered outlet name string."
		::= {ePDU2OutletMeteredConfigEntry 4}
		
ePDU2OutletMeteredConfigLowLoadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined outlet low load current threshold in Watts."
		::= {ePDU2OutletMeteredConfigEntry 5}
		
ePDU2OutletMeteredConfigNearOverloadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined outlet near overload warning threshold in Watts."
		::= {ePDU2OutletMeteredConfigEntry 6}
		
ePDU2OutletMeteredConfigOverloadThreshold OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"User-defined outlet overload current threshold in Watts."
		::= {ePDU2OutletMeteredConfigEntry 7}

ePDU2OutletMeteredInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletMeteredInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU metered outlet information."
		::= {ePDU2OutletMetered 3}
		
ePDU2OutletMeteredInfoEntry OBJECT-TYPE
		SYNTAX EPDU2OutletMeteredInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information of currently queried Rack PDU metered outlet."
		INDEX {ePDU2OutletMeteredInfoIndex}
		::= {ePDU2OutletMeteredInfoTable 1}
		
EPDU2OutletMeteredInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletMeteredInfoIndex					INTEGER, 
		ePDU2OutletMeteredInfoModuleIndex		INTEGER, 
		ePDU2OutletMeteredInfoNumber				INTEGER, 
		ePDU2OutletMeteredInfoName					DisplayString, 
		ePDU2OutletMeteredInfoLayout				INTEGER, 
		ePDU2OutletMeteredInfoRating				INTEGER, 
		ePDU2OutletMeteredInfoBank					INTEGER
	}
		
ePDU2OutletMeteredInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU metered information table entry."
		::= {ePDU2OutletMeteredInfoEntry 1}
		
ePDU2OutletMeteredInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletMeteredInfoEntry 2}
		
ePDU2OutletMeteredInfoNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric metered outlet ID."
		::= {ePDU2OutletMeteredInfoEntry 3}
		
ePDU2OutletMeteredInfoName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined metered outlet name string."
		::= {ePDU2OutletMeteredInfoEntry 4}
		
ePDU2OutletMeteredInfoLayout OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This OID describes the phase connections of the referenced outlet as follows:
			seqPhase1ToNeutral(1) indicates that the outlet is wired from Phase 1 to Neutral.
			seqPhase2ToNeutral(2) indicates that the outlet is wired from Phase 2 to Neutral. 
			seqPhase3ToNeutral(3) indicates that the outlet is wired from Phase 3 to Neutral. 
			seqPhase1ToPhase2(4) indicates that the outlet is wired from Phase 1 to Phase 2.
			seqPhase2ToPhase3(5) indicates that the outlet is wired from Phase 2 to Phase 3. 
			seqPhase3ToPhase1(6) indicates that the outlet is wired from Phase 3 to Phase 1."
		::= {ePDU2OutletMeteredInfoEntry 5}
		
ePDU2OutletMeteredInfoRating OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Maximum power rating of Rack PDU metered outlet."
		::= {ePDU2OutletMeteredInfoEntry 6}
		
ePDU2OutletMeteredInfoBank OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This outlet's numeric bank ID."
		::= {ePDU2OutletMeteredInfoEntry 7}

ePDU2OutletMeteredStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletMeteredStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU metered outlet status data."
		::= {ePDU2OutletMetered 4}

ePDU2OutletMeteredStatusEntry OBJECT-TYPE
		SYNTAX EPDU2OutletMeteredStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status data from currently queried Rack PDU metered outlet."
		INDEX {ePDU2OutletMeteredStatusIndex}
		::= {ePDU2OutletMeteredStatusTable 1}

EPDU2OutletMeteredStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletMeteredStatusIndex								INTEGER, 
		ePDU2OutletMeteredStatusModuleIndex					INTEGER, 
		ePDU2OutletMeteredStatusNumber							INTEGER, 
		ePDU2OutletMeteredStatusName								DisplayString, 
		ePDU2OutletMeteredStatusAlarm								INTEGER, 
		ePDU2OutletMeteredStatusLoad								Gauge, 
		ePDU2OutletMeteredStatusActivePower					Gauge, 
		ePDU2OutletMeteredStatusPeakPower						Gauge, 
		ePDU2OutletMeteredStatusPeakPowerTimestamp	DisplayString, 
		ePDU2OutletMeteredStatusPeakPowerStartTime	DisplayString, 
		ePDU2OutletMeteredStatusEnergy							Gauge, 
		ePDU2OutletMeteredStatusEnergyStart					DisplayString
	}

ePDU2OutletMeteredStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU metered status table entry."
		::= {ePDU2OutletMeteredStatusEntry 1}
		
ePDU2OutletMeteredStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletMeteredStatusEntry 2}
		
ePDU2OutletMeteredStatusNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric metered outlet ID."
		::= {ePDU2OutletMeteredStatusEntry 3}
		
ePDU2OutletMeteredStatusName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined metered outlet name string."
		::= {ePDU2OutletMeteredStatusEntry 4}
		
ePDU2OutletMeteredStatusAlarm OBJECT-TYPE
		SYNTAX INTEGER { 
			noLoadAlarm (1), 
			underCurrentAlarm (2), 
			nearOverCurrentAlarm (3), 
			overCurrentAlarm (4)
		}
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the current outlet alarm."
		::= {ePDU2OutletMeteredStatusEntry 5}
		
ePDU2OutletMeteredStatusLoad OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the measured Outlet load 
			for an Outlet Monitored Rack PDU in tenths of Amps."
		::= {ePDU2OutletMeteredStatusEntry 6}
		
ePDU2OutletMeteredStatusActivePower OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the measured Outlet load for 
			an Outlet Monitored Rack PDU in watts."
		::= {ePDU2OutletMeteredStatusEntry 7}
		
ePDU2OutletMeteredStatusPeakPower OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The peak power consumption of the Rack PDU load in watts."
		::= {ePDU2OutletMeteredStatusEntry 8}
		
ePDU2OutletMeteredStatusPeakPowerTimestamp OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Get this oid shows the date and time that peak power 
			consumption occurred."
		::= {ePDU2OutletMeteredStatusEntry 9}
		
ePDU2OutletMeteredStatusPeakPowerStartTime OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Get this oid shows the date and time that peak power 
			consumption started."
		::= {ePDU2OutletMeteredStatusEntry 10}
		
ePDU2OutletMeteredStatusEnergy OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Energy meter measuring Rack PDU load energy consumption 
			in tenths of kilowatt-hours."
		::= {ePDU2OutletMeteredStatusEntry 11}
		
ePDU2OutletMeteredStatusEnergyStart OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Indicates the date and time of the last device energy 
			meter reset."
		::= {ePDU2OutletMeteredStatusEntry 12}

ePDU2OutletMonitoredTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of monitored outlets on connected Rack PDUs."
		::= {ePDU2OutletMonitored 1}

ePDU2OutletMonitoredConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletMonitoredConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU monitored outlet configuration data."
		::= {ePDU2OutletMonitored 2}
		
ePDU2OutletMonitoredConfigEntry OBJECT-TYPE
		SYNTAX EPDU2OutletMonitoredConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from currently queried Rack PDU monitored outlet."
		INDEX {ePDU2OutletMonitoredConfigIndex}
		::= {ePDU2OutletMonitoredConfigTable 1}
		
EPDU2OutletMonitoredConfigEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletMonitoredConfigIndex									INTEGER, 
		ePDU2OutletMonitoredConfigModuleIndex						INTEGER, 
		ePDU2OutletMonitoredConfigNumber								INTEGER, 
		ePDU2OutletMonitoredConfigName									DisplayString
	}
		
ePDU2OutletMonitoredConfigIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU monitored outlet configuration table entry."
		::= {ePDU2OutletMonitoredConfigEntry 1}
		
ePDU2OutletMonitoredConfigModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined Rack PDU numeric ID."
		::= {ePDU2OutletMonitoredConfigEntry 2}
		
ePDU2OutletMonitoredConfigNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric monitored outlet ID."
		::= {ePDU2OutletMonitoredConfigEntry 3}
		
ePDU2OutletMonitoredConfigName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The user-defined monitored outlet name string."
		::= {ePDU2OutletMonitoredConfigEntry 4}
		
ePDU2OutletMonitoredInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletMonitoredInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU monitored outlet information."
		::= {ePDU2OutletMonitored 3}
		
ePDU2OutletMonitoredInfoEntry OBJECT-TYPE
		SYNTAX EPDU2OutletMonitoredInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information of currently queried Rack PDU monitored outlet."
		INDEX {ePDU2OutletMonitoredInfoIndex}
		::= {ePDU2OutletMonitoredInfoTable 1}
		
EPDU2OutletMonitoredInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletMonitoredInfoIndex					INTEGER, 
		ePDU2OutletMonitoredInfoModuleIndex		INTEGER, 
		ePDU2OutletMonitoredInfoNumber				INTEGER, 
		ePDU2OutletMonitoredInfoName					DisplayString, 
		ePDU2OutletMonitoredInfoLayout				INTEGER, 
		ePDU2OutletMonitoredInfoRating				INTEGER, 
		ePDU2OutletMonitoredInfoBank					INTEGER
	}
		
ePDU2OutletMonitoredInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU monitored information table entry."
		::= {ePDU2OutletMonitoredInfoEntry 1}
		
ePDU2OutletMonitoredInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletMonitoredInfoEntry 2}
		
ePDU2OutletMonitoredInfoNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric monitored outlet ID."
		::= {ePDU2OutletMonitoredInfoEntry 3}
		
ePDU2OutletMonitoredInfoName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined monitored outlet name string."
		::= {ePDU2OutletMonitoredInfoEntry 4}
		
ePDU2OutletMonitoredInfoLayout OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This OID describes the phase connections of the referenced outlet as follows:
			seqPhase1ToNeutral(1) indicates that the outlet is wired from Phase 1 to Neutral.
			seqPhase2ToNeutral(2) indicates that the outlet is wired from Phase 2 to Neutral. 
			seqPhase3ToNeutral(3) indicates that the outlet is wired from Phase 3 to Neutral. 
			seqPhase1ToPhase2(4) indicates that the outlet is wired from Phase 1 to Phase 2.
			seqPhase2ToPhase3(5) indicates that the outlet is wired from Phase 2 to Phase 3. 
			seqPhase3ToPhase1(6) indicates that the outlet is wired from Phase 3 to Phase 1."
		::= {ePDU2OutletMonitoredInfoEntry 5}
		
ePDU2OutletMonitoredInfoRating OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Maximum power rating of Rack PDU monitored outlet."
		::= {ePDU2OutletMonitoredInfoEntry 6}
		
ePDU2OutletMonitoredInfoBank OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This outlet's numeric bank ID."
		::= {ePDU2OutletMonitoredInfoEntry 7}

ePDU2OutletMonitoredStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2OutletMonitoredStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Rack PDU monitored outlet status data."
		::= {ePDU2OutletMonitored 4}

ePDU2OutletMonitoredStatusEntry OBJECT-TYPE
		SYNTAX EPDU2OutletMonitoredStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status data from currently queried Rack PDU monitored outlet."
		INDEX {ePDU2OutletMonitoredStatusIndex}
		::= {ePDU2OutletMonitoredStatusTable 1}

EPDU2OutletMonitoredStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2OutletMonitoredStatusIndex								INTEGER, 
		ePDU2OutletMonitoredStatusModuleIndex					INTEGER, 
		ePDU2OutletMonitoredStatusNumber							INTEGER, 
		ePDU2OutletMonitoredStatusName								DisplayString
	}

ePDU2OutletMonitoredStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..96)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Rack PDU monitored status table entry."
		::= {ePDU2OutletMonitoredStatusEntry 1}
		
ePDU2OutletMonitoredStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Rack PDU numeric ID."
		::= {ePDU2OutletMonitoredStatusEntry 2}
		
ePDU2OutletMonitoredStatusNumber OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The numeric monitored outlet ID."
		::= {ePDU2OutletMonitoredStatusEntry 3}
		
ePDU2OutletMonitoredStatusName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The user-defined monitored outlet name string."
		::= {ePDU2OutletMonitoredStatusEntry 4}
		
-- ePDU2Group
ePDU2GroupNumberOfDevices OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the number of Rack PDU devices contributing 
			to the Daisy Chain group power and energy values. Queries 
			to slave units in an Daisy Chain group will return 0."
		::= {ePDU2Group 1}

ePDU2GroupTotalPower OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the total power consumption of the Rack PDU 
			Daisy Chain group devices in watts. Queries to slave 
			units in an Daisy Chain group will return 0."
		::= {ePDU2Group 2}

ePDU2GroupTotalEnergy OBJECT-TYPE
		SYNTAX Gauge
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Getting this OID will return the total energy consumption of the Rack 
			PDU Daisy Chain group devices in tenths of kilowatt-hours. 
			
			To reset the energy meters for each of the Rack PDU devices that contribute 
			to this value, see the ePDU2GroupEnergyReset OID.
			
			To view the start time for each of the Rack PDU device energy meters that 
			contribute to this value, see the ePDU2DeviceStatusEnergyStartTime OID.
			
			Queries to slave units in an Daisy Chain group will return 0."
		::= {ePDU2Group 3}

ePDU2GroupEnergyReset OBJECT-TYPE
		SYNTAX INTEGER {
			noOperation (1), 
			reset (2)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this OID to reset (2) will cause the device energy meter value 
			on each device in the Rack PDU Daisy Chain group to be reset to zero. 

			Getting this OID in models that support this feature will do nothing 
			and return the noOperation(1) value."
		::= {ePDU2Group 4}

ePDU2GroupPeakRecordReset OBJECT-TYPE
		SYNTAX INTEGER {
			noOperation (1), 
			reset (2)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this OID to reset (2) will cause the device peak record value 
			on each device in the Rack PDU Daisy Chain group to be reset to current
			load/power. 
			
			Getting this OID in models that support this feature will do nothing 
			and return the noOperation(1) value."
		::= {ePDU2Group 5}
--ePDU2Source
ePDU2SourceTableSize OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"A Host Automatic Transfer Switch response total number of Automatic Transfer Switches on daisy chain. 
			Automatic Transfer Switch as a Slave can only response 1."
    ::= { ePDU2Source 1 }

-- Source Config Table
ePDU2SourceConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2SourceConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Source configuration data."
		::= { ePDU2Source 2 }
		
ePDU2SourceConfigEntry OBJECT-TYPE
		SYNTAX EPDU2SourceConfigEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Configuration data from Source being queried."
		INDEX  { ePDU2SourceConfigIndex }
		::= { ePDU2SourceConfigTable 1 }

EPDU2SourceConfigEntryStruct ::=
	SEQUENCE {
	  ePDU2SourceConfigIndex													INTEGER, 
	  ePDU2SourceConfigModuleIndex											INTEGER, 
	  ePDU2SourceConfigPreferredSource									INTEGER, 
	  ePDU2SourceConfigFrequencyDeviation							INTEGER, 
	  ePDU2SourceConfigVoltageSensitivity							INTEGER, 
	  ePDU2SourceConfigNominalVoltage									INTEGER, 
	  ePDU2SourceConfigTransferVoltageRange						INTEGER, 
	  ePDU2SourceConfigNarrowRangeValue								INTEGER, 
	  ePDU2SourceConfigMediumRangeValue								INTEGER, 
	  ePDU2SourceConfigWideRangeValue									INTEGER, 
	  ePDU2EventCountsReset														INTEGER
	}	
	
ePDU2SourceConfigIndex OBJECT-TYPE
    SYNTAX INTEGER(1..4)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The index to the Automatic Transfer Switch table entry."
		::= { ePDU2SourceConfigEntry 1 }		

ePDU2SourceConfigModuleIndex OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The Automatic Transfer Switch numeric ID."
		::= { ePDU2SourceConfigEntry 2 }

ePDU2SourceConfigPreferredSource OBJECT-TYPE
 SYNTAX INTEGER {
      sourceA(1),
      sourceB(2), 
      none(3)
  }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"This variable returns the preferred source of power when both sources are OK"
		::= { ePDU2SourceConfigEntry 3 }

ePDU2SourceConfigFrequencyDeviation OBJECT-TYPE
    SYNTAX INTEGER(1..3)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"To configure the frequency deviation." 
		::= { ePDU2SourceConfigEntry 4 }
	
ePDU2SourceConfigVoltageSensitivity OBJECT-TYPE
   SYNTAX INTEGER {
			high				(1),
			medium			(2),
			low					(3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable defines the sensitivity to changes in voltage: 
			high(1) for best protection, low(3) for frequent small line 
			voltage changes."
		::= { ePDU2SourceConfigEntry 5 }
		
ePDU2SourceConfigNominalVoltage OBJECT-TYPE
  SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable returns the nominal voltage of the input."
		::= { ePDU2SourceConfigEntry 6 }
	
ePDU2SourceConfigTransferVoltageRange OBJECT-TYPE
		SYNTAX INTEGER {
			wide				(1),
			medium			(2),
			narrow			(3)
		}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable defines the range of acceptable voltage from a power source.
			If the voltage measured from the selected input source is not within this
			range, the Automatic Transfer Switch will switch over (transfer) to the 
			alternate power source."
		::= { ePDU2SourceConfigEntry 7 }

ePDU2SourceConfigNarrowRangeValue OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the Narrow Range value of acceptable voltage 
			from a power source."
		::= { ePDU2SourceConfigEntry 8 }
		
ePDU2SourceConfigMediumRangeValue OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the Medium Range value of acceptable voltage 
			from a power source."
		::= { ePDU2SourceConfigEntry 9 }

ePDU2SourceConfigWideRangeValue OBJECT-TYPE
		SYNTAX INTEGER 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"To configure the Wide Range value of acceptable voltage 
			from a power source."
		::= { ePDU2SourceConfigEntry 10 }

ePDU2EventCountsReset OBJECT-TYPE
		SYNTAX INTEGER  {
			none				(1),
			clear				(2) 
		} 
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Setting this variable will clear all event counts in Automatic Transfer Switch."
		::= { ePDU2SourceConfigEntry 11 }	

-- Source Info Table
ePDU2SourceInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2SourceInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Automatic Transfer Switch information."
		::= { ePDU2Source 3 }

ePDU2SourceInfoEntry OBJECT-TYPE
		SYNTAX EPDU2SourceInfoEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Information of the Automatic Transfer Switch being queried."
		INDEX {ePDU2SourceInfoIndex}
		::= { ePDU2SourceInfoTable 1 }

EPDU2SourceInfoEntryStruct ::= 
	SEQUENCE {
		ePDU2SourceInfoIndex																INTEGER,
		ePDU2SourceInfoModuleIndex													INTEGER,
		ePDU2SourceInfoSourceSwitch												INTEGER, 
		ePDU2SourceInfoSourcePreferenceChange							INTEGER, 
		ePDU2SourceInfoPreferredSourceFreqOutofRange				INTEGER, 
		ePDU2SourceInfoPreferredSourceVoltOutofRange				INTEGER, 
		ePDU2SourceInfoDeviceCurrentOverload								INTEGER, 
		ePDU2SourceInfoBank1Overload												INTEGER, 
		ePDU2SourceInfoBank2Overload												INTEGER, 
		ePDU2SourceInfoBank3Overload												INTEGER
	}

ePDU2SourceInfoIndex OBJECT-TYPE
		SYNTAX INTEGER(1..4)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Automatic Transfer Switch Information table entry."
		::= {ePDU2SourceInfoEntry 1}
		
ePDU2SourceInfoModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Automatic Transfer Switch numeric ID."
		::= {ePDU2SourceInfoEntry 2}

ePDU2SourceInfoSourceSwitch OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Source Switch event counts of Automatic Transfer Switch."
		::= {ePDU2SourceInfoEntry 3}
		
ePDU2SourceInfoSourcePreferenceChange OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Source Preference Change event counts of Automatic Transfer Switch."
		::= {ePDU2SourceInfoEntry 4}

ePDU2SourceInfoPreferredSourceFreqOutofRange OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Preferred Source Frequency Out of Range event counts of Automatic Transfer Switch."
		::= {ePDU2SourceInfoEntry 5}
		
ePDU2SourceInfoPreferredSourceVoltOutofRange OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Preferred Source Voltage Out of Range event counts of Automatic Transfer Switch."
		::= {ePDU2SourceInfoEntry 6}

ePDU2SourceInfoDeviceCurrentOverload OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Device Current Overload event counts of Automatic Transfer Switch."
		::= {ePDU2SourceInfoEntry 7}

ePDU2SourceInfoBank1Overload OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Bank 1 Current Overload event counts of Automatic Transfer Switch.
			Models that do not support this feature will respond to this OID
			with a value of (-1)."
		::= {ePDU2SourceInfoEntry 8}
	
ePDU2SourceInfoBank2Overload OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Bank 2 Current Overload event counts of Automatic Transfer Switch.
			Models that do not support this feature will respond to this OID
			with a value of (-1)."
		::= {ePDU2SourceInfoEntry 9}

ePDU2SourceInfoBank3Overload OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Bank 3 Current Overload event counts of Automatic Transfer Switch.
			Models that do not support this feature will respond to this OID
			with a value of (-1)."
		::= {ePDU2SourceInfoEntry 10}
		
-- Source Status Table
ePDU2SourceStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF EPDU2SourceStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of Automatic Transfer Switch current status."
		::= { ePDU2Source 4 }

ePDU2SourceStatusEntry OBJECT-TYPE
		SYNTAX EPDU2SourceStatusEntryStruct
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Status data from the Automatic Transfer Switch being queried."
		INDEX {ePDU2SourceStatusIndex}
		::= { ePDU2SourceStatusTable 1 }

EPDU2SourceStatusEntryStruct ::= 
	SEQUENCE {
		ePDU2SourceStatusIndex												INTEGER, 
		ePDU2SourceStatusModuleIndex									INTEGER, 
		ePDU2SourceStatusSelectedSource								INTEGER,
		ePDU2SourceStatusNominalFrequency							INTEGER,
		ePDU2SourceStatusSourceAVoltage								INTEGER,	
		ePDU2SourceStatusSourceBVoltage								INTEGER,
		ePDU2SourceStatusSourceAFrequency							INTEGER,
		ePDU2SourceStatusSourceBFrequency							INTEGER,
		ePDU2SourceStatusSourceAVolStatus							INTEGER,
		ePDU2SourceStatusSourceBVolStatus							INTEGER,
		ePDU2SourceStatusSourceAFreqStatus						INTEGER,
		ePDU2SourceStatusSourceBFreqStatus						INTEGER,
		ePDU2SourceStatusSourcePhaseSync							INTEGER,
		ePDU2SourceStatusPowerSupplySourceAStatus			INTEGER,
		ePDU2SourceStatusPowerSupplySourceBStatus			INTEGER,
		ePDU2SourceStatusRedundancyState							INTEGER
	}

ePDU2SourceStatusIndex OBJECT-TYPE
		SYNTAX INTEGER(1..4)
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The index to the Automatic Transfer Switch status table entry."
		::= {ePDU2SourceStatusEntry 1}
		
ePDU2SourceStatusModuleIndex OBJECT-TYPE
		SYNTAX INTEGER
    ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Automatic Transfer Switch numeric ID"
		::= {ePDU2SourceStatusEntry 2}

ePDU2SourceStatusSelectedSource OBJECT-TYPE
		SYNTAX INTEGER {
			sourceA		(1),
      sourceB		(2),
      none			(3)
		} 
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"This variable returns the current source of power. "
		::= { ePDU2SourceStatusEntry 3 } 
	
	
ePDU2SourceStatusNominalFrequency OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The Nominal Frequency  in 0.1 Hertz."
		::= { ePDU2SourceStatusEntry 4 }	
		
ePDU2SourceStatusSourceAVoltage OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input voltage of source A in 0.1 Volt."
		::= { ePDU2SourceStatusEntry 5 }	
	
ePDU2SourceStatusSourceBVoltage OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input voltage of source B in 0.1 Volt."
		::= { ePDU2SourceStatusEntry 6 }	
	
ePDU2SourceStatusSourceAFrequency OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input frequency of source A in 0.1 Hertz."
		::= { ePDU2SourceStatusEntry 7 }	
	
ePDU2SourceStatusSourceBFrequency OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The input frequency of source B in 0.1 Hertz."
		::= { ePDU2SourceStatusEntry 8 }	
		
ePDU2SourceStatusSourceAVolStatus OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			overVoltage			(2),
			underVoltage		(3)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input voltage status of source A."
		::= { ePDU2SourceStatusEntry 9 } 

ePDU2SourceStatusSourceBVolStatus OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			overVoltage			(2),
			underVoltage		(3)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input voltage status of source B."
		::= { ePDU2SourceStatusEntry 10 } 

ePDU2SourceStatusSourceAFreqStatus OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			overFrequency		(2),
			underFrequency	(3)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input frequency status of source A."
		::= { ePDU2SourceStatusEntry 11 } 
	
ePDU2SourceStatusSourceBFreqStatus OBJECT-TYPE
		SYNTAX INTEGER {
			normal					(1),
			overFrequency		(2),
			underFrequency	(3)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"The input frequency status of source B."
		::= { ePDU2SourceStatusEntry 12 }
		
ePDU2SourceStatusSourcePhaseSync OBJECT-TYPE
		SYNTAX INTEGER {
			inSync					(1),
			outOfSync					(2)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"This variable returns the status of the phase sync."
		::= { ePDU2SourceStatusEntry 13 }

ePDU2SourceStatusPowerSupplySourceAStatus OBJECT-TYPE
		SYNTAX INTEGER {
			normal						(1),
			failed3p3v				(2),
			failed24v					(3),
			failed3p3and24v		(4)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"This variable returns the status of the power supply	in system.
			normal(1) indicates the power supply of source A in normal.
			3.3vFailed(2) indicates the power supply 3.3v of source A is failed.
			24vFailed(3) indicates the power supply 24v of source A is failed.
			3.3and24vfailed(4) indicates both power supply 3.3 and 24v of source A is failed."
		::= { ePDU2SourceStatusEntry 14 }
	
ePDU2SourceStatusPowerSupplySourceBStatus OBJECT-TYPE
		SYNTAX INTEGER {
			normal						(1),
			failed3p3v				(2),
			failed24v					(3),
			failed3p3and24v		(4)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"This variable returns the status of the power supply	in system.
			normal(1) indicates the power supply of source B in normal.
			3.3vFailed(2) indicates the power supply 3.3v of source B is failed.
			24vFailed(3) indicates the power supply 24v of source B is failed.
			3.3and24vfailed(4) indicates both power supply 3.3 and 24v of source B is failed."
		::= { ePDU2SourceStatusEntry 15 }

ePDU2SourceStatusRedundancyState OBJECT-TYPE
		SYNTAX INTEGER {
			atsRedundancyLost		(1),
			atsFullyRedundant		(2)
		}
		ACCESS     read-only
		STATUS     mandatory
		DESCRIPTION
			"This variable returns the current redundancy state of the ATS.
			atsRedundancyLost(1) indicates that the ATS is unable to switch over to the alternate power source if the current source fails.
			atsFullyRedundant(2) indicates that the ATS will switch over to the alternate power source if the current source fails."
		::= { ePDU2SourceStatusEntry 16 }

-- Battery Manager
bmIdentModelName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager model name."
   ::= { bmIdent 1 }
  
bmIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager hardware version."
   ::= { bmIdent 2 }
   
bmIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager firmware version."
   ::= { bmIdent 3 }
   
bmIdentLCDHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager LCD hardware version."
   ::= { bmIdent 4 }
   
bmIdentLCDFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager LCD firmware version."
   ::= { bmIdent 5 }
   
bmIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager manufacture date."
   ::= { bmIdent 6 }
   
bmIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager serial number."
   ::= { bmIdent 7 }

bmIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager system identification name."
   ::= { bmIdent 8 }

bmIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager system location."
   ::= { bmIdent 9 }

bmPropertyStringMax OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager max string count supported."
   ::= { bmProperty 1 }
   
bmPropertyMaxProbeOnString OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager max probes on a string supported."
   ::= { bmProperty 2 }
   
bmPropertyInputVoltageRange OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery manager line input voltage range."
   ::= { bmProperty 3 }
   
bmPropertyProbesRating OBJECT-TYPE
   SYNTAX  INTEGER {
      probeUnknown(1), 
      probe2V(2), 
      probe4V(3), 
      probe6V(4), 
      probe12V(5),
      probeMixed(6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery probes model rating."
   ::= { bmProperty 4 }
   
bmConfigBattAH OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager battery AH type configuration, unit in 0.1 AH."
   ::= { bmConfig 1 }
   
bmConfigStringCount OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure number of battery strings to manage."
   ::= { bmConfig 2 }
  
bmConfigProbesCountOnString OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure number of batteries on a string."
   ::= { bmConfig 3 }
   
bmConfigLowVoltAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low voltage alarm threshold setting, unit in 0.1 volt."
   ::= { bmConfig 4 }
   
bmConfigHighVoltAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high voltage alarm threshold setting, unit in 0.1 volt."
   ::= { bmConfig 5 }
   
bmConfigVoltDiffAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Batteries within a string voltage difference threshold, unit in 0.1 volt."
   ::= { bmConfig 6 }
   
bmConfigLowTempAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low temperature alarm threshold, unit in 0.1 degree C."
   ::= { bmConfig 7 }
   
bmConfigHighTempAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high temperature alarm threshold, unit in 0.1 degree C."
   ::= { bmConfig 8 }
   
bmConfigLowResAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low resistance alarm threshold, unit in 0.01 mOhm."
   ::= { bmConfig 9 }
   
bmConfigHighResAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high resistance alarm threshold, unit in 0.01 mOhm."
   ::= { bmConfig 10 }

bmConfigLowResWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low resistance warning threshold, unit in 0.01 mOhm."
   ::= { bmConfig 11 }
   
bmConfigHighResWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high resistance warning threshold, unit in 0.01 mOhm."
   ::= { bmConfig 12 }

bmConfigResHealthAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery resistance health alarm threshold, unit in percentage and should larger than 100."
   ::= { bmConfig 13 }
   
bmConfigResHealthWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery resistance health warn threshold, unit in percentage and should larger than 100."
   ::= { bmConfig 14 }

bmConfigLowVoltAlarmThreshold10mV OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low voltage alarm threshold setting, unit in 10 mV (0.01 volt)."
   ::= { bmConfig 15 }
   
bmConfigHighVoltAlarmThreshold10mV OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high voltage alarm threshold setting, unit in 10 mV (0.01 volt)."
   ::= { bmConfig 16 }
               
bmConfigMergeFeature OBJECT-TYPE
   SYNTAX INTEGER{
   	 enable (1), 
   	 disable (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Enable/Disable merge feature. 
      Setting this OID may result in erasing existed battery records."
   ::= { bmConfig 17 }
   
bmConfigLowStringVoltageAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String low voltage alarm threshold setting, unit in 0.1 volt."
   ::= { bmConfig 20 }
   
bmConfigHighStringVoltageAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String high voltage alarm threshold setting, unit in 0.1 volt."
   ::= { bmConfig 21 }

bmConfigLowStringVoltageWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String low voltage warning threshold setting, unit in 0.1 volt."
   ::= { bmConfig 22 } 
    
bmConfigHighStringVoltageWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String high voltage warning threshold setting, unit in 0.1 volt."
   ::= { bmConfig 23 }

bmConfigLowStringSocAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String low soc alarm threshold setting, unit in 1%."
   ::= { bmConfig 24 }
   
bmConfigLowStringSocWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String low soc warning threshold setting, unit in %1."
   ::= { bmConfig 25 }

bmConfigLowBattSocAlarmThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low soc alarm threshold setting, unit in 1%."
   ::= { bmConfig 26 }

bmConfigLowBattSocWarnThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low soc warning threshold setting, unit in 1%."
   ::= { bmConfig 27 }

bmControlSysytemIdenticator OBJECT-TYPE
   SYNTAX INTEGER {
      noTestIndicators(1), 
      testIndicators(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager will perform a panel indicator test when the variable is set to testIndicators(2).
       Get this oid will get noTestIndicators(1)."
   ::= { bmControl 1 }
   
bmControlProbeIndicator OBJECT-TYPE
   SYNTAX INTEGER {
	   	noTestIndicators(1), 
	   	testIndicators(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery manager will perform a probe indicator test when the variable is set to testIndicators(2).
       Get this oid will get noTestIndicators(1)."
   ::= { bmControl 2 }

bmProbesNum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current connected probe number."
   ::= { bmProbes 1 }
   
bmProbesTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current configured probe number."
   ::= { bmProbes 2 }
   
bmProbesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The battery probes installation information."
   ::= { bmProbes 3 }

bmProbesEntry OBJECT-TYPE
   SYNTAX BmProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The battery probes installation information."
   INDEX  { bmProbesIndex }
   ::= { bmProbesTable 1 }

BmProbesEntry ::=
   SEQUENCE {
      bmProbesIndex          INTEGER,
      bmProbesPackIndex      INTEGER,
      bmProbesStringIndex    INTEGER,
      bmProbesBattIndex      INTEGER
   }

bmProbesIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the bmProbesEntry entry."
   ::= { bmProbesEntry 1 }
   
bmProbesPackIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..64)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The pack number the battery probe installed."
   ::= { bmProbesEntry 2 }

bmProbesStringIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..16)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The string number the battery probe installed."
   ::= { bmProbesEntry 3 }
   
bmProbesBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery number the battery probe installed."
   ::= { bmProbesEntry 4 }

bmProbesVoltageTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the battery voltage table"
   ::= { bmProbes 4 }
   
bmProbesVoltageTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesVoltageEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The batteries voltage information."
   ::= { bmProbes 5 }

bmProbesVoltageEntry OBJECT-TYPE
   SYNTAX BmProbesVoltageEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The batteries voltage information."
   INDEX  { bmProbesVoltageIndex}
   ::= { bmProbesVoltageTable 1 }

BmProbesVoltageEntry ::=
   SEQUENCE {
      bmProbesVoltageIndex         INTEGER,
      bmProbesVoltagePackIndex     INTEGER,
      bmProbesVoltageStringIndex   INTEGER,
      bmProbesVoltageBattIndex     INTEGER,
      bmProbesVoltageProbeIndex    INTEGER, 
      bmProbesVoltageAlarmStatus   INTEGER,
      bmProbesVoltage              INTEGER, 
      bmProbesVoltageEqualPercentage INTEGER, 
      bmProbesVoltageSocAlarmStatus INTEGER, 
      bmProbesVoltageSoc           INTEGER
   }

bmProbesVoltageIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the BmProbesVoltageEntry entry."
   ::= { bmProbesVoltageEntry 1 }
   
bmProbesVoltagePackIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..64)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery pack number the battery voltage reading belongs to."
   ::= { bmProbesVoltageEntry 2 }

bmProbesVoltageStringIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..16)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery string number the battery voltage reading belongs to."
   ::= { bmProbesVoltageEntry 3 }
   
bmProbesVoltageBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery index to the voltage record within its string."
   ::= { bmProbesVoltageEntry 4 }

bmProbesVoltageProbeIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The probe index to the voltage record."
   ::= { bmProbesVoltageEntry 5 }

bmProbesVoltageAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      voltageNormal(1), 
      voltageWarnLow(2), 
      voltageWarnHigh(3), 
      voltageAlarmLow(4), 
      voltageAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery voltage alarm status."
   ::= { bmProbesVoltageEntry 6 }
   
bmProbesVoltage    OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get battery voltage, unit in 10mV (0.01 volt)."
   ::= { bmProbesVoltageEntry 7 }

bmProbesVoltageEqualPercentage    OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get battery voltage equalizing power, unit in percentage."
   ::= { bmProbesVoltageEntry 8 }

bmProbesVoltageSocAlarmStatus OBJECT-TYPE
   SYNTAX  INTEGER {
      voltageSocNormal(1), 
      voltageSocWarnLow(2), 
      voltageSocWarnHigh(3), 
      voltageSocAlarmLow(4), 
      voltageSocAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery soc alarm status."
   ::= { bmProbesVoltageEntry 9 }

bmProbesVoltageSoc OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get battery soc, unit in percentage."
   ::= { bmProbesVoltageEntry 10 }

bmProbesTempTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the battery temperature table"
   ::= { bmProbes 6 }
   
bmProbesTempTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesTempEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The batteries temperature information."
   ::= { bmProbes 7 }

bmProbesTempEntry OBJECT-TYPE
   SYNTAX BmProbesTempEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The batteries temperature information."
   INDEX  { bmProbesTempIndex }
   ::= { bmProbesTempTable 1 }

BmProbesTempEntry ::=
   SEQUENCE {
      bmProbesTempIndex          INTEGER,
      bmProbesTempPackIndex      INTEGER, 
      bmProbesTempStringIndex    INTEGER,
      bmProbesTempBattIndex      INTEGER,
      bmProbesTempProbeIndex     INTEGER,
      bmProbesTempAlarmStatus    INTEGER,
      bmProbesTemperature        INTEGER
   }

bmProbesTempIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the BmProbesTempEntry entry."
   ::= { bmProbesTempEntry 1 }

bmProbesTempPackIndex OBJECT-TYPE
   SYNTAX INTEGER(1..64)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery pack number the battery temperature reading belongs to."
   ::= { bmProbesTempEntry 2 }

bmProbesTempStringIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..16)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery string number the battery temperature reading belongs to."
   ::= { bmProbesTempEntry 3 }

bmProbesTempBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the battery."
   ::= { bmProbesTempEntry 4 }
   
bmProbesTempProbeIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the probe."
   ::= { bmProbesTempEntry 5 }
   
bmProbesTempAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      temperatureNormal(1), 
      temperatureWarnLow(2), 
      temperatureWarnHigh(3), 
      temperatureAlarmLow(4), 
      temperatureAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The alarm status of the temperature."
   ::= { bmProbesTempEntry 6 }

bmProbesTemperature    OBJECT-TYPE
   SYNTAX  INTEGER(-40..100)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The temperature record, measure in 0.1 degree C."
   ::= { bmProbesTempEntry 7 }

bmProbesResTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The size of the battery resistance table"
   ::= { bmProbes 8 }
   
bmProbesResTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmProbesResEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The batteries resistance information."
   ::= { bmProbes 9 }

bmProbesResEntry OBJECT-TYPE
   SYNTAX BmProbesResEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The batteries resistance information."
   INDEX  { bmProbesResIndex }
   ::= { bmProbesResTable 1 }

BmProbesResEntry ::=
   SEQUENCE {
      bmProbesResIndex          INTEGER,
      bmProbesResPackIndex      INTEGER, 
      bmProbesResStringIndex    INTEGER,
      bmProbesResBattIndex      INTEGER,
      bmProbesResProbeIndex     INTEGER,
      bmProbesResAlarmStatus    INTEGER,
      bmProbesResistance        INTEGER,
      bmProbesResHealth         INTEGER
   }

bmProbesResIndex OBJECT-TYPE
   SYNTAX INTEGER(1..960)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the BmProbesResEntry entry."
   ::= { bmProbesResEntry 1 }

bmProbesResPackIndex OBJECT-TYPE
   SYNTAX INTEGER(1..64)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery pack number the battery resistance reading belongs to."
   ::= { bmProbesResEntry 2 }   
   
bmProbesResStringIndex OBJECT-TYPE
   SYNTAX  INTEGER(1..16)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery string number the battery resistance reading belongs to."
   ::= { bmProbesResEntry 3 }

bmProbesResBattIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the battery."
   ::= { bmProbesResEntry 4 }
   
bmProbesResProbeIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the probe."
   ::= { bmProbesResEntry 5 }
   
bmProbesResAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      resistanceNormal(1), 
      resistanceWarnLow(2), 
      resistanceWarnHigh(3), 
      resistanceAlarmLow(4), 
      resistanceAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The alarm status of the battery resistance."
   ::= { bmProbesResEntry 6 }

bmProbesResistance    OBJECT-TYPE
   SYNTAX  INTEGER(0..100)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The resistance of the battery, unit in 0.01 mOhm."
   ::= { bmProbesResEntry 7 }
   
bmProbesResHealth    OBJECT-TYPE
   SYNTAX  INTEGER(0..100)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The resistance health status, unit in percentage."
   ::= { bmProbesResEntry 8 }

bmFuncResMeasureInterval OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time interval for battery manager to exercising resistance measurement, unit in hour(s)."
   ::= { bmFuncResMeasure 1 }
   
bmFuncResMeasureManualCmd OBJECT-TYPE
   SYNTAX INTEGER {
	   	noResMeasure(1), 
	   	resMeasureNow(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This oid allows user to manual resistance measurement. 
      Set this oid to measureResNow(2) to measure resistance immediately.
      
      Get bmFuncResMeasureLastCmdResult oid to check command acceptance.
      "
   ::= { bmFuncResMeasure 2 }
   
bmFuncResMeasureManualResult OBJECT-TYPE
   SYNTAX INTEGER {
      resNoManualResult(1), 
      resManualProcessing(2), 
      resManualComplete(3), 
      resManualReject(9)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Get this oid to confirm the last manual command result."
   ::= { bmFuncResMeasure 3 }
   
bmFuncResMeasureLastUpdate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When resistance measurement complete either by auto or manual, 
      this oid will update to the last update time."
   ::= { bmFuncResMeasure 4 }

bmFuncEqualEnable OBJECT-TYPE
   SYNTAX INTEGER{
   	 enable (1), 
   	 disable (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery voltage equalization configuration."
   ::= { bmFuncEqual 1 }
   
bmFuncEqualActiveCond OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Volatge equalization will active when the voltage difference larger than this value, unit in 10mV."
   ::= { bmFuncEqual 2 }

bmFuncEqualStatus OBJECT-TYPE
   SYNTAX INTEGER {
      equalActive(1), 
      equalFailed(2), 
      equalNotActive(3), 
      equalNotSupport(9)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This oid shows the current equalization status."
   ::= { bmFuncEqual 3 }
   
bmFuncEqualStartTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This oid shows the last equalization start time."
   ::= { bmFuncEqual 4 }
   
bmFuncEqualElapseTime OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This oid shows the elapsed time since last equalization started."
   ::= { bmFuncEqual 5 }

bmStringsNum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current connected string number."
   ::= { bmStrings 1 }
   
bmStringsTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current configured string number."
   ::= { bmStrings 2 }
   
bmStringsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmStringsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of strings."
   ::= { bmStrings 3 }

bmStringsEntry OBJECT-TYPE
   SYNTAX BmStringsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of strings installation to gather status from."
   INDEX  { bmStringsIndex }
   ::= { bmStringsTable 1 }

BmStringsEntry ::=
   SEQUENCE {
      bmStringsIndex        INTEGER,
      bmStringsPackIndex    INTEGER,
      bmStringsProbeCount	INTEGER
   }

bmStringsIndex OBJECT-TYPE
   SYNTAX INTEGER(1..4)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Strings table index"
   ::= { bmStringsEntry 1 }
   
bmStringsPackIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..4)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery pack number the string installed."
   ::= { bmStringsEntry 2 }

bmStringsProbeCount    OBJECT-TYPE
   SYNTAX  INTEGER(1..960)    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The probe number installed in string."
   ::= { bmStringsEntry 3 }

bmStringsVoltageTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The size of the string voltage table" 
   ::= { bmStrings 4 }
   
bmStringsVoltageTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BmStringsVoltageEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of voltage of strings."
   ::= { bmStrings 5 }

bmStringsVoltageEntry OBJECT-TYPE
   SYNTAX BmStringsVoltageEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of string voltage installation to gather status from."
   INDEX  { bmStringsVoltageIndex }
   ::= { bmStringsVoltageTable 1 }

BmStringsVoltageEntry ::=
   SEQUENCE {
      bmStringsVoltageIndex          INTEGER,
      bmStringsVoltagePackIndex      INTEGER,
      bmStringsVoltageAlarmStatus					INTEGER,
      bmStringsVoltage					    INTEGER, 
      bmStringsVoltageSocAlarmStatus INTEGER, 
      bmStringsVoltageSoc            INTEGER
   }

bmStringsVoltageIndex OBJECT-TYPE
   SYNTAX INTEGER(1..10)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Strings table index"
   ::= { bmStringsVoltageEntry 1 }
   
bmStringsVoltagePackIndex    OBJECT-TYPE
   SYNTAX  INTEGER(1..10)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The battery pack number the string installed."
   ::= { bmStringsVoltageEntry 2 }
   
bmStringsVoltageAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      stringvoltageNormal(1), 
      stringvoltageWarnLow(2), 
      stringvoltageWarnHigh(3), 
      stringvoltageAlarmLow(4), 
      stringvoltageAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The string voltage alarm status."
   ::= { bmStringsVoltageEntry 3 }
   
bmStringsVoltage    OBJECT-TYPE
   SYNTAX  INTEGER    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get string voltage, unit in 10mV (0.01 V)."
   ::= { bmStringsVoltageEntry 4 }

bmStringsVoltageSocAlarmStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      stringvoltageSocNormal(1), 
      stringvoltageSocWarnLow(2), 
      stringvoltageSocWarnHigh(3), 
      stringvoltageSocAlarmLow(4), 
      stringvoltageSocAlarmHigh(5)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The string soc alarm status."
   ::= { bmStringsVoltageEntry 5 }

bmStringsVoltageSoc OBJECT-TYPE
SYNTAX  INTEGER    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to get string soc, unit in 1%."
   ::= { bmStringsVoltageEntry 6 }

bmFuncShutdownVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Shutdown voltage threshold setting, unit in  1 mV.(0.01 V)"
   ::= { bmFuncShutdown 1 }

   
bmFuncShutdownStatus    OBJECT-TYPE
   SYNTAX  INTEGER {
      normal(1), 
      downcount(2), 
      shutdown(3)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The low voltage shutdown status."
   ::= { bmFuncShutdown 2 }
   
bmShutdownDownCount    OBJECT-TYPE
   SYNTAX  INTEGER    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Down count before battery probe shutdown, unit in minute."
   ::= { bmFuncShutdown 3 }

-- environment2 Group
-- envir2Ident group
envir2IdentTableSize OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of environment sensor."
    ::= { envir2Ident 1 }

envir2IdentTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ENVIR2IdentEntryStruct 
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of environment sensor identification information."
		::= { envir2Ident 2 }

envir2IdentEntry OBJECT-TYPE
		SYNTAX ENVIR2IdentEntryStruct 
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Identification data from environment sensor being queried."
		INDEX  { envir2IdentIndex }
		::= { envir2IdentTable 1 }

ENVIR2IdentEntryStruct ::=
  SEQUENCE {
  	envir2IdentIndex						   			 	INTEGER, 
  	envir2IdentModulePosition							INTEGER,
	  envir2IdentName			    							DisplayString,
	  envir2IdentLocation										DisplayString,
	  envir2IdentSerialNumber								DisplayString
  }

envir2IdentIndex OBJECT-TYPE
    SYNTAX INTEGER(1..8)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The index to the environment sensor table entry."
		::= { envir2IdentEntry 1 }

envir2IdentModulePosition OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The position of environment sensor. "
		::= { envir2IdentEntry 2 }

envir2IdentName OBJECT-TYPE
		SYNTAX  DisplayString 
 		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The name of the environment sensor.
				The maximum string size is device dependent."
		::= { envir2IdentEntry  3 }

envir2IdentLocation OBJECT-TYPE
		SYNTAX  DisplayString
		ACCESS  read-write
  	STATUS  mandatory
  	DESCRIPTION
			"The location of the environment sensor.
				The maximum string size is device dependent."
		::= { envir2IdentEntry 4 }

envir2IdentSerialNumber OBJECT-TYPE
    SYNTAX DisplayString
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The serial number of the environment sensor."
		::= { envir2IdentEntry 5 }

-- envir2Temp group
envir2TempTableSize OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of environment sensor."
    ::= { envir2Temp 1 }

envir2TempUnit OBJECT-TYPE
    SYNTAX INTEGER{
    	celsius								(1), 
    	fahrenheit						(2)
    }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
				"This OID describes the unit of environment sensor. 
					Setting the OID to Celsius(1) or Fahrenheit(2) to change the temperature unit." 
		::= { envir2Temp 2 }

envir2TempTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ENVIR2TempEntryStruct 
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of environment sensor identification information in temperature."
		::= { envir2Temp 3 }

envir2TempEntry OBJECT-TYPE
		SYNTAX ENVIR2TempEntryStruct 
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Identification data from environment sensor being queried."
		INDEX  { envir2TemperatureIndex }
		::= { envir2TempTable 1 }

ENVIR2TempEntryStruct ::=
  SEQUENCE {
  	envir2TemperatureIndex			   			 	INTEGER,
  	envir2TempModulePosition							INTEGER, 
	  envir2Temperature		    							INTEGER,
	  envir2TempHighThreshold								INTEGER,
	  envir2TempLowThreshold								INTEGER,
	  envir2TempRateOfChange								INTEGER,
	  envir2TempHysteresis									INTEGER
  }	

envir2TemperatureIndex OBJECT-TYPE
    SYNTAX INTEGER(1..8)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The index to the environment sensor table entry."
		::= { envir2TempEntry 1 }

envir2TempModulePosition OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The position of environment sensor."
		::= { envir2TempEntry 2 }

envir2Temperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment temperature expressed in 1/100. 
      The value is  determined by temperature unit which can be changed in envir2TempUnit."
   ::= { envir2TempEntry 3 }

envir2TempHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high temperature threshold of the environment sensor. 
      The value is  determined by temperature unit which can be changed in envir2TempUnit."
   ::= { envir2TempEntry 4 }

envir2TempLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low temperature threshold of the environment sensor. 
      The value is  determined by temperature unit which can be changed in envir2TempUnit."
   ::= { envir2TempEntry 5 }

envir2TempRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the temperature.
      	The value expressed in degree per 5 minute. 
      	The value is  determined by temperature unit which can be changed in envir2TempUnit."
   ::= { envir2TempEntry 6 }

envir2TempHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the temperature thresholds
       	at which an active temperature alarm will be cleared.
      	 This configuration setting applies to all temperature thresholds. 
      	 The value is  determined by temperature unit which can be changed in envir2TempUnit."
   ::= { envir2TempEntry 7 }

-- envir2Humid group
envir2HumidTableSize OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of environment sensor."
    ::= { envir2Humid 1 }

envir2HumidTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ENVIR2HumidEntryStruct 
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"A table of environment sensor identification information in humidity."
		::= { envir2Humid 2 }

envir2HumidEntry OBJECT-TYPE
		SYNTAX ENVIR2HumidEntryStruct 
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"Identification data from environment sensor being queried."
		INDEX  { envir2HumidityIndex }
		::= { envir2HumidTable 1 }

ENVIR2HumidEntryStruct ::=
  SEQUENCE {
  	envir2HumidityIndex					   			 	INTEGER, 
  	envir2HumidModulePosition							INTEGER,
	  envir2Humidity			    							INTEGER,
	  envir2HumidHighThreshold							INTEGER,
	  envir2HumidLowThreshold								INTEGER,
	  envir2HumidRateOfChange								INTEGER,
	  envir2HumidHysteresis									INTEGER
  }	

envir2HumidityIndex OBJECT-TYPE
    SYNTAX INTEGER(1..8)
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The index to the environment sensor table entry."
		::= { envir2HumidEntry 1 }

envir2HumidModulePosition OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The position of environment sensor."
		::= { envir2HumidEntry 2 }

envir2Humidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The environment relative humidity expressed in 1/100."
   ::= { envir2HumidEntry 3 }

envir2HumidHighThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The high relative humidity threshold of the environment sensor.
       The value expressed in persentage."
   ::= { envir2HumidEntry 4 }

envir2HumidLowThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The low relative humidity threshold of the environment sensor.
       The value expressed in persentage."
   ::= { envir2HumidEntry 5 }

envir2HumidRateOfChange OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The rate of change of the relative humidity.
       The value expressed in persentage per 5 minute."
   ::= { envir2HumidEntry 6 }

envir2HumidHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The number of degrees beyond the relative humidity thresholds
       at which an active relative humidity alarm will be cleared.
       This configuration setting applies to all relative humidity
       thresholds.
       Units are displayed in persentage."
   ::= { envir2HumidEntry 7 }

-- envir2Contact group
envir2ContactTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of the contact in the environment sensor."
   ::= { envir2Contact 1 }

envir2ContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ENVIR2ContactEntryStruct
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of information of each contact of the environment sensor."
   ::= { envir2Contact 2 } 

envir2ContactEntry  OBJECT-TYPE
   SYNTAX ENVIR2ContactEntryStruct  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "This gives access to contact entries"
   INDEX  { envir2ContactIndex }
   ::= { envir2ContactTable 1 }  

ENVIR2ContactEntryStruct ::=
   SEQUENCE {
      envir2ContactIndex   	  	 			  	INTEGER,
      envir2ContactModulePosition					INTEGER,
      envir2ContactModuleNumber						INTEGER,
      envir2ContactName 	  	  				  DisplayString,
      envir2ContactStatus 	  					  INTEGER,
      envir2ContactNormalState 						INTEGER
   }

envir2ContactIndex OBJECT-TYPE
   SYNTAX INTEGER(1..32)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the contact of the environment sensor."
   ::= { envir2ContactEntry 1 }

envir2ContactModulePosition OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The position of environment sensor."
		::= { envir2ContactEntry 2 }

envir2ContactModuleNumber OBJECT-TYPE
    SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
				"The numeric contact ID."
		::= { envir2ContactEntry 3 }

envir2ContactName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting or setting the name of the contact of the environment sensor."
   ::= { envir2ContactEntry 4 }

envir2ContactStatus OBJECT-TYPE
   SYNTAX INTEGER {
      contactNormal         (1),
      contactAbnormal       (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Contact Status."
   ::= { envir2ContactEntry 5 }

envir2ContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normalOpen         (1),
      normalClose        (2)
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Set the contact normal state."
   ::= { envir2ContactEntry 6 }

currIdentSystemID OBJECT-TYPE
   SYNTAX INTEGER{
   		batteryManager(1)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current probe connecting system type information. "
   ::= { currIdent 1 }
   
currIdentSystemSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current probe connecting system serial number information. "
   ::= { currIdent 2 }
   
currIdentSystemName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current probe connecting system name information. "
   ::= { currIdent 3 }
   
currIdentSystemLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current probe connecting system location information. "
   ::= { currIdent 4 }
   
currIdentTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Number of current probe connecting to the system. "
   ::= { currIdent 5 }
   
currIdentTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CurrIdentEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Current probe identification table. "
   ::= { currIdent 6 }

currIdentEntry OBJECT-TYPE
   SYNTAX CurrIdentEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Current probe identification entry. "
   INDEX  { currIdentIndex }
   ::= { currIdentTable 1 }

CurrIdentEntry ::=
   SEQUENCE {
      currIdentIndex           	INTEGER,
      currIdentName							DisplayString, 
      currIdentLocation					DisplayString, 
	    currIdentMeasureNum				INTEGER
   }

currIdentIndex OBJECT-TYPE
   SYNTAX INTEGER(1..4)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current probe ident index. "
   ::= { currIdentEntry 1 }

currIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The current probe ident name. "
   ::= { currIdentEntry 2 }

currIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The current probe ident location. "
   ::= { currIdentEntry 3 }

currIdentMeasureNum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Number of the current flow measure by the current probe. "
   ::= { currIdentEntry 4 }

currConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Number of entry in the currConfigTable. "
   ::= { currConfig 1 }
   
currConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CurrConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Table provides current flow's configuration parameters. "
   ::= { currConfig 2 }

currConfigEntry OBJECT-TYPE
   SYNTAX CurrConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The current flow's configration parameters entry. "
   INDEX  { currConfigIndex }
   ::= { currConfigTable 1 }

CurrConfigEntry ::=
	SEQUENCE {
		currConfigIndex											INTEGER, 
		currConfigCurrentSensorRating				INTEGER, 
			  
		currConfigChargeCurrentWarningLow			INTEGER, 
		currConfigChargeCurrentWarningHigh		INTEGER, 
		currConfigChargeCurrentAlarmLow			INTEGER, 
		currConfigChargeCurrentAlarmHigh			INTEGER, 
			  
		currConfigDischargeCurrentWarningLow		INTEGER, 
		currConfigDischargeCurrentWarningHigh		INTEGER, 
		currConfigDischargeCurrentAlarmLow		INTEGER, 
		currConfigDischargeCurrentAlarmHigh		INTEGER, 
			  
		currConfigRMSCurrentWarninigLow				INTEGER, 
		currConfigRMSCurrentWarningHigh				INTEGER, 
		currConfigRMSCurrentAlarmLow					INTEGER, 
		currConfigRMSCurrentAlarmHigh					INTEGER
	}

currConfigIndex OBJECT-TYPE
   SYNTAX INTEGER(1..4)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Entry index. "
   ::= { currConfigEntry 1 }

currConfigCurrentSensorRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Connecting current sensor element's rating, unit in 1 A. 
      Sets to 0 if you do not use current sensor for this measure channel. 
      Gets as 0 if this measure channel had not used. "
   ::= { currConfigEntry 2 }

currConfigChargeCurrentWarningLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
   		"Warning threshold for low charge current, unit in 0.01A. "
   ::= { currConfigEntry 3 }

currConfigChargeCurrentWarningHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Warning threshold for high charge current, unit in 0.01A. "
   ::= { currConfigEntry 4 } 

currConfigChargeCurrentAlarmLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Alarm threshold for low charge current, unit in 0.01A. " 
   ::= { currConfigEntry 5 }
   
currConfigChargeCurrentAlarmHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
   		"Alarm threshold for high charge current, unit in 0.01A. "
   ::= { currConfigEntry 6 }
      
currConfigDischargeCurrentWarningLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Warning threshold for low discharge current, unit in 0.01A. "
   ::= { currConfigEntry 7 }
   
currConfigDischargeCurrentWarningHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
   		"Warning threshold for high discharge current, unit in 0.01A. "
   ::= { currConfigEntry 8 }

currConfigDischargeCurrentAlarmLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Alarm threshold for low discharge current, unit in 0.01A. "
   ::= { currConfigEntry 9 }

currConfigDischargeCurrentAlarmHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
   		"Alarm threshold for high discharge current, unit in 0.01A. "
   ::= { currConfigEntry 10 }

currConfigRMSCurrentWarninigLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Warning threshold for low RMS current, unit in 0.01A. "
   ::= { currConfigEntry 11 }

currConfigRMSCurrentWarningHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Warning threshold for high RMS current, unit in 0.01A. "
   ::= { currConfigEntry 12 }

currConfigRMSCurrentAlarmLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Alarm threshold for low RMS current, unit in 0.01A. "
   ::= { currConfigEntry 13 }

currConfigRMSCurrentAlarmHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Alarm threshold for high RMS current, unit in 0.01A. "
   ::= { currConfigEntry 14 }

currMeasureTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Table size for the current probe's measurement. "
   ::= { currMeasure 1 }
   
currMeasureTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CurrMeasureEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Table for the current probe's measurement. "
   ::= { currMeasure 2 }

currMeasureEntry OBJECT-TYPE
   SYNTAX CurrMeasureEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of current sensors installation to gather status from. "
   INDEX  { currMeasureIndex }
   ::= { currMeasureTable 1 }

CurrMeasureEntry ::=
   SEQUENCE {
      currMeasureIndex					INTEGER, 
	  currMeasureIdentName				DisplayString, 
	  currMeasureDescription			DisplayString, 
      currMeasureAlarmStatus			INTEGER, 
	  currMeasureChargingState			INTEGER, 
      currMeasureCurrent				INTEGER, 
      currMeasureFunction				INTEGER
   }

currMeasureIndex OBJECT-TYPE
   SYNTAX INTEGER(1..4)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current measurement's index. "
   ::= { currMeasureEntry 1 }

currMeasureIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current measurement's current probe name. "
   ::= { currMeasureEntry 2 }

currMeasureDescription OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Current flow measurement's description. "
   ::= { currMeasureEntry 3 }

currMeasureAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER {
      currentNormal(1), 
      
      chargeCurrentWarnLow(2), 
      chargeCurrentWarnHigh(3),
      chargeCurrentAlarmLow(4), 
      chargeCurrentAlarmHigh(5),
      
      dischargeCurrentWarnLow(6), 
      dischargeCurrentWarnHigh(7),
      dischargeCurrentAlarmLow(8), 
      dischargeCurrentAlarmHigh(9),
      
      rmsCurrentWarnLow(10), 
      rmsCurrentWarnHigh(11), 
      rmsCurrentAlarmLow(12), 
      rmsCurrentAlarmHigh(13)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The current alarm status. 
      For battery system, abnormal value can be (2) to (9). 
      For AC measure condition, abnormal value can be (50) to (53). 
      "
   ::= { currMeasureEntry 4 }

currMeasureChargingState    OBJECT-TYPE
   SYNTAX INTEGER {
      batteryCharging(1), 
      batteryDischarging(2), 
      notDetermine(3)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
       "For battery system to get battery charging state." 
   ::= { currMeasureEntry 5 }
   
currMeasureCurrent    OBJECT-TYPE
   SYNTAX  INTEGER    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
       "Getting this oid to get current measurement, unit in 10mA (0.01 A).
       For battery system, negative value indicates the discharge state. " 
   ::= { currMeasureEntry 6 }

currMeasureFunction    OBJECT-TYPE
   SYNTAX  INTEGER {	  
      dcBatteryStringA(1), 
      dcBatteryStringB(2), 
      dcBatteryStringC(3), 
      dcBatteryStringD(4), 
      dcBatteryStringE(5), 
      dcBatteryStringF(6), 
      dcBatteryStringG(7), 
      dcBatteryStringH(8), 
	  dcReserved(9),
	  
	  acInputCurrent(20)
   }
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "Getting this oid to check the configuration be matched with actual installation. 
      Setting this oid to tell system what the measure target is. 
      For the DC current(prefix as dc), charge/discharge threshold would be considered and used. 
      For the AC current(prefix ad ac), RMS threshold would be considered and used. "
   ::= { currMeasureEntry 7 }
    
-- Traps
-- Annotations are provided for Novell's NMS product
communicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "SEVERE: Communication with the UPS has been lost."
   --#TYPE "CPS UPS: Communication lost"
   --#SUMMARY "Communication with the UPS has been lost."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 1

upsOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS has sensed an overload condition."
   --#TYPE "CPS UPS: Overload"
   --#SUMMARY "The UPS has sensed an overload condition."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 2

upsDiagnosticsFailed TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS battery test failed."
   --#TYPE "CPS UPS: battery test failed"
   --#SUMMARY "The UPS battery test failed."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 3

upsDischarged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS has started a runtime estimation process."
   --#TYPE "CPS UPS: batteries are discharged"
   --#SUMMARY "The UPS has started a runtime estimation process."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 4

upsOnBattery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: Utility power failed, transfer to backup mode."
   --#TYPE "CPS UPS: The UPS is on battery"
   --#SUMMARY "Utility power failed, transfer to backup mode."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 5

upsBoostOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has enabled boost, low utility voltage."
   --#TYPE "CPS UPS: Boost enable"
   --#SUMMARY "The UPS has enabled boost, low utility voltage."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 6

lowBattery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS battery capacity is low than threshold, soon to be exhausted."
   --#TYPE "CPS UPS: Low battery"
   --#SUMMARY "The UPS battery capacity is low than threshold, soon to be exhausted."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 7

communicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Communication to the UPS has been established."
   --#TYPE "CPS UPS: Communication established"
   --#SUMMARY "Communication to the UPS has been established."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 8

powerRestored TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Utility power restored, return from backup mode."
   --#TYPE "CPS UPS: Power restored"
   --#SUMMARY "Utility power restored, return from backup mode."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 9

upsDiagnosticsPassed TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS battery test passed."
   --#TYPE "CPS UPS: Selftest passed"
   --#SUMMARY "The UPS battery test passed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 10

returnFromLowBattery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from a low battery condition."
   --#TYPE "CPS UPS: Low battery condition cleared"
   --#SUMMARY "The UPS has returned from a low battery condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 11

upsTurnedOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has been turned off."
   --#TYPE "CPS UPS: UPS turned off"
   --#SUMMARY "The UPS has been turned off."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 12

upsSleeping   TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS entered sleep mode. Output power will not be provided."
   --#TYPE "CPS UPS: Entered sleep mode"
   --#SUMMARY "The UPS entered sleep mode. Output power will not be provided."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 13

upsWokeUp TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATION: The UPS woke up from sleep mode. Output power is being provided."
   --#TYPE "CPS UPS: UPS woke up"
   --#SUMMARY "The UPS woke up from sleep mode. Output power is being provided."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 14

upsRebootStarted TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS started reboot sequence."
   --#TYPE "CPS UPS: Starting reboot"
   --#SUMMARY "The UPS started reboot sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 15

upsOverTemp TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS inner temperature is too high."
   --#TYPE "CPS UPS: UPS over temperature"
   --#SUMMARY "The UPS inner temperature is too high."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 16

returnFromOverTemp TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS over temperature condition cleared."
   --#TYPE "CPS UPS: UPS over temperature cleared"
   --#SUMMARY "The UPS over temperature condition cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 17

upsBuckOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has enabled buck, high utility voltage."
   --#TYPE "CPS UPS: Buck enable"
   --#SUMMARY "The UPS has enabled buck, high utility voltage."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 18

returnFromOverLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from an overload condition."
   --#TYPE "CPS UPS: Returned from overload condition"
   --#SUMMARY "The UPS has returned from an overload condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 19

returnFromDischarged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The UPS runtime estimation completed."
   --#TYPE "CPS UPS: Discharged condition cleared"
   --#SUMMARY "The UPS runtime estimation completed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 20

upsScheduleShutdown TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has started its schedule shutdown sequence."
   --#TYPE "CPS UPS: Schedule shutdown"
   --#SUMMARY "The UPS has started its schedule shutdown sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 21

upsEnterSleep TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS started sleep sequence."
   --#TYPE "CPS UPS: Entered sleep mode sequence"
   --#SUMMARY "The UPS started sleep sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 22

upsChargerFailure TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "WARNING: The battery charger is abnormal."
   --#TYPE "CPS UPS: The charger failed."
   --#SUMMARY "The battery charger is abnormal."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 23

returnFromChargerFailure TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATIONAL: The charger returned from a failure condition."
   --#TYPE "CPS UPS: The charger failure cleared"
   --#SUMMARY "The charger returned from a failure condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 24

upsTurnoffStarted TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS started turn off sequence."
   --#TYPE "CPS UPS: Starting turn off"
   --#SUMMARY "The UPS started its turn off sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 25

upsTurnedOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS has been turned on."
   --#TYPE "CPS UPS: UPS turned on"
   --#SUMMARY "The UPS has been turned on."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 26

upsRemoteCommandFailed TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: The UPS remote command failed."
   --#TYPE "CPS UPS: Command failed"
   --#SUMMARY "The UPS remote command failed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 27

upsLostRedundant TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "WARNING: Not enough power redundancy modules."
   --#TYPE "CPS UPS: lost redundancy"
   --#SUMMARY "Not enough power redundancy modules."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 28

upsSignalClientShutdown TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "SEVERE: The UPS has signaled clients to shutdown."
   --#TYPE "CPS UPS: Signal clients to shutdown"
   --#SUMMARY "The UPS has signaled clients to shutdown."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 29

upsEmergencyPowerOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
      "Emergency Power Off (EPO)"
   --#TYPE "CPS UPS: Emergency Power Off (EPO)"
   --#SUMMARY "Emergency Power Off (EPO)"
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 30

-- Outlet Traps
nclBankOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATIONAL: Non-Critical bank has been turned on."
   --#TYPE "CPS UPS: NCL bank turned on."
   --#SUMMARY "Non-Critical bank has been turned on"
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 31

nclBankOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATIONAL: Non-Critical bank has been turned off."
   --#TYPE "CPS UPS: NCL bank turned off."
   --#SUMMARY "Non-Critical bank has been turned off"
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 32

upsCommandCancel TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"INFORMATION: The cancel command has been executed."
	 --#TYPE "CPS UPS: Ups command canceled."
	 --#SUMMARY "The cancel command has been executed."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 33

upsStartBatteryTest TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"INFORMATION: The UPS has started a battery test process."
	 --#TYPE "CPS UPS: UPS selftest start."
	 --#SUMMARY "The UPS has started a battery test process."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 34

upsRemainRuntimeLowThanThreshold TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"WARNING: The UPS remaining runtime is lower than threshold."
	 --#TYPE "CPS UPS: Low remaining runtime."
	 --#SUMMARY "The UPS remaining runtime us lower than threshold."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 35

nclBankStartScheduleOff TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"INFORMATION: Non-Critial bank has started its schedule off sequence."
	 --#TYPE "CPS UPS: NCL bank started scheduled off sequence."
	 --#SUMMARY "Non-Critial bank has started its schedule off sequence."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 36

upsEstimationAbort TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"WARNING: The UPS runtime estimation aborted."
	 --#TYPE "CPS UPS: Runtime estimation aborted."
	 --#SUMMARY "The UPS runtime estimation aborted."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 37

upsHardwareFault TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"WARNING: The UPS hardware fault."
	 --#TYPE "CPS UPS: Hardware fault."
	 --#SUMMARY "The UPS hardware fault."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 38
	 
upsBatteryNotPresent TRAP-TYPE
	 ENTERPRISE cps
	 VARIABLES { mtrapinfoString }
	 DESCRIPTION
	 		"WARNING: Battery is not present."
	 --#TYPE "CPS UPS: Battery is not present."
	 --#SUMMARY "Battery is not present."
	 --#SEVERITY INFORMATION
	 --#TIMEINDEX 1
	 --#HELP ""
	 --#STATE OPERATIONAL
	 ::= 39

-- OL extension event: Wiring Fault 
upsWiringFault TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "WARNING: The UPS wiring fault has been detected."
		--#TYPE "The UPS wiring fault has been detected."
   --#SUMMARY "The UPS wiring fault has been detected."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 40

upsWiringFaultCleared TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "INFORMATION: The UPS wiring fault has been cleared."
		--#TYPE "The UPS wiring fault has been cleared."
   --#SUMMARY "The UPS wiring fault has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 41

upsEnterBypassMode TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "WARNING: The UPS enters bypass mode."
		--#TYPE "The UPS enters bypass mode"
   --#SUMMARY "The UPS enters bypass mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 42

upsReturnFromBypassMode TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "INFORMATION: The UPS leaves bypass mode."
		--#TYPE "The UPS leaves bypass mode."
   --#SUMMARY "The UPS leaves bypass mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 43

upsBypassOverload TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "WARNING: The UPS bypass overload."
		--#TYPE "The UPS bypass overload."
   --#SUMMARY "The UPS bypass overload."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 44
		
upsBypassOverloadCleared TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "INFORMATION: The UPS bypass overload has been cleared."
		--#TYPE "The UPS bypass overload has been cleared."
   --#SUMMARY "The UPS bypass overload has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 45

upsEnterECOMode TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "WARNING: The UPS enters ECO mode."
		--#TYPE "The UPS enters ECO mode"
   --#SUMMARY "The UPS enters ECO mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 46

upsReturnFromECOMode TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 "WARNING: The UPS leaves ECO mode."
		--#TYPE "The UPS leaves ECO mode"
   --#SUMMARY "The UPS leaves ECO mode."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 47

upsBatteryOverThreeYear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			 	 		"WARNING: Battery has been 3 years from last Replacement."
		--#TYPE "Battery has been 3 years from last Replacement."
   --#SUMMARY "Battery has been 3 years from last Replacement."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 48

upsBatteryExpiration TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The battery may not work well anymore."
   --#TYPE "The battery may not work well anymore."
   --#SUMMARY "The battery may not work well anymore."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 49

upsBatteryReplacement TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The battery has been replaced."
   --#TYPE "The battery has been replaced."
   --#SUMMARY "The battery has been replaced."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 50

upsModuleInvertorAlarm TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The UPS module invertor alarm."
   --#TYPE "The UPS module invertor alarm."
   --#SUMMARY "The UPS module invertor alarm."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 51

upsModuleRectifierAlarm TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The UPS module rectifier alarm."
   --#TYPE "The UPS module rectifier alarm."
   --#SUMMARY "The UPS module rectifier alarm."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 52

upsModuleFanAlarm TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The UPS module fan alarm."
   --#TYPE "The UPS module fan alarm."
   --#SUMMARY "The UPS module fan alarm."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 53

upsModuleManualShutdown TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The UPS module manual shutdown."
   --#TYPE "The UPS module manual shutdown."
   --#SUMMARY "The UPS module manual shutdown."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 54

upsModuleOverload TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: The UPS module overload."
   --#TYPE "The UPS module overload."
   --#SUMMARY "The UPS module overload."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 55

upsFirmwareUpgradeStart TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: UPS firmware starts to update."
   --#TYPE "UPS firmware starts to update."
   --#SUMMARY "UPS firmware starts to update."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 56

upsFirmwareUpgradeEnd TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: UPS firmware update is over."
   --#TYPE "UPS firmware update is over."
   --#SUMMARY "UPS firmware update is over."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 57

upsRFC1628TrapOnBattery TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: RFC1628: UPS is on battery."
   --#TYPE "RFC1628: UPS is on battery."
   --#SUMMARY "RFC1628: UPS is on battery."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 58

upsRFC1628TrapTestCompleted TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: RFC1628: UPS test completed."
   --#TYPE "RFC1628: UPS test completed."
   --#SUMMARY "RFC1628: UPS test completed."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 59

upsRFC1628TrapAlarmEntryAdded TRAP-TYPE
	ENTERPRISE cps
	VARIABLES { mtrapinfoString }
	DESCRIPTION "WARNING: RFC1628: Alarm entry added."
   --#TYPE "RFC1628: Alarm entry added."
   --#SUMMARY "RFC1628: Alarm entry added."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
		::= 60

-- Misc. Traps
failAuthViaHTTP TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "WARNING: Login authorization failure via HTTP."
   --#TYPE "CPS: HTTP authorization failure."
   --#SUMMARY "Login authorization failure via HTTP."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 61

passwordChange TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: The password has been changed."
   --#TYPE "CPS: Password changed."
   --#SUMMARY "The password has been changed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 62

failAuthViaConsole TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "WARNING: Login authorization failure via Console."
   --#TYPE "CPS: HTTP authorization failure."
   --#SUMMARY "Login authorization failure via Console."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 63

configFileUpload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Configuration file uploaded."
   --#TYPE "CPS: Configuration file uploaded."
   --#SUMMARY "Configuration file uploaded."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 64

adminLoginInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Administrator login."
   --#TYPE "CPS: Administrator login information."
   --#SUMMARY "Administrator login."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 65

adminLogoutInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Administrator logout."
   --#TYPE "CPS: Administrator logout information."
   --#SUMMARY "Administrator logout."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 66
   
deviceLoginInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Device login."
   --#TYPE "CPS: Device user login information."
   --#SUMMARY "Device user login from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 67
   
deviceLogoutInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Device logout."
   --#TYPE "CPS: Device user logout information."
   --#SUMMARY "Device user logout from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 68

configurationChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Configuration has been changed."
   --#TYPE "CPS: Configuration changed."
   --#SUMMARY "Configuration has been changed."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 69

clientRegistered TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: PowerPanel client has been registered."
   --#TYPE "CPS: PowerPanel client has been registered."
   --#SUMMARY "PowerPanel client has been registered."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 70
   
clientRemoved TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: PowerPanel client has been removed."
   --#TYPE "CPS: Device user logout information."
   --#SUMMARY "PowerPanel client has been registered."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 71
   
testEvent TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: Test Event."
   --#TYPE "CPS: This is test message."
   --#SUMMARY "This is test message."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 72
   
outletUserLoginInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: Outlet User login."
   --#TYPE "CPS: Outlet user login information."
   --#SUMMARY "Outlet user login from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 73
   
outletUserLogoutInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "Information: Outlet User logout."
   --#TYPE "CPS: Outlet user logout information."
   --#SUMMARY "Outlet user logout from IP source."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 74
   
firmwareUpdateSuccess TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Firmware update success."
   --#TYPE "CPS: Firmware update success information."
   --#SUMMARY "Firmware update success."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 75

firmwareUpdateFail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { mtrapinfoString }
   DESCRIPTION
       "INFORMATION: Firmware update fail."
   --#TYPE "CPS: Firmware update fail information."
   --#SUMMARY "Firmware update fail."
   --#SEVERITY Information
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 76   
-- ePDU. Traps

ePDUCommunicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Communication with a Rack PDU has been established.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Communication established."
   --#SUMMARY "Communication with a Rack PDU established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 100

ePDUCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Communication with a Rack PDU has been lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Communication lost."
   --#SUMMARY "Communication with a Rack PDU has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 101

ePDUOutletOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has turned on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has turned on."
   --#SUMMARY "An outlet on a Switched Rack PDU has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 102

ePDUOutletOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has turned off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has turned off."
   --#SUMMARY "An outlet on a Switched Rack PDU has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 103

ePDUDeviceConfigChange TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made on a 
       Rack PDU.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "CPS Rack PDU: Device configuration change made."
   --#SUMMARY "Device configuration change has been made on a Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 104

ePDUOutletConfigChange TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet configuration change has been made on a 
       Switched Rack PDU.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS Switched Rack PDU: Outlet configuration change made."
   --#SUMMARY "Outlet configuration change has been made on a Switched Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 105

ePDULowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU has violated the low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Violation of low load threshold."
   --#SUMMARY "A Rack PDU has violated the low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 106

ePDULowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Low load condition cleared."
   --#SUMMARY "The low load condition on a Rack PDU has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 107

ePDUNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU is near an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Near an overload condition."
   --#SUMMARY "A Rack PDU is near an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 108

ePDUNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition on a Rack PDU has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Near overload condition has cleared."
   --#SUMMARY "Rack PDU near overload condition has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 109

ePDUOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: A Rack PDU is in an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Overload condition."
   --#SUMMARY "A Rack PDU is in an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 110

ePDUOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS Rack PDU: Overload condition has cleared."
   --#SUMMARY "The overload condition on a Rack PDU has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 111

ePDUDelayOutletOnCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has been assigned to turn on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has been assigned to turn on."
   --#SUMMARY "An outlet on a Switched Rack PDU has been assigned to turn on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 112

ePDUDelayOutletOffCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has been assigned to turn off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has been assigned to turn off."
   --#SUMMARY "An outlet on a Switched Rack PDU has been assigned to turn off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 113

ePDUDelayOutletRebootCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on a Switched Rack PDU has been assigned to reboot.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "A Switched Rack PDU: An outlet has been assigned to reboot."
   --#SUMMARY "An outlet on a Switched Rack PDU has been assigned to reboot."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 114

ePDUCancelPendingCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDUOutletControlIndex, ePDUOutletControlOutletName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A cancel pending command has been made on a
       Switched Rack PDU.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number (0 indicates all outlets).
       The fourth argument is the outlet name (or device name if all outlets)."
   --#TYPE "A Switched Rack PDU: Cancel Pending Command made."
   --#SUMMARY "A Cancel Pending Command has been made on a Switched Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 115


ePDULineUndervoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Utility Line Undervoltage
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "A Rack PDU: Utility Line Undervoltage."
   --#SUMMARY "Utility Line Undervoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 116

ePDULineUndervoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Utility Line Undervoltage Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "A Rack PDU: Utility Line Undervoltage Cleared."
   --#SUMMARY "Utility Line Undervoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 117

ePDULineOvervoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Utility Line Overvoltage.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS PDU: Utility Line Overvoltage."
   --#SUMMARY "Utility Line Overvoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 118

ePDULineOvervoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusPhaseNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Utility Line Overvoltage Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "CPS PDU: Utility Line Overvoltage Cleared."
   --#SUMMARY "Utility Line Overvoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 119


ePDUPowerSupply1Fail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Power Supply 1 on Rack PDU is in FAIL state.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 1 is in FAIL state."
   --#SUMMARY "Power Supply 1 on Rack PDU is in FAIL state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 120

ePDUPowerSupply1Ok TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Power Supply 1 on Rack PDU is operating normally.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 1 is operating normally."
   --#SUMMARY "Power Supply 1 on Rack PDU is operating normally."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 121

ePDUPowerSupply2Fail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: Power Supply 2 on Rack PDU is in FAIL state.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 2 is in FAIL state."
   --#SUMMARY "Power Supply 2 on Rack PDU is in FAIL state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 122

ePDUPowerSupply2Ok TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Power Supply 2 on Rack PDU is operating normally.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "A Rack PDU: Power Supply 2 is operating normally."
   --#SUMMARY "Power Supply 2 on Rack PDU is operating normally."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 123

ePDUBankLowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU bank has violated the low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank violation of low load threshold."
   --#SUMMARY "A Rack PDU bank has violated the low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 124

ePDUBankLowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition on a Rack PDU bank has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank Low load condition cleared."
   --#SUMMARY "The low load condition on a Rack PDU bank has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 125

ePDUBankNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU bank is near an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank near an overload condition."
   --#SUMMARY "A Rack PDU bank is near an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 126

ePDUBankNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition on a Rack PDU bank has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase/bank number."
   --#TYPE "CPS Rack PDU: Bank near overload condition has cleared."
   --#SUMMARY "Rack PDU bank near overload condition has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 127

ePDUBankOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "SEVERE: A Rack PDU bank is in an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank overload condition."
   --#SUMMARY "A Rack PDU bank is in an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 128

ePDUBankOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               ePDULoadStatusBankNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition on a Rack PDU bank has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank number."
   --#TYPE "CPS Rack PDU: Bank overload condition has cleared."
   --#SUMMARY "The bank overload condition on a Rack PDU has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 129

ePDUComponentCommunicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Component communication lost has been cleared.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "CPS Rack PDU: Component communication lost has been cleared."
   --#SUMMARY "Component communication lost has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 130

ePDUComponentCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,
               mtrapinfoString }
   DESCRIPTION
      "SEVERE: Component communication lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "CPS Rack PDU: Component communication lost."
   --#SUMMARY "Component communication lost."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 131

ePDUOutletLowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU has violated the outlet low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 132

ePDUOutletLowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The outlet low load condition on a Rack PDU has been 
       cleared. 
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 133
   
ePDUOutletNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "WARNING: A Rack PDU is near an outlet overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 134

ePDUOutletNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The outlet near overload condition on a Rack PDU has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 135

ePDUOutletOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "SEVERE: A Rack PDU is in an overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 136
   
ePDUOutletOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { ePDUIdentSerialNumber, ePDUIdentName,ePDUOutletConfigMonitoredNumber, 
               ePDUOutletConfigMonitoredName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The outlet overload condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number.
       The fourth argument is the outlet name."
   ::= 137

-- Environment Traps
envHighTemperatureViolation TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "WARNING: The environment high temperature threshold has been violated."
   --#TYPE "CPS Environment Viewer: OverTemperature"
   --#SUMMARY "The environment high temperature threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 200

envHighTemperatureBack TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "INFORMATION: The environment temperature returned from high value."
   --#TYPE "CPS Environment Viewer: OverTemperature Returned"
   --#SUMMARY "The environment temperature returned from high value."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 201

envLowTemperatureViolation TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "WARNING: The environment low temperature threshold has been violated."
   --#TYPE "CPS Environment Viewer: UnderTemperature"
   --#SUMMARY "The environment low temperature threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 202

envLowTempBack TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
       "INFORMATION: The environment temperature returned from low value."
   --#TYPE "CPS Environment Viewer: UnderTemperature Returned"
   --#SUMMARY "The environment temperature returned from low value."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 203

envHighHumidityViolation TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
       "WARNING: The environment high humidity threshold has been violated."
   --#TYPE "CPS Environment Viewer: OverHumidity"
   --#SUMMARY "The environment high humidity threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 204

envHighHumidityBack TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
	"INFORMATION: The environment humidity return from high value."
   --#TYPE "CPS Environment Viewer: OverHumidity Returned"
   --#SUMMARY "The environment humidity return from high value."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 205

envLowHumidityViolation TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
       "WARNING: The environment low humidity threshold has been violated."
   --#TYPE "CPS Environment Viewer: UnderHumidity"
   --#SUMMARY "The environment low humidity threshold has been violated."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 206

envLowHumdBack TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
	"INFORMATION: The environment humidity return from low value."
   --#TYPE "CPS Environment Viewer: UnderHumidity Returned"
   --#SUMMARY "The environment humidity return from low value."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 207

envDryContactAbnormal TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, 
								envirContactIndex, envirContactName }
    DESCRIPTION
	"INFORMATION: The Contact is abnormal."
   --#TYPE "CPS Environment Viewer: Contact Abnormal"
   --#SUMMARY "The Contact is abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 208

envDryContactNormal TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, 
								envirContactIndex, envirContactName }
    DESCRIPTION
	"INFORMATION: The Contact has returned from abnormal."
   --#TYPE "CPS Environment Viewer: Contact Normal"
   --#SUMMARY "The Contact has returned from abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 209

envConntected TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation }
    DESCRIPTION
	"INFORMATION: The Environment Sensor has been connected."
   --#TYPE "CPS Environment Viewer: The Environment Sensor has been connected"
   --#SUMMARY "The Environment Sensor has been connected."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 210

envDisconntected TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation }
    DESCRIPTION
	"INFORMATION: The Environment Sensor has been disconnected."
   --#TYPE "CPS Environment Viewer: The Environment Sensor has been disconnected"
   --#SUMMARY "The Environment Sensor has been disconnected."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 211
   
envRateOfTemperatureChangeAbnormal TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirTemperature }
    DESCRIPTION
	"INFORMATION: The rate of temperature change is abnormal."
   --#TYPE "CPS Environment Viewer: The rate of temperature change is abnormal"
   --#SUMMARY "The rate of temperature change is abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 212

envRateOfHumdChangeAbnormal TRAP-TYPE
    ENTERPRISE cps
		VARIABLES { envirIdentName, envirIdentLocation, envirHumidity }
    DESCRIPTION
	"INFORMATION: The rate of humidity change is abnormal."
   --#TYPE "CPS Environment Viewer: The rate of humidity change is abnormal"
   --#SUMMARY "The rate of humidity change is abnormal."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 213   

accessoryDeviceEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An accessory event has been happened."
		::= 250

accessoryDeviceAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			"Alarm: An accessory alarm has been detected."
		::= 251

accessoryDeviceAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An accessory alarm has been cleared."
		::= 252

envTemperatureEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2TemperatureIndex, envir2Temperature, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An environment sensor Temperature event has been happened.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the temperture table index.
				The fifth argument is the temperture."
		::= 253

envTemperatureAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2TemperatureIndex, envir2Temperature, mtrapinfoString }
		DESCRIPTION
			"Alarm: An environment sensor Temperature alarm has been detected.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the temperture table index.
				The fifth argument is the temperture."
		::= 254

envTemperatureAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2TemperatureIndex, envir2Temperature, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An environment sensor Temperature alarm has been cleared.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the temperture table index.
				The fifth argument is the temperture."
		::= 255

envHumidityEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2HumidityIndex, envir2Humidity, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An environment sensor Humidity event has been happened.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the humidity table index.
				The fifth argument is the humidity."
		::= 256

envHumidityAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2HumidityIndex, envir2Humidity, mtrapinfoString }
		DESCRIPTION
			"Alarm: An environment sensor Humidity alarm has been detected.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the humidity table index.
				The fifth argument is the humidity."
		::= 257

envHumidityAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2HumidityIndex, envir2Humidity, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An environment sensor Humidity alarm has been cleared.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the humidity table index.
				The fifth argument is the humidity."
		::= 258

envContactEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2ContactIndex, envir2ContactName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An environment sensor Contact event has been happened.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the contect table index.
				The fifth argument is the contact name."
		::= 259

envContactAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2ContactIndex, envir2ContactName, mtrapinfoString }
		DESCRIPTION
			"Alarm: An environment sensor Contact alarm has been detected.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the contect table index.
				The fifth argument is the contact name."
		::= 260

envContactAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { envir2IdentSerialNumber, envir2IdentName, envir2IdentLocation,
								envir2ContactIndex, envir2ContactName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: An environment sensor Contact alarm has been cleared.
				The first argument is the sensor serial number.
				The second argument is the sensor name.
				The third argument is the sensor location.
				The foutrh argument is the contect table index.
				The fifth argument is the contact name."
		::= 261

-- ATS Traps
atsSwitchSource TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusSelectedSource, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: ATS has switched source.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the selected source."
   --#TYPE "CPS ATS: ATS has switched source."
   --#SUMMARY "ATS has switched source."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 301

atsSourceFault TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "WARNING: Source fault occurs.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Source fault occurs."
   --#SUMMARY "Source fault occurs."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 302

atsSourceFaultCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Source fault has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Source fault has been cleared."
   --#SUMMARY "Source fault has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 303

atsRedundancyFail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "WARNING: Redundancy fails.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Redundancy fails."
   --#SUMMARY "Redundancy fails."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 304

atsRedundancyRestored TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Redundancy has been restored.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name."
   --#TYPE "CPS ATS: Redundancy has been restored."
   --#SUMMARY "Redundancy has been restored."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 305

atsInputHighVoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "WARNING: The upper voltage limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The upper voltage limit has been crossed."
   --#SUMMARY "The upper voltage limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 306

atsInputHighVoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The upper voltage condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The upper voltage condition has been cleared."
   --#SUMMARY "The upper voltage condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 307

atsInputLowVoltage TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "WARNING: The lower voltage limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The lower voltage limit has been crossed."
   --#SUMMARY "The lower voltage limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 308

atsInputLowVoltageCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputVoltage, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The lower voltage condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the phase voltage."
   --#TYPE "CPS ATS: The lower voltage condition has been cleared."
   --#SUMMARY "The lower voltage condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 309

atsInputHighFrequency TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "WARNING: The upper frequency limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The upper frequency limit has been crossed."
   --#SUMMARY "The upper frequency limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 310

atsInputHighFrequencyCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The upper frequency condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The upper frequency condition has been cleared."
   --#SUMMARY "The upper frequency condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 311

atsInputLowFrequency TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "WARNING: The lower frequency limit has been crossed.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The lower frequency limit has been crossed."
   --#SUMMARY "The lower frequency limit has been crossed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 312

atsInputLowFrequencyCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusInputName, atsStatusInputFrequency, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The lower frequency condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the source name.
       The fourth argument is the input frequency."
   --#TYPE "CPS ATS: The lower frequency condition has been cleared."
   --#SUMMARY "The lower frequency condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 313

atsCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "MAJOR: ATS communication lost.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: ATS communication lost."
   --#SUMMARY "ATS communication lost."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 314
 
atsCommunicationEstablished TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: ATS communication has been established.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: ATS communication has been established."
   --#SUMMARY "ATS communication has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 315 

atsLCDCommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: LCD communication lost.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: LCD communication lost."
   --#SUMMARY "LCD communication lost."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 316
 
atsLCDCommunicationLostCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: LCD communication lost has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: LCD communication lost has been cleared."
   --#SUMMARY "LCD communication lost has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 317 

atsDB9CommunicationLost TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "WARNING: DB9 communication lost.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: DB9 communication lost."
   --#SUMMARY "DB9 communication lost."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 318
 
atsDB9CommunicationLostCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: DB9 communication lost has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: DB9 communication lost has been cleared."
   --#SUMMARY "DB9 communication lost has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 319 

atsPowerSupplyFault TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusPowerSupplyInputSource, mtrapinfoString }
   DESCRIPTION
      "CRITICAL: Power supply failure.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the input source of the power supply."
   --#TYPE "CPS ATS: Power supply failure."
   --#SUMMARY "Power supply failure."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 320
 
atsPowerSupplyFaultCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, atsStatusPowerSupplyInputSource, mtrapinfoString }
   DESCRIPTION
      "CRITICAL: Power supply failure.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the input source of the power supply."
   --#TYPE "CPS ATS: Power supply failure has been cleared."
   --#SUMMARY "Power supply failure has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 321 

atsDevHardwareFault TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "CRITICAL: Device hardware failure.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: Device hardware failure."
   --#SUMMARY "Device hardware failure."
   --#ARGUMENTS { }
   --#SEVERITY MAJOR
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 322
 
atsDevHardwareFaultCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Device hardware failure has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: Device hardware failure has been cleared."
   --#SUMMARY "Device hardware failure has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 323

atsSourceConfigChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A source configuration change has been made.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: A source configuration change has been made."
   --#SUMMARY "A source configuration change has been made."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 324

atsDeviceConfigChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: A device configuration change has been made."
   --#SUMMARY "A device configuration change has been made."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 325

atsOutletConfigChanged TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A outlet configuration change has been made.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: A outlet configuration change has been made."
   --#SUMMARY "A outlet configuration change has been made."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 326

atsEventCountsCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: Event counts has been cleared.
       The first argument is the device name.
       The second argument is the serial number."
   --#TYPE "CPS ATS: Event counts has been cleared."
   --#SUMMARY "Event counts has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 327

atsOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
   						atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "WARNING: The load has exceeded overload threshold.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The load has exceeded overload threshold."
   --#SUMMARY "The load has exceeded overload threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 328

atsOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
   						atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The overload condition has been cleared."
   --#SUMMARY "The overload condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 329

atsNearOverload TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
   						atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "WARNING: The load has exceeded near overload threshold.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The load has exceeded near overload threshold."
   --#SUMMARY "The load has exceeded near overload threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 330

atsNearOverloadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
   						atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition has beed cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The near overload condition has beed cleared."
   --#SUMMARY "The near overload condition has beed cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 331

atsLowLoad TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
   						atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "WARNING: The load has been lower than low load threshold.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The load has been lower than low load threshold."
   --#SUMMARY "The load has been lower than low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 332

atsLowLoadCleared TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber, 
   						atsLoadStatusBankTableIndex, atsLoadStatusBankLoad, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition has been cleared.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the bank number.
       The third argument is the load."
   --#TYPE "CPS ATS: The low load condition has been cleared."
   --#SUMMARY "The low load condition has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 333


atsOutletOnCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has been assigned to turn on.
       The first argument is the device name.
       The second argument is the serial number.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has been assigned to turn on."
   --#SUMMARY "An outlet on ATS has been assigned to turn on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 334

atsOutletOffCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has been assigned to turn off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has been assigned to turn off."
   --#SUMMARY "An outlet on ATS has been assigned to turn off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 335

atsOutletRebootCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has been assigned to reboot.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has been assigned to reboot."
   --#SUMMARY "An outlet on ATS has been assigned to reboot."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 336

atsCancelPendingCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A cancel pending command has been made on ATS.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number (0 indicates all outlets).
       The fourth argument is the outlet name (or device name if all outlets)."
   --#TYPE "CPS ATS: A cancel pending command has been made on ATS."
   --#SUMMARY "A cancel pending command has been made on ATS."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 337

atsOutletOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has turned on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has turned on."
   --#SUMMARY "An outlet on ATS has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 338

atsOutletOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { atsIdentName, atsIdentSerialNumber,
               atsOutletCtrlTableIndex, atsOutletCtrlOutletName, mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on ATS has turned off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "CPS ATS: An outlet on ATS has turned off."
   --#SUMMARY "An outlet on ATS has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 339

-- ePDU2Traps
pduDeviceEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2DeviceConfigIndex, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU device event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the device table index."
		::= 400

pduDeviceAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2DeviceStatusIndex, mtrapinfoString }
		DESCRIPTION
			"Alarm: A PDU device alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the device table index."
		::= 401

pduDeviceAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2DeviceStatusIndex, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU device alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the device table index."
		::= 402

pduPhaseEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2PhaseConfigIndex, ePDU2PhaseConfigNumber, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU phase event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase table index.
       The foutrh argument is the phase number."
		::= 403

pduPhaseAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2PhaseStatusIndex, ePDU2PhaseStatusNumber, mtrapinfoString }
		DESCRIPTION
			"Alarm: A PDU phase alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase table index.
       The foutrh argument is the phase number."
		::= 404

pduPhaseAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2PhaseStatusIndex, ePDU2PhaseStatusNumber, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU phase alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase table index.
       The foutrh argument is the phase number."
		::= 405

pduBankEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2BankConfigIndex, ePDU2BankConfigNumber, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU bank event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank table index.
       The foutrh argument is the bank number."
		::= 406

pduBankAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2BankStatusIndex, ePDU2BankStatusNumber, mtrapinfoString }
		DESCRIPTION
			"Alarm: A PDU bank alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank table index.
       The foutrh argument is the bank number."
		::= 407

pduBankAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2BankStatusIndex, ePDU2BankStatusNumber, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU bank alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the bank table index.
       The foutrh argument is the bank number."
		::= 408

pduOutletSwitchedEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletSwitchedControlIndex, 
              ePDU2OutletSwitchedControlNumber, ePDU2OutletSwitchedControlName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU switched outlet event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 409

pduOutletSwitchedAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletSwitchedStatusIndex, 
              ePDU2OutletSwitchedStatusNumber, ePDU2OutletSwitchedStatusName, mtrapinfoString }
		DESCRIPTION
			"Alarm: A PDU switched outlet alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 410

pduOutletSwitchedAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletSwitchedStatusIndex, 
              ePDU2OutletSwitchedStatusNumber, ePDU2OutletSwitchedStatusName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU switched outlet alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 411

pduOutletMeteredEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMeteredConfigIndex, 
              ePDU2OutletMeteredConfigNumber, ePDU2OutletMeteredConfigName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU metered outlet event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 412

pduOutletMeteredAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMeteredStatusIndex, 
              ePDU2OutletMeteredStatusNumber, ePDU2OutletMeteredStatusName, mtrapinfoString }
		DESCRIPTION
			"Alarm: A PDU metered outlet alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 413

pduOutletMeteredAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMeteredStatusIndex, 
              ePDU2OutletMeteredStatusNumber, ePDU2OutletMeteredStatusName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU metered outlet alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 414

pduDaisyChainEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2IdentIndex, 
              ePDU2IdentSerialNumber, ePDU2IdentName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU daisy-chain event has been happened.
       The first argument is the host serial number.
       The second argument is the host device name.
       The third argument is the event device table index.
       The foutrh argument is the event device serial number.
       The fifth argument is the event device name."
		::= 415

pduDaisyChainAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2IdentIndex, 
              ePDU2IdentSerialNumber, ePDU2IdentName, mtrapinfoString }
		DESCRIPTION
			"Alarm: A PDU daisy-chain alarm has been detected.
       The first argument is the host serial number.
       The second argument is the host device name.
       The third argument is the alarm device table index.
       The foutrh argument is the alarm device serial number.
       The fifth argument is the alarm device name."
		::= 416

pduDaisyChainAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2IdentIndex, 
              ePDU2IdentSerialNumber, ePDU2IdentName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU daisy-chain alarm has been cleared.
       The first argument is the host serial number.
       The second argument is the host device name.
       The third argument is the alarm device table index.
       The foutrh argument is the alarm deice serial number.
       The fifth argument is the alarm device name."
		::= 417
		
pduOutletMonitoredEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2OutletMonitoredConfigIndex, 
              ePDU2OutletMonitoredConfigNumber, ePDU2OutletMonitoredConfigName, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A PDU metered outlet event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet table index.
       The foutrh argument is the outlet number.
       The fifth argument is the outlet name."
		::= 418			

pduSourceEvent TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, 
              ePDU2SourceStatusIndex, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A ATS source event has been happened.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the source table index."
		::= 419
		
pduSourceAlarm TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2SourceStatusSelectedSource, 
              ePDU2SourceStatusIndex, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A ATS source alarm has been detected.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the source table index."
		::= 420
	
pduSourceAlarmClear TRAP-TYPE
		ENTERPRISE cps
		VARIABLES { ePDU2IdentSerialNumber, ePDU2IdentName, ePDU2SourceStatusSelectedSource, 
              ePDU2SourceStatusIndex, mtrapinfoString }
		DESCRIPTION
			"INFORMATIONAL: A ATS source alarm has been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the source table index."
		::= 421
		
-- UPS2 Traps
upsOutletOn TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               upsIndividualOutletStatusIndex, upsIndividualOutletStatusName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet has turned on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "An outlet has turned on."
   --#SUMMARY "An outlet has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 500

upsOutletOff TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               upsIndividualOutletStatusIndex, upsIndividualOutletStatusName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet has turned off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "An outlet has turned off."
   --#SUMMARY "An outlet has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 501

upsOutletOnCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               upsIndividualOutletControlIndex, upsIndividualOutletControlName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet has been assigned to turn on.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "An outlet has been assigned to turn on."
   --#SUMMARY "An outlet has been assigned to turn on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 502

upsOutletOffCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               upsIndividualOutletControlIndex, upsIndividualOutletControlName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet has been assigned to turn off.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "An outlet has been assigned to turn off."
   --#SUMMARY "An outlet has been assigned to turn off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 503

upsOutletRebootCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               upsIndividualOutletControlIndex, upsIndividualOutletControlName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: An outlet has been assigned to reboot.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "An outlet has been assigned to reboot."
   --#SUMMARY "An outlet has been assigned to reboot."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 504

upsCancelPendingCommand TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               upsIndividualOutletControlIndex, upsIndividualOutletControlName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: A cancel pending command has been made on an outlet.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet index number.
       The fourth argument is the outlet name."
   --#TYPE "Cancel Pending Command made."
   --#SUMMARY "A Cancel Pending Command has been made on an outlet."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 505

upsAutoPingFail TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               mtrapinfoString }
   DESCRIPTION
       "SEVERE: AutoPing failed."
   --#TYPE "CPS UPS: AutoPing failed"
   --#SUMMARY "AutoPing failed."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 506

upsAutoPingRecovery TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { upsAdvanceIdentSerialNumber, upsBaseIdentName,
               mtrapinfoString }
   DESCRIPTION
      "INFORMATIONAL: AutoPing recovered."
   --#TYPE "CPS UPS: AutoPing recovered"
   --#SUMMARY "AutoPing recovered."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 507

bmSystemAlarm TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "ALARM: System alarm occurance.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name.
       The third argument is the bm system location.
       The fourth argument is the alarm event specific identifier. 
       The fifth argument is the trap information string."
   ::= 600

bmSystemWarning TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "WARNING: System warning occurance.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name.
       The third argument is the bm system location.
       The fourth argument is the alarm event specific identifier. 
       The fifth argument is the trap information string."
   ::= 601

bmSystemInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "INFO: System information.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name.
       The third argument is the bm system location.
       The fourth argument is the alarm event specific identifier. 
       The fifth argument is the trap information string."
   ::= 602

bmProbesAlarm TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmProbesStringIndex, bmProbesBattIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "ALARM: Probe alarm event.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index the probe located. 
       The fifth argument is the battery index the probe located. 
       The sixth argument is the alarm event specific identifier. 
       The seventh argument is the trap information string."
   ::= 603

bmSProbesWarning TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmProbesStringIndex, bmProbesBattIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "WARNING: Probe warning event.
      The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index the probe located. 
       The fifth argument is the battery index the probe located. 
       The sixth argument is the alarm event specific identifier. 
       The seventh argument is the trap information string."
   ::= 604

bmProbesInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmProbesStringIndex, bmProbesBattIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "INFO: Probe information.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index the probe located. 
       The fifth argument is the battery index the probe located. 
       The sixth argument is the alarm event specific identifier. 
       The seventh argument is the trap information string."
   ::= 605

bmStringsAlarm TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmStringsIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "ALARM: String alarm event.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index. 
       The fifth argument is the alarm event specific identifier. 
       The sixth argument is the trap information string."
   ::= 606

bmStringsWarning TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmStringsIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "WARNING: String warning event.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index. 
       The fifth argument is the alarm event specific identifier. 
       The sixth argument is the trap information string."
   ::= 607

bmStringsInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { bmIdentSerialNumber, bmIdentName, bmIdentLocation, bmStringsIndex, mtrapinfoBmEventId, mtrapinfoString }
   DESCRIPTION
      "INFO: String info event.
       The first argument is the bm device serial number.
       The second argument is the bm system identification name. 
       The third argument is the bm system location. 
       The fourth argument is the string index. 
       The fifth argument is the alarm event specific identifier. 
       The sixth argument is the trap information string."
   ::= 608

currProbesAlarm TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { 
   		currIdentSystemName, currIdentSystemLocation, mtrapinfoCpEventId, mtrapinfoString }
   DESCRIPTION
      "ALARM: Current probe alarm event.
       The first argument is the system identification name.
       The second argument is the system location.
       The third argument is the alarm event specific identifier.
       The fourth argument is the trap information string."
   ::= 700

currProbesWarning TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { 
   		currIdentSystemName, currIdentSystemLocation, mtrapinfoCpEventId, mtrapinfoString }
   DESCRIPTION
      "Warning: Current probe warning event.
       The first argument is the system identification name.
       The second argument is the system location.
       The third argument is the alarm event specific identifier.
       The fourth argument is the trap information string."
   ::= 701
   
currProbesInfo TRAP-TYPE
   ENTERPRISE cps
   VARIABLES { 
   		currIdentSystemName, currIdentSystemLocation, mtrapinfoCpEventId, mtrapinfoString }
   DESCRIPTION
      "Info: Current probe info event.
       The first argument is the system identification name.
       The second argument is the system location.
       The third argument is the alarm event specific identifier.
       The fourth argument is the trap information string."
   ::= 702
END

