-- *************************************************************************
-- AMERICAN POWER CONVERSION PowerNet-MIB
-- *************************************************************************
-- Copyright (c) 2005 American Power Conversion, Inc.
-- PowerNet is a Trademark of American Power Conversion Corp.
--
-- Title: APC TOP LEVEL PowerNet MIB
--
-- Version : 3.6.9
--
-- Generated by script: tomib.awk
--
-- Input File: powernetPS.mib
--
-- Created: Wednesday, January, 26, 2005
--
-- Revision History:
-- *************************************************************************

--          - v3.2.0 Added functionality for MasterSwitch Plus
--          - v3.3.0 Added functionality for MX28B (dcDM3) and 3-phase UPS
--          - v3.3.2 New traps for Symmetra PX UPS
-- 07/15/01 - v3.4.0 Added transfer switch
--          - v3.4.3 Added functionality for External and Integrated Environmental Monitor
-- 06/14/02 - v3.4.4 Added dcmim2(Siemens) branch, Battery Manager(Reading) traps, and
--                         Psx Traps for PDU and RM-PDU and Netlock branch/traps
-- 06/18/02 - v3.5.0a Sync Control Group support
-- 08/06/02 - v3.5.0a Environmental Management System branch/traps
-- 09/16/02 - v3.5.0b Fixed some odds/ends ... going to RM-PDU for MS additions
-- 09/25/02 - v3.5.0c MS3 additions
-- 11/05/02 - v3.5.0e More Environmental Management System/A-Link devices(ARU)
-- 11/22/02 - v3.5.0g Added General APC device status OID
-- 11/27/02 - v3.5.0h Wrapped up MS3 ((Controlled or Metered) Rack PDU) changes
-- 12/26/02 - v3.5.1a Changed MS3 name again, Controlled to Switched Rack PDU
-- 01/07/03 - v3.6.0a Added OIDs/Traps for UPS Switchable Outlet Groups.
-- 01/09/03 -         Adding the General APC device discovery OIDs (hidden)
-- 01/28/03 - v3.6.0c Made some small trap pair fixes for Switched Rack PDU (MS3) 
-- 02/13/03 - v3.6.0d Mods from the review and some EMS fixes.
--                    Added OID for the new 20kVA Symmetra 3 Phase type.
--                    Added OIDs to upsAdvConfig for Symmetra type UPSs.
--                    Added upsDiagnostics branch OID for Symmetra module information.
-- 04/05/03 - v3.6.2  Added OID for the new Smart-UPS 7500 and 10000 types.
-- 06/04/03 - v3.6.3  Added OIDs/Traps for AirFM.
-- 06/24/03 - v3.6.4  Moved some AirFM temps and humidities from system level to module level.
-- 10/24/03 - v3.6.4a Added OIDs/Traps for xPDU.
-- 10/27/03 - v3.6.4f Added AirPA OIDs.
-- 11/03/03 - v3.6.4g Merge of 3.6.4e and 3.6.4f
-- 11/07/03 - v3.6.4h Additional review corrections
-- 12/01/03 - v3.6.5a Added group OIDs for Air FM.  Added C & F OIDs for Air PA setpoint.
-- 12/19/03 - v3.6.5b Review corrections.
-- 02/23/04 - v3.6.5c Added Modbus to experimental and multiple CB(bank) rPDU support
-- 05/05/04 - v3.6.6  Adding EMS status OID and trap for H/W issues, redefined duplicate 
--                     trap #228 (to ARU Device config change) and minor clean-up
-- 05/12/04 - v3.6.7a Added Air FM alarm status OIDs.
-- 06/03/04 - v3.6.7b Added UPS Config for Simple Signal Shutdowns and Number of External
--                    batteries.  Added Mute option to the UPS Config Audible Alarm.
-- 07/12/04 - v3.6.7d Removed Air FM alarm status OIDs due to delay in release.
-- 07/14/04 - v3.6.7d Added a detailed description to the UPSAdvConfigAlarm OID
-- 07/14/04 - v3.6.7e Added Custom Event traps
-- 08/04/04 - v3.6.7  Tag for final builds, see v3.6.7 beta build notes for changes
-- 08/26/04 - v3.6.8a Added new traps for UPS internal over temperature fault and cleared.
-- 09/01/04 - v3.6.8b Adding new thresholds for EMS probe config & status
-- 09/08/04 - v3.6.8c Corrections from MIB review.
-- 09/30/04 - v3.6.8d Added new traps for AIS ^F Message events.
-- 10/21/04 - v3.6.8e EMS.  Added missing traps and new Rate functionality.
-- 10/22/04 - v3.6.8f Added resetNetworkLeaveModeAndRestart option to the mcontrolRestartAgent OID.
-- 10/28/04 - v3.6.8g Updated EMS sections from mib committee review.
-- 11/22/04 - v3.6.8  Tag for final build.
-- 12/02/04 - v3.6.9a Added OIDs and traps for BMS-HVA.
-- 12/20/04 - v3.6.9c corrections to xPDU.
-- 12/20/04 - v3.6.9c added OIDs and traps for xATS.
-- 01/03/05 - v3.6.9d removed traps for xATS.
-- 01/03/05 - v3.6.9e correction to xATS entries, that removed underscores (mib browser incompatibility)
-- 01/07/05 - v3.6.9f
-- 01/14/05 - v3.6.9g add xPDU OIDs and traps and some corrections.
-- 01/14/05 - v3.6.9g modifications to xATS OIDs and traps.

-- *************************************************************************
-- *************************************************************************
-- PowerNet-MIB { iso org(3) dod(6) internet(1) private(4)
--    enterprises(1) apc(318) }

PowerNet-MIB DEFINITIONS ::= BEGIN

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

apc                            OBJECT IDENTIFIER ::=  { enterprises 318 }

products                       OBJECT IDENTIFIER ::=  { apc 1 }
apcmgmt                        OBJECT IDENTIFIER ::=  { apc 2 }

hardware                       OBJECT IDENTIFIER ::=  { products 1 }
software                       OBJECT IDENTIFIER ::=  { products 2 }
system                         OBJECT IDENTIFIER ::=  { products 3 }
experimental                   OBJECT IDENTIFIER ::=  { products 4 }

mconfig                        OBJECT IDENTIFIER ::=  { apcmgmt 1 }
mcontrol                       OBJECT IDENTIFIER ::=  { apcmgmt 2 }
mtrapargs                      OBJECT IDENTIFIER ::=  { apcmgmt 3 }
mfiletransfer                  OBJECT IDENTIFIER ::=  { apcmgmt 4 }

mconfigClock                   OBJECT IDENTIFIER ::=  { mconfig 6 }

mfiletransferStatus            OBJECT IDENTIFIER ::=  { mfiletransfer 1 }
mfiletransferConfig            OBJECT IDENTIFIER ::=  { mfiletransfer 2 }
mfiletransferControl           OBJECT IDENTIFIER ::=  { mfiletransfer 3 }

mfiletransferConfigSettings    OBJECT IDENTIFIER ::=  { mfiletransferConfig 1 }
mfiletransferConfigTFTP        OBJECT IDENTIFIER ::=  { mfiletransferConfig 2 }
mfiletransferConfigFTP         OBJECT IDENTIFIER ::=  { mfiletransferConfig 3 }

ups                            OBJECT IDENTIFIER ::=  { hardware 1 }
measureUps                     OBJECT IDENTIFIER ::=  { hardware 2 }
miniSNMPadapter                OBJECT IDENTIFIER ::=  { hardware 3 }
masterswitch                   OBJECT IDENTIFIER ::=  { hardware 4 }
masterswitchVM                 OBJECT IDENTIFIER ::=  { hardware 5 }
masterswitchMSP                OBJECT IDENTIFIER ::=  { hardware 6 }
dcDM3                          OBJECT IDENTIFIER ::=  { hardware 7 }
automaticTransferSwitch        OBJECT IDENTIFIER ::=  { hardware 8 }
dc2                            OBJECT IDENTIFIER ::=  { hardware 9 }
environmentalMonitor           OBJECT IDENTIFIER ::=  { hardware 10 }
netlock                        OBJECT IDENTIFIER ::=  { hardware 11 }
rPDU                           OBJECT IDENTIFIER ::=  { hardware 12 }
airConditioners                OBJECT IDENTIFIER ::=  { hardware 13 }
rARU                           OBJECT IDENTIFIER ::=  { hardware 14 }
xPDU                           OBJECT IDENTIFIER ::=  { hardware 15 }
battMan                        OBJECT IDENTIFIER ::=  { hardware 16 }
xATS                           OBJECT IDENTIFIER ::=  { hardware 17 }
generator                      OBJECT IDENTIFIER ::=  { hardware 18 }

powerNetSubAgent               OBJECT IDENTIFIER ::=  { software 1 }

powerNetSoftwareSystem         OBJECT IDENTIFIER ::=  { powerNetSubAgent 1 }
powerNetSoftwareConfig         OBJECT IDENTIFIER ::=  { powerNetSubAgent 2 }

backUPS                        OBJECT IDENTIFIER ::=  { system  1 }
smartUPS                       OBJECT IDENTIFIER ::=  { system  2 }
matrixUPS                      OBJECT IDENTIFIER ::=  { system  3 }
masterSwitch                   OBJECT IDENTIFIER ::=  { system  4 }
symmetraUPS                    OBJECT IDENTIFIER ::=  { system  5 }
dp100E                         OBJECT IDENTIFIER ::=  { system  6 }
dp300E                         OBJECT IDENTIFIER ::=  { system  7 }
monitors                       OBJECT IDENTIFIER ::=  { system  8 }
redundantSwitch                OBJECT IDENTIFIER ::=  { system  9 }
dcPower                        OBJECT IDENTIFIER ::=  { system  10 }
automaticXferSwitch            OBJECT IDENTIFIER ::=  { system  11 }
netLock                        OBJECT IDENTIFIER ::=  { system  12 }
symmetra3PhaseUPS              OBJECT IDENTIFIER ::=  { system  13 }
networkAir                     OBJECT IDENTIFIER ::=  { system  14 }
infraXurePDU                   OBJECT IDENTIFIER ::=  { system  15 }
ais5000UPS                     OBJECT IDENTIFIER ::=  { system  16 }
smartUPS3Phase                 OBJECT IDENTIFIER ::=  { system  17 }
battManager                    OBJECT IDENTIFIER ::=  { system  18 }
infraXureATS                   OBJECT IDENTIFIER ::=  { system  19 }

battManIdent                   OBJECT IDENTIFIER ::=  { battMan 1 }
battManSystemCalib             OBJECT IDENTIFIER ::=  { battMan 2 }
battManUnitCalib               OBJECT IDENTIFIER ::=  { battMan 3 }
battManStringCalib             OBJECT IDENTIFIER ::=  { battMan 4 }
battManBatteryCalib            OBJECT IDENTIFIER ::=  { battMan 5 }
battManConfig                  OBJECT IDENTIFIER ::=  { battMan 6 }
battManAlarm                   OBJECT IDENTIFIER ::=  { battMan 7 }
battManSystemStatus            OBJECT IDENTIFIER ::=  { battMan 8 }
battManStringStatus            OBJECT IDENTIFIER ::=  { battMan 9 }
battManBatteryStatus           OBJECT IDENTIFIER ::=  { battMan 10 }
battManInputContactStatus      OBJECT IDENTIFIER ::=  { battMan 11 }
battManControl                 OBJECT IDENTIFIER ::=  { battMan 12 }
battManTestResults             OBJECT IDENTIFIER ::=  { battMan 13 }

xPDUIdent                      OBJECT IDENTIFIER ::=  { xPDU 1 }
xPDUDevice                     OBJECT IDENTIFIER ::=  { xPDU 2 }
xPDUACMonitoringPoint          OBJECT IDENTIFIER ::=  { xPDU 3 }
xPDUCircuitBreakers            OBJECT IDENTIFIER ::=  { xPDU 4 }
xPDUInputContacts              OBJECT IDENTIFIER ::=  { xPDU 5 }
xPDUOutputRelays               OBJECT IDENTIFIER ::=  { xPDU 6 }
xPDUMiscGroup                  OBJECT IDENTIFIER ::=  { xPDU 7 }

xPDUMainInput                  OBJECT IDENTIFIER ::=  { xPDUACMonitoringPoint 1 }
xPDUBypassInput                OBJECT IDENTIFIER ::=  { xPDUACMonitoringPoint 2 }
xPDUUPSInput                   OBJECT IDENTIFIER ::=  { xPDUACMonitoringPoint 3 }
xPDUSystemOutput               OBJECT IDENTIFIER ::=  { xPDUACMonitoringPoint 4 }
xPDUGroundMonitorPoint         OBJECT IDENTIFIER ::=  { xPDUACMonitoringPoint 5 }

xPDUSystemBreakers             OBJECT IDENTIFIER ::=  { xPDUCircuitBreakers 1 }
xPDUBranchBreakers             OBJECT IDENTIFIER ::=  { xPDUCircuitBreakers 2 }

xATSIdent                      OBJECT IDENTIFIER ::=  { xATS 1 }
xATSDevice                     OBJECT IDENTIFIER ::=  { xATS 2 }
xATSSwitch                     OBJECT IDENTIFIER ::=  { xATS 3 }
xATSACMonitoringPoint          OBJECT IDENTIFIER ::=  { xATS 4 }
xATSTesting                    OBJECT IDENTIFIER ::=  { xATS 5 }
xATSInputContacts              OBJECT IDENTIFIER ::=  { xATS 6 }
xATSOutputRelays               OBJECT IDENTIFIER ::=  { xATS 7 }
xATSMisc                       OBJECT IDENTIFIER ::=  { xATS 8 }

xATSSwitchStatus               OBJECT IDENTIFIER ::=  { xATSSwitch 1 }
xATSSwitchSettings             OBJECT IDENTIFIER ::=  { xATSSwitch 2 }
xATSSwitchTimers               OBJECT IDENTIFIER ::=  { xATSSwitch 3 }
xATSSwitchBlockMap             OBJECT IDENTIFIER ::=  { xATSSwitch 4 }
xATSSwitchStatistics           OBJECT IDENTIFIER ::=  { xATSSwitch 5 }

xATSSource1                    OBJECT IDENTIFIER ::=  { xATSACMonitoringPoint 1 }
xATSSource2                    OBJECT IDENTIFIER ::=  { xATSACMonitoringPoint 2 }
xATSSystemOutput               OBJECT IDENTIFIER ::=  { xATSACMonitoringPoint 3 }

xATSTestingStatus              OBJECT IDENTIFIER ::=  { xATSTesting 1 }
xATSTestingResults             OBJECT IDENTIFIER ::=  { xATSTesting 2 }
xATSTestingSchedule            OBJECT IDENTIFIER ::=  { xATSTesting 3 }
xATSTestingSimulatePowerFail   OBJECT IDENTIFIER ::=  { xATSTesting 4 }

xATSGenerator                  OBJECT IDENTIFIER ::=  { generator 1 }

xATSGeneratorIdent             OBJECT IDENTIFIER ::=  { xATSGenerator 1 }
xATSGeneratorStatus            OBJECT IDENTIFIER ::=  { xATSGenerator 2 }
xATSGeneratorAdvStatus         OBJECT IDENTIFIER ::=  { xATSGenerator 3 }
xATSGeneratorOutput            OBJECT IDENTIFIER ::=  { xATSGenerator 4 }
xATSGeneratorSettings          OBJECT IDENTIFIER ::=  { xATSGenerator 5 }
xATSGeneratorService           OBJECT IDENTIFIER ::=  { xATSGenerator 6 }
xATSGeneratorFuelSystem        OBJECT IDENTIFIER ::=  { xATSGenerator 7 }


smartUPS250                    OBJECT IDENTIFIER ::=  { smartUPS  1 }
smartUPS400                    OBJECT IDENTIFIER ::=  { smartUPS  2 }
smartUPS600                    OBJECT IDENTIFIER ::=  { smartUPS  3 }
smartUPS900                    OBJECT IDENTIFIER ::=  { smartUPS  4 }
smartUPS1250                   OBJECT IDENTIFIER ::=  { smartUPS  5 }
smartUPS2000                   OBJECT IDENTIFIER ::=  { smartUPS  6 }

smartUPS450                    OBJECT IDENTIFIER ::=  { smartUPS  7 }
smartUPS700                    OBJECT IDENTIFIER ::=  { smartUPS  8 }
smartUPS1000                   OBJECT IDENTIFIER ::=  { smartUPS  9 }
smartUPS1400                   OBJECT IDENTIFIER ::=  { smartUPS  10 }
smartUPS2200                   OBJECT IDENTIFIER ::=  { smartUPS  11 }
smartUPS3000                   OBJECT IDENTIFIER ::=  { smartUPS  12 }
smartUPS5000                   OBJECT IDENTIFIER ::=  { smartUPS  13 }
smartUPS7500                   OBJECT IDENTIFIER ::=  { smartUPS  14 }
smartUPS10000                  OBJECT IDENTIFIER ::=  { smartUPS  15 }
smartUPS1500                   OBJECT IDENTIFIER ::=  { smartUPS  16 }

matrixUPS3000                  OBJECT IDENTIFIER ::=  { matrixUPS 1 }
matrixUPS5000                  OBJECT IDENTIFIER ::=  { matrixUPS 2 }

masterSwitchV1                 OBJECT IDENTIFIER ::=  { masterSwitch 1}
masterSwitchV2                 OBJECT IDENTIFIER ::=  { masterSwitch 2}
masterSwitchVM                 OBJECT IDENTIFIER ::=  { masterSwitch 3}
masterSwitchMSP                OBJECT IDENTIFIER ::=  { masterSwitch 4}
masterSwitchrPDU               OBJECT IDENTIFIER ::=  { masterSwitch 5}

symmetraUPS4kVA                OBJECT IDENTIFIER ::=  { symmetraUPS 1 }
symmetraUPS8kVA                OBJECT IDENTIFIER ::=  { symmetraUPS 2 }
symmetraUPS12kVA               OBJECT IDENTIFIER ::=  { symmetraUPS 3 }
symmetraUPS16kVA               OBJECT IDENTIFIER ::=  { symmetraUPS 4 }

environmental                  OBJECT IDENTIFIER ::=  { monitors  1 }
environmentalMgtSystem         OBJECT IDENTIFIER ::=  { monitors  2 }
emu2                           OBJECT IDENTIFIER ::=  { monitors  3 }

dm3                            OBJECT IDENTIFIER ::=  { dcPower  1 }
dcmim2                         OBJECT IDENTIFIER ::=  { dcPower  2 }

symmetra3PhaseUPS40kVA         OBJECT IDENTIFIER ::=  { symmetra3PhaseUPS 1 }
symmetra3PhaseUPS60kVA         OBJECT IDENTIFIER ::=  { symmetra3PhaseUPS 2 }
symmetra3PhaseUPS80kVA         OBJECT IDENTIFIER ::=  { symmetra3PhaseUPS 3 }
symmetra3PhaseUPS20kVA         OBJECT IDENTIFIER ::=  { symmetra3PhaseUPS 4 }

airFMSeries                    OBJECT IDENTIFIER ::=  { networkAir 1 }
rackAirRemovalUnit             OBJECT IDENTIFIER ::=  { networkAir 2 }
airPASeries                    OBJECT IDENTIFIER ::=  { networkAir 3 }  

ais5000UPS10kVA                OBJECT IDENTIFIER ::=  { ais5000UPS  1 }
ais5000UPS20kVA                OBJECT IDENTIFIER ::=  { ais5000UPS  2 }
ais5000UPS30kVA                OBJECT IDENTIFIER ::=  { ais5000UPS  3 }
ais5000UPS40kVA                OBJECT IDENTIFIER ::=  { ais5000UPS  4 }
ais5000UPS60kVA                OBJECT IDENTIFIER ::=  { ais5000UPS  5 }
ais5000UPS80kVA                OBJECT IDENTIFIER ::=  { ais5000UPS  6 }
ais5000UPS100kVA               OBJECT IDENTIFIER ::=  { ais5000UPS  7 }

smartUPS3Phase10kVA            OBJECT IDENTIFIER ::=  { smartUPS3Phase  1 }
smartUPS3Phase15kVA            OBJECT IDENTIFIER ::=  { smartUPS3Phase  2 }
smartUPS3Phase20kVA            OBJECT IDENTIFIER ::=  { smartUPS3Phase  3 }
smartUPS3Phase30kVA            OBJECT IDENTIFIER ::=  { smartUPS3Phase  4 }
smartUPS3Phase40kVA            OBJECT IDENTIFIER ::=  { smartUPS3Phase  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 }
upsComm                        OBJECT IDENTIFIER ::=  { ups 8 }
upsPhase                       OBJECT IDENTIFIER ::=  { ups 9 }
upsSyncCtrlGroup               OBJECT IDENTIFIER ::=  { ups 10 }
upsState                       OBJECT IDENTIFIER ::=  { ups 11 }
upsOutletGroups                OBJECT IDENTIFIER ::=  { ups 12 }
upsDiagnostics                 OBJECT IDENTIFIER ::=  { ups 13 }

upsBasicIdent                  OBJECT IDENTIFIER ::=  { upsIdent 1 }
upsAdvIdent                    OBJECT IDENTIFIER ::=  { upsIdent 2 }

upsBasicBattery                OBJECT IDENTIFIER ::=  { upsBattery 1 }
upsAdvBattery                  OBJECT IDENTIFIER ::=  { upsBattery 2 }

upsBasicInput                  OBJECT IDENTIFIER ::=  { upsInput 1 }
upsAdvInput                    OBJECT IDENTIFIER ::=  { upsInput 2 }

upsBasicOutput                 OBJECT IDENTIFIER ::=  { upsOutput 1 }
upsAdvOutput                   OBJECT IDENTIFIER ::=  { upsOutput 2 }

upsBasicConfig                 OBJECT IDENTIFIER ::=  { upsConfig 1 }
upsAdvConfig                   OBJECT IDENTIFIER ::=  { upsConfig 2 }

upsBasicControl                OBJECT IDENTIFIER ::=  { upsControl 1 }
upsAdvControl                  OBJECT IDENTIFIER ::=  { upsControl 2 }

upsBasicTest                   OBJECT IDENTIFIER ::=  { upsTest 1 }
upsAdvTest                     OBJECT IDENTIFIER ::=  { upsTest 2 }

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

upsSyncCtrlGroupConfig         OBJECT IDENTIFIER ::=  { upsSyncCtrlGroup 1 }
upsSyncCtrlGroupStatus         OBJECT IDENTIFIER ::=  { upsSyncCtrlGroup 2 }

upsBasicState                  OBJECT IDENTIFIER ::=  { upsState 1 }
upsAdvState                    OBJECT IDENTIFIER ::=  { upsState 2 }

upsOutletGroupStatus           OBJECT IDENTIFIER ::=  { upsOutletGroups 1 }
upsOutletGroupConfig           OBJECT IDENTIFIER ::=  { upsOutletGroups 2 }
upsOutletGroupControl          OBJECT IDENTIFIER ::=  { upsOutletGroups 3 }

upsDiagnosticIM                OBJECT IDENTIFIER ::=  { upsDiagnostics 1 }
upsDiagnosticPowerModules      OBJECT IDENTIFIER ::=  { upsDiagnostics 2 }
upsDiagnosticBatteries         OBJECT IDENTIFIER ::=  { upsDiagnostics 3 }
upsDiagnosticSubsystem         OBJECT IDENTIFIER ::=  { upsDiagnostics 4 }
upsDiagnosticExternalDevices   OBJECT IDENTIFIER ::=  { upsDiagnostics 5 }
upsDiagnosticComBus            OBJECT IDENTIFIER ::=  { upsDiagnostics 6 }

upsDiagSwitchGear              OBJECT IDENTIFIER ::=  { upsDiagnosticExternalDevices 1 }
upsDiagMCCBBox                 OBJECT IDENTIFIER ::=  { upsDiagnosticExternalDevices 2 }
upsDiagTransformer             OBJECT IDENTIFIER ::=  { upsDiagnosticExternalDevices 3 }

mUpsEnviron                    OBJECT IDENTIFIER ::=  { measureUps 1 }
mUpsContact                    OBJECT IDENTIFIER ::=  { measureUps 2 }

serialPort                     OBJECT IDENTIFIER ::=  { miniSNMPadapter 1}

serialPort1                    OBJECT IDENTIFIER ::=  { serialPort 1}
serialPort2                    OBJECT IDENTIFIER ::=  { serialPort 2}

serialPort2Config              OBJECT IDENTIFIER ::=  { serialPort2 1}
serialPort2Control             OBJECT IDENTIFIER ::=  { serialPort2 2}

sPDUIdent                      OBJECT IDENTIFIER ::=  { masterswitch 1 }
sPDUMasterControl              OBJECT IDENTIFIER ::=  { masterswitch 2 }    
sPDUMasterConfig               OBJECT IDENTIFIER ::=  { masterswitch 3 }
sPDUOutletControl              OBJECT IDENTIFIER ::=  { masterswitch 4 }
sPDUOutletConfig               OBJECT IDENTIFIER ::=  { masterswitch 5 }

sPDUIdentVM                    OBJECT IDENTIFIER ::=  { masterswitchVM 1 }
sPDUMasterControlVM            OBJECT IDENTIFIER ::=  { masterswitchVM 2 }    
sPDUMasterConfigVM             OBJECT IDENTIFIER ::=  { masterswitchVM 3 }
sPDUMasterStatusVM             OBJECT IDENTIFIER ::=  { masterswitchVM 4 }
sPDUOutletControlVM            OBJECT IDENTIFIER ::=  { masterswitchVM 5 }
sPDUOutletConfigVM             OBJECT IDENTIFIER ::=  { masterswitchVM 6 }
sPDUOutletStatusVM             OBJECT IDENTIFIER ::=  { masterswitchVM 7 }

sPDUIdentMSP                   OBJECT IDENTIFIER ::=  { masterswitchMSP 1 }
sPDUMasterControlMSP           OBJECT IDENTIFIER ::=  { masterswitchMSP 2 }    
sPDUMasterConfigMSP            OBJECT IDENTIFIER ::=  { masterswitchMSP 3 }
sPDUMasterStatusMSP            OBJECT IDENTIFIER ::=  { masterswitchMSP 4 }
sPDUOutletControlMSP           OBJECT IDENTIFIER ::=  { masterswitchMSP 5 }
sPDUOutletConfigMSP            OBJECT IDENTIFIER ::=  { masterswitchMSP 6 }
sPDUOutletStatusMSP            OBJECT IDENTIFIER ::=  { masterswitchMSP 7 }

sPDUOutletConfigMSPall         OBJECT IDENTIFIER ::=  { sPDUOutletConfigMSP 1 }
sPDUOutletConfigMSPgs          OBJECT IDENTIFIER ::=  { sPDUOutletConfigMSP 2 }
sPDUOutletConfigMSPannun       OBJECT IDENTIFIER ::=  { sPDUOutletConfigMSP 3 }
sPDUOutletConfigMSPmups        OBJECT IDENTIFIER ::=  { sPDUOutletConfigMSP 4 }

rPDUIdent                      OBJECT IDENTIFIER ::=  { rPDU 1 }
rPDULoad                       OBJECT IDENTIFIER ::=  { rPDU 2 }    
rPDUOutlet                     OBJECT IDENTIFIER ::=  { rPDU 3 }
rPDUPowerSupply                OBJECT IDENTIFIER ::=  { rPDU 4 }

rPDULoadDevice                 OBJECT IDENTIFIER ::=  { rPDULoad 1 }
rPDULoadPhaseConfig            OBJECT IDENTIFIER ::=  { rPDULoad 2 }    
rPDULoadStatus                 OBJECT IDENTIFIER ::=  { rPDULoad 3 }
rPDULoadBankConfig             OBJECT IDENTIFIER ::=  { rPDULoad 4 }    

rPDUOutletDevice               OBJECT IDENTIFIER ::=  { rPDUOutlet 1 }
rPDUOutletPhase                OBJECT IDENTIFIER ::=  { rPDUOutlet 2 }
rPDUOutletControl              OBJECT IDENTIFIER ::=  { rPDUOutlet 3 }
rPDUOutletConfig               OBJECT IDENTIFIER ::=  { rPDUOutlet 4 }    
rPDUOutletStatus               OBJECT IDENTIFIER ::=  { rPDUOutlet 5 }
rPDUOutletBank                 OBJECT IDENTIFIER ::=  { rPDUOutlet 6 }

rPDUPowerSupplyDevice          OBJECT IDENTIFIER ::=  { rPDUPowerSupply 1 }

dm3Ident                       OBJECT IDENTIFIER ::=  { dcDM3 1 }
dm3Config                      OBJECT IDENTIFIER ::=  { dcDM3 2 }
dm3Status                      OBJECT IDENTIFIER ::=  { dcDM3 3 }

dm3IdentSystem                 OBJECT IDENTIFIER ::=  { dm3Ident 1}

dm3ConfigSystem                OBJECT IDENTIFIER ::=  { dm3Config 1 }
dm3ConfigLVD                   OBJECT IDENTIFIER ::=  { dm3Config 2 }
dm3ConfigBattery               OBJECT IDENTIFIER ::=  { dm3Config 3 }
dm3ConfigPowerModules          OBJECT IDENTIFIER ::=  { dm3Config 4 }
dm3ConfigRelays                OBJECT IDENTIFIER ::=  { dm3Config 5 }
dm3ConfigDistribution          OBJECT IDENTIFIER ::=  { dm3Config 6 }

dm3ConfigRectifier             OBJECT IDENTIFIER ::=  { dm3ConfigPowerModules 1 }
dm3ConfigConverter             OBJECT IDENTIFIER ::=  { dm3ConfigPowerModules 2 }

dm3ConfigRectThresh            OBJECT IDENTIFIER ::=  { dm3ConfigRectifier 1 }
dm3ConfigRectAlarms            OBJECT IDENTIFIER ::=  { dm3ConfigRectifier 2 }

dm3ConfigConvThresh            OBJECT IDENTIFIER ::=  { dm3ConfigConverter 1 }
dm3ConfigConvAlarms            OBJECT IDENTIFIER ::=  { dm3ConfigConverter 2 }

dm3ConfigOutputRelays          OBJECT IDENTIFIER ::=  { dm3ConfigRelays 1 }
dm3ConfigInputRelays           OBJECT IDENTIFIER ::=  { dm3ConfigRelays 2 }

dm3ConfigBreakers              OBJECT IDENTIFIER ::=  { dm3ConfigDistribution 1 }
dm3ConfigFuses                 OBJECT IDENTIFIER ::=  { dm3ConfigDistribution 2 }

dm3StatusSystem                OBJECT IDENTIFIER ::=  { dm3Status 1 }
dm3StatusAlarms                OBJECT IDENTIFIER ::=  { dm3Status 2 }
dm3StatusBattery               OBJECT IDENTIFIER ::=  { dm3Status 3 }
dm3StatusOEM                   OBJECT IDENTIFIER ::=  { dm3Status 4 }
dm3StatusLVD                   OBJECT IDENTIFIER ::=  { dm3Status 5 }
dm3StatusPowerModules          OBJECT IDENTIFIER ::=  { dm3Status 6 }
dm3StatusRelays                OBJECT IDENTIFIER ::=  { dm3Status 7 }
dm3StatusDistribution          OBJECT IDENTIFIER ::=  { dm3Status 8 }

dm3StatusRectifier             OBJECT IDENTIFIER ::=  { dm3StatusPowerModules 1 }
dm3StatusConverter             OBJECT IDENTIFIER ::=  { dm3StatusPowerModules 2 }

dm3StatusOutputRelays          OBJECT IDENTIFIER ::=  { dm3StatusRelays 1 }
dm3StatusInputRelays           OBJECT IDENTIFIER ::=  { dm3StatusRelays 2 }

dm3StatusBreakers              OBJECT IDENTIFIER ::=  { dm3StatusDistribution 1 }
dm3StatusFuses                 OBJECT IDENTIFIER ::=  { dm3StatusDistribution 2 }

atsIdent                       OBJECT IDENTIFIER ::=  { automaticTransferSwitch 1 }
atsCalibration                 OBJECT IDENTIFIER ::=  { automaticTransferSwitch 2 } 
atsControl                     OBJECT IDENTIFIER ::=  { automaticTransferSwitch 3 }    
atsConfig                      OBJECT IDENTIFIER ::=  { automaticTransferSwitch 4 }
atsStatus                      OBJECT IDENTIFIER ::=  { automaticTransferSwitch 5 }

atsCalibrationInput            OBJECT IDENTIFIER ::=  { atsCalibration 1 }
atsCalibrationPowerSupply      OBJECT IDENTIFIER ::=  { atsCalibration 2 }
atsCalibrationOutput           OBJECT IDENTIFIER ::=  { atsCalibration 3 }

atsStatusDeviceStatus          OBJECT IDENTIFIER ::=  { atsStatus 1 }
atsStatusResetValues           OBJECT IDENTIFIER ::=  { atsStatus 2 }
atsStatusInput                 OBJECT IDENTIFIER ::=  { atsStatus 3 }
atsStatusOutput                OBJECT IDENTIFIER ::=  { atsStatus 4 }

dcmim2Ident                    OBJECT IDENTIFIER ::=  { dc2 1 }
dcmim2Control                  OBJECT IDENTIFIER ::=  { dc2 2 }
dcmim2Config                   OBJECT IDENTIFIER ::=  { dc2 3 }
dcmim2Status                   OBJECT IDENTIFIER ::=  { dc2 4 }

dcmim2IdentSystem              OBJECT IDENTIFIER ::=  { dcmim2Ident 1 }

dcmim2ControlSystem            OBJECT IDENTIFIER ::=  { dcmim2Control 1 }

dcmim2ConfigSystem             OBJECT IDENTIFIER ::=  { dcmim2Config 1 }
dcmim2ConfigBattery            OBJECT IDENTIFIER ::=  { dcmim2Config 2 }
dcmim2ConfigLVD                OBJECT IDENTIFIER ::=  { dcmim2Config 3 }

dcmim2StatusSystem             OBJECT IDENTIFIER ::=  { dcmim2Status 1 }
dcmim2StatusRectifier          OBJECT IDENTIFIER ::=  { dcmim2Status 2 }
dcmim2StatusBattery            OBJECT IDENTIFIER ::=  { dcmim2Status 3 }
dcmim2StatusLVD                OBJECT IDENTIFIER ::=  { dcmim2Status 4 }
dcmim2StatusAlarms             OBJECT IDENTIFIER ::=  { dcmim2Status 5 }

external                       OBJECT IDENTIFIER ::=  { environmentalMonitor 1 }
integrated                     OBJECT IDENTIFIER ::=  { environmentalMonitor 2 }
envMgtSystem                   OBJECT IDENTIFIER ::=  { environmentalMonitor 3 }

emIdent                        OBJECT IDENTIFIER ::=  { external 1 }
emConfig                       OBJECT IDENTIFIER ::=  { external 2 }
emStatus                       OBJECT IDENTIFIER ::=  { external 3 }

iemIdent                       OBJECT IDENTIFIER ::=  { integrated 1 }
iemConfig                      OBJECT IDENTIFIER ::=  { integrated 2 }
iemStatus                      OBJECT IDENTIFIER ::=  { integrated 3 }

emsIdent                        OBJECT IDENTIFIER ::=  { envMgtSystem 1 }

emsOutputRelayControl           OBJECT IDENTIFIER ::=  { envMgtSystem 2 }
emsOutletControl                OBJECT IDENTIFIER ::=  { envMgtSystem 3 }
emsSensorControl                OBJECT IDENTIFIER ::=  { envMgtSystem 4 }
emsAlarmDeviceControl           OBJECT IDENTIFIER ::=  { envMgtSystem 5 }

emsConfig                       OBJECT IDENTIFIER ::=  { envMgtSystem 6 }
emsProbeConfig                  OBJECT IDENTIFIER ::=  { envMgtSystem 7 }
emsInputContactConfig           OBJECT IDENTIFIER ::=  { envMgtSystem 8 }
emsOutputRelayConfig            OBJECT IDENTIFIER ::=  { envMgtSystem 9 }
emsOutletConfig                 OBJECT IDENTIFIER ::=  { envMgtSystem 10 }
emsSensorConfig                 OBJECT IDENTIFIER ::=  { envMgtSystem 11 }

emsStatus                       OBJECT IDENTIFIER ::=  { envMgtSystem 12 }
emsProbeStatus                  OBJECT IDENTIFIER ::=  { envMgtSystem 13 }
emsInputContactStatus           OBJECT IDENTIFIER ::=  { envMgtSystem 14 }
emsOutputRelayStatus            OBJECT IDENTIFIER ::=  { envMgtSystem 15 }
emsOutletStatus                 OBJECT IDENTIFIER ::=  { envMgtSystem 16 }
emsAlarmDeviceStatus            OBJECT IDENTIFIER ::=  { envMgtSystem 17 }
emsSensorStatus                 OBJECT IDENTIFIER ::=  { envMgtSystem 18 }

nlIdent                        OBJECT IDENTIFIER ::=  { netlock 1 }
nlStatus                       OBJECT IDENTIFIER ::=  { netlock 2 }

airFM                           OBJECT IDENTIFIER ::=  { airConditioners 1 }
airFMIdent                      OBJECT IDENTIFIER ::=  { airFM 1 }
airFMStatus                     OBJECT IDENTIFIER ::=  { airFM 2 }
airFMGroup                      OBJECT IDENTIFIER ::=  { airFM 3 }

airPA                           OBJECT IDENTIFIER ::= { airConditioners 2 }
airPAIdent                      OBJECT IDENTIFIER ::= { airPA 1 }
airPAStatus                     OBJECT IDENTIFIER ::= { airPA 2 }

rARUIdent                      OBJECT IDENTIFIER ::=  { rARU 1 }
rARUConfig                     OBJECT IDENTIFIER ::=  { rARU 2 }
rARUStatus                     OBJECT IDENTIFIER ::=  { rARU 3 }


-- object types

-- the products group
-- the experimental group



-- the apcmgmt group
-- the mconfig group

mconfigNumTrapReceivers OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of managers to send traps to."
   ::= { mconfig 1 }

mconfigTrapReceiverTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MconfigTrapReceiverEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of managers to send traps to.  The number of
       entries is given by the value of mconfigNumTrapReceivers.
      Maximum number of Trap Receivers is four."
   ::= { mconfig 2 }

mconfigTrapReceiverEntry OBJECT-TYPE
   SYNTAX MconfigTrapReceiverEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The managers to send traps to."
   INDEX  { trapIndex}
   ::= { mconfigTrapReceiverTable 1 }

MconfigTrapReceiverEntry ::=
   SEQUENCE {
      trapIndex
         INTEGER,
      receiverAddr
         IpAddress,
      communityString
          DisplayString,
      severity
         INTEGER,
      acceptThisReceiver
         INTEGER, 
      receiveTrapType
         INTEGER
   }

trapIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to a trap receiver entry."
   ::= { mconfigTrapReceiverEntry 1 }

receiverAddr OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The IP address of the manager to send a trap to."
   ::= { mconfigTrapReceiverEntry 2 }

communityString OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The community name to use in the trap when
       sent to the manager."
   ::= { mconfigTrapReceiverEntry 3 }

severity OBJECT-TYPE
   SYNTAX INTEGER {
      information(1),
      warning(2),
      severe(3)
   }
   ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The severity threshold of traps to send to the manager.
       traps are labeled in severity as informational(1), warning(2),
       severe(3).  Only traps of equal or greater severity than
       this value are sent to the manager."
   ::= { mconfigTrapReceiverEntry 4 }

acceptThisReceiver OBJECT-TYPE
   SYNTAX INTEGER   {
      yes (1),
      no  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An entry will become active if yes, and will
       be deleted if no."
   ::= { mconfigTrapReceiverEntry 5 }


receiveTrapType OBJECT-TYPE
   SYNTAX INTEGER   {
      powernet (1),
      ietf     (2),
      both     (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The node in this entry will receive traps defined in APC
       PowerNet MIB, if this OID is set to yes."
   ::= { mconfigTrapReceiverEntry 6 }

mconfigBOOTPEnabled OBJECT-TYPE
   SYNTAX INTEGER {
      yes (1),
      no  (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The value of yes(1) indicates the PowerNet Adapter is configured to
       obtain its IP configuration parameters from a BOOTP server.
       
       The value of no(2) indicates adapter will assume IP configuration parameters 
       values saved in adapter's eeprom, which was originally configured at local
       console."
   ::= { mconfig 3 }

mconfigTFTPServerIP OBJECT-TYPE
   SYNTAX IpAddress
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The IP address of TFTP server. If mconfigBOOTPEnabled is yes(1), then this IP address
       is provided by BOOTP server and not allowed to be modified; otherwise, this IP address
       can be modified.
       
       Before using TFTP to load new code image, the image file should be placed in proper
       directory of the specified TFTP server. This OID is only supported by AP9605, AP9205, 
       and AP9603 PowerNet SNMP Adapters."
   ::= { mconfig 4 }

newCodeAuthentViaTFTP OBJECT-TYPE
   SYNTAX INTEGER {
      unknown                (1),
      validNewAgentCodeImage (2),
      sameAgentCodeImage     (3),
      invalidAgentCodeImage  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Once mcontrolRestartAgent is set to loadAndExecuteNewAgent (3), PowerNet adapter will
       start to load the remote image file, for authentication only, instead of saving the code 
       into flash memory. Only if a validNewAgentCodeImage (1) is found will the agent reboot
       the PowerNet adapter and invoke the loader to load and save new code into the flash memory. 
       Otherwise, the current agent code will continue to run.
       
       This OID shows the result of the above authentication process.  
                validNewAgentCodeImage (1) means the code image on TFTP server 
                is a valid APC agent code and is different version from the current agent.
                Once agent identifies this, loader will start to update flash memory with
                the new agent code.
       
                sameAgentCodeImage  (2)  means the code image on TFTP server is exactly the
                same as the currently running agent. Currently running agent will not invoke
                loader to load the same again.
                
                invalidAgentCodeImage  (3) means the code image on TFTP server is NOT a valid
                APC agent code. Thus, current agent will not load it into the flash memory.
                
       The value of this OID will be associated with TRAP codeImageAuthentDone.
       This OID is only supported by AP9605, AP9205, and AP9603 PowerNet SNMP Adapters."
       
   ::= { mconfig 5 }

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 am/pm format. Example: 12:00:00 am."
   ::= { mconfigClock 2 }

mcontrolRestartAgent OBJECT-TYPE
   SYNTAX INTEGER   {
      restartCurrentAgent    (1),
      continueCurrentAgent   (2),
      loadAndExecuteNewAgent (3),
      restartWithoutAgent    (4),
      resetNetworkAndRestart (5),
      resetNetworkLeaveModeAndRestart (6)
  }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to restartCurrentAgent (1) will restart the same SNMP
       agent code currently saved in flash memory. Setting this OID to
       loadAndExecuteNewAgent (3) will enable adapter to load a new agent code
       into the flash memory and start to execute this new agent code.
       Bootp/tftp is the default protocol. loadAndExecuteNewAgent is only
       supported by AP9605, AP9205, and AP9603 PowerNet SNMP Adapters. Setting
       this OID to restartWithoutAgent (4) will restart the system and not
       start the agent. The subsequent time the system restarts the agent will
       also automatically restart. Setting this OID to
       resetNetworkAndRestart (5) will set the Boot Mode, IP Address, Subnet
       Mask, and Default Gateway to defaults, expire any existing DHCP lease
       and then restart the system. Setting this OID to
       resetNetworkLeaveModeAndRestart (6) will leave the Boot Mode at the
       current setting, set the IP Address, Subnet Mask, and Default Gateway to
       defaults, expire any existing DHCP lease and then restart the system."

   ::= { mcontrol 1 }

-- The mtrapargs group
-- These OIDs allows APC traps to be sent with additional arguments
-- which may not be defined in the APC MIB.
      
mtrapargsInteger OBJECT-TYPE
   SYNTAX INTEGER    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an integer argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 1 }

mtrapargsIpAddress OBJECT-TYPE
   SYNTAX IpAddress   
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an IP address argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0.0.0.0."
   ::= { mtrapargs 2 }

mtrapargsString OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an octet string argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return a NULL string."
   ::= { mtrapargs 3 }

mtrapargsGauge OBJECT-TYPE
   SYNTAX  Gauge 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with a Gauge argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 4 }

mtrapargsTimeTicks OBJECT-TYPE
   SYNTAX TimeTicks  
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with a TimeTicks argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 5 }

mtrapargsInteger02 OBJECT-TYPE
   SYNTAX INTEGER    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an integer argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 6 }

mtrapargsInteger03 OBJECT-TYPE
   SYNTAX INTEGER    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an integer argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 7 }

mtrapargsIpAddress02 OBJECT-TYPE
   SYNTAX IpAddress   
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an IP address argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0.0.0.0."
   ::= { mtrapargs 8 }

mtrapargsIpAddress03 OBJECT-TYPE
   SYNTAX IpAddress   
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an IP address argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0.0.0.0."
   ::= { mtrapargs 9 }
   
mtrapargsString02 OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an octet string argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return a NULL string."
   ::= { mtrapargs 10 }

mtrapargsString03 OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with an octet string argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return a NULL string."
   ::= { mtrapargs 11 }

mtrapargsGauge02 OBJECT-TYPE
   SYNTAX  Gauge 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with a Gauge argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 12 }

mtrapargsGauge03 OBJECT-TYPE
   SYNTAX  Gauge 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with a Gauge argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 13 }

mtrapargsTimeTicks02 OBJECT-TYPE
   SYNTAX TimeTicks  
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with a TimeTicks argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 14 }

mtrapargsTimeTicks03 OBJECT-TYPE
   SYNTAX TimeTicks  
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID allows APC traps to be sent with a TimeTicks argument
       that my not be defined in the APC MIB.
      
       A get of this OID will return 0."
   ::= { mtrapargs 15 }
   
-- the mfiletransfer group
-- the mfiletransferStatus group
mfiletransferStatusLastTransferResult OBJECT-TYPE
   SYNTAX INTEGER {
      lastFileTransferResultSuccessful                 (1),
      lastFileTransferResultNotAvailable               (2),
      lastFileTransferResultFailureUnknown             (3),
      lastFileTransferResultFailureServerInaccessible  (4),
      lastFileTransferResultFailureServerAccessDenied  (5),
      lastFileTransferResultFailureFileNotFound        (6),
      lastFileTransferResultFailureFileTypeUnknown     (7),
      lastFileTransferResultFailureFileCorrupted       (8)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Once mfiletransferControlInitiateFileTransfer is set to a value other than doNotInitiateFileTransfer
      a file transfer of mfiletransferConfigSettingsFilename will be attempted from either a TFTP or FTP
      server.
       
      This OID shows the last attempted file transfer result.
        lastFileTransferResultSuccessful (1) means the file transfer was successful.
        lastFileTransferResultNotAvailable (2) means that there have been no previous file transfers.
        lastFileTransferResultFailureUnknown (3) means that the last file transfer failed for an unknown reason.
        lastFileTransferResultFailureServerInaccessible (4) means that the TFTP or FTP server could not be found on the network.
        lastFileTransferResultFailureServerAccessDenied (5) means that the TFTP or FTP server denied access.
        lastFileTransferResultFailureFileNotFound (6) means that the file could not be located.
        lastFileTransferResultFailureFileTypeUnknown (7) means the file was examined, but the contents were unknown.
        lastFileTransferResultFailureFileCorrupt (8) means the transferred file was corrupt."
       
   ::= { mfiletransferStatus 1 }
   
-- the mfiletransferConfig group
-- the mfiletransferConfigSettings group

mfiletransferConfigSettingsFilename  OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The path and name of the file to transfer using the mfiletransferControlInitiateFileTransfer OID.
      If the file to transfer exists in the default server directory then the path may be omitted."

   ::= { mfiletransferConfigSettings 1 }

-- the mfiletransferConfigTFTP group

mfiletransferConfigTFTPServerAddress     OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The IP Address in dotted decimal notation of the TFTP server involved in the file transfer."

   ::= { mfiletransferConfigTFTP 1 }

-- the mfiletransferConfigFTP group

mfiletransferConfigFTPServerAddress  OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The IP Address in dotted decimal notation of the FTP server involved in the file transfer."

   ::= { mfiletransferConfigFTP 1 }

mfiletransferConfigFTPServerUser     OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The user identification for logging into the FTP server specified with mfiletransferConfigFTPServerAddress."

   ::= { mfiletransferConfigFTP 2 }

mfiletransferConfigFTPServerPassword     OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The password for logging into the FTP server specified with mfiletransferConfigFTPServerAddress."

   ::= { mfiletransferConfigFTP 3 }

-- the mfiletransferControl group

mfiletransferControlInitiateFileTransfer OBJECT-TYPE
   SYNTAX INTEGER   {
      doNotInitiateFileTransfer             (1),
      initiateFileTransferDownloadViaTFTP   (2),
      initiateFileTransferDownloadViaFTP    (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to doNotInitiateFileTransfer (1) will do nothing.
       
      Setting this OID to initiateFileTransferDownloadViaTFTP (2) will attempt to transfer the file named in 
      mfiletransferConfigSettingsFilename from the TFTP Server identified in mfiletransferConfigTFTPAddress.
       
      Setting this OID to initiateFileTransferDownloadViaFTP (3) will attempt to transfer the file named in 
      mfiletransferConfigSettingsFilename from the FTP Server identified in mfiletransferConfigFTPAddress 
      using mfiletransferConfigFTPUser and mfiletransferConfigFTPPassword for the FTP Server login process."

   ::= { mfiletransferControl 1 }

-- the battManIdent group

battManIdentProductName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the battery manager."
   ::= { battManIdent 1 }

battManIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery manager network interface hardware revision. 
       This value is set at the factory." 
   ::= { battManIdent 2 }

battManIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery manager network interface firmware revision. 
       This value is set at the factory and can change with firmware update." 
   ::= {  battManIdent 3 }

battManIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date the battery manager was manufactured in mm/dd/yyyy format. 
       This value is set at the factory." 
   ::= { battManIdent 4 }
   
battManIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery manager model number character string. 
       This value is set at the factory."
   ::= { battManIdent 5 }

battManIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery manager serial number character string. 
       This value is set at the factory."
   ::= { battManIdent 6 }

-- the battManCalib group
-- system calibration

battManOhmicValueCorrectionFactor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The system ohmic value correction factor in percent."
   ::= { battManSystemCalib 1 }

-- unit calibration

battManUnitCalibTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManUnitCalibTable."
   ::= { battManUnitCalib 1 }
   
battManUnitCalibTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManUnitCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting calibration information from each unit in the system."
   ::= { battManUnitCalib 2 }
   
battManUnitCalibTableEntry OBJECT-TYPE
   SYNTAX BattManUnitCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The unit to get data from."
   INDEX { battManUnitCalibIndex }
   ::= { battManUnitCalibTable 1 }
   
BattManUnitCalibTableEntry ::=
   SEQUENCE {
       battManUnitCalibIndex           INTEGER,
       battManUnitSerialNumber         DisplayString,
       battManBatteryVoltageZeroCalib  INTEGER,                                 
       battManBatteryVoltageSpanCalib  INTEGER
   }       

battManUnitCalibIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of unit calibration entries in the table."
   ::= { battManUnitCalibTableEntry 1 }

battManUnitSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The serial number of the unit."
   ::= { battManUnitCalibTableEntry 2 }

battManBatteryVoltageZeroCalib OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The unit battery voltage zero calibration in millivolts."
   ::= { battManUnitCalibTableEntry 3 }

battManBatteryVoltageSpanCalib OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The unit battery voltage span calibration in percent."
   ::= { battManUnitCalibTableEntry 4 }

-- string calibration table

battManStringCalibTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManStringCalibTable."
   ::= { battManStringCalib 1 }
   
battManStringCalibTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManStringCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting calibration information from each string in the system."
   ::= { battManStringCalib 2 }
   
battManStringCalibTableEntry OBJECT-TYPE
   SYNTAX BattManStringCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManStringCalibIndex }
   ::= { battManStringCalibTable 1 }
   
BattManStringCalibTableEntry ::=
   SEQUENCE {
       battManStringCalibIndex             INTEGER,
       battManDCCurrentZeroCalib           INTEGER,                                 
       battManACCurrentZeroCalib           INTEGER,
       battManProbeRange                   INTEGER
   }       

battManStringCalibIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of string calibration entries in the table."
   ::= { battManStringCalibTableEntry 1 }

battManDCCurrentZeroCalib OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The string DC current zero calibration in tenths of amps."
   ::= { battManStringCalibTableEntry 2 }

battManACCurrentZeroCalib OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The string AC current zero calibration in tenths of amps."
   ::= { battManStringCalibTableEntry 3 }

battManProbeRange OBJECT-TYPE
   SYNTAX INTEGER {
       amps1000    (1),
       amps500     (2),
       amps100     (3)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The string probe range in amps."
   ::= { battManStringCalibTableEntry 4 }

--string 1 battery calibration table

battManString1BatteryCalibTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManString1BatteryCalibTable."
   ::= { battManBatteryCalib 1 }
   
battManString1BatteryCalibTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString1BatteryCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting calibration information from each battery in String 1."
   ::= { battManBatteryCalib 2 }
   
battManString1BatteryCalibTableEntry OBJECT-TYPE
   SYNTAX BattManString1BatteryCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManString1BatteryCalibIndex }
   ::= { battManString1BatteryCalibTable 1 }
   
BattManString1BatteryCalibTableEntry ::=
   SEQUENCE {
       battManString1BatteryCalibIndex             INTEGER,
       battManString1BatteryInterTierOhmicValue    INTEGER
   }       

battManString1BatteryCalibIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of battery calibration entries in the table."
   ::= { battManString1BatteryCalibTableEntry 1 }

battManString1BatteryInterTierOhmicValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The battery inter-tier ohmic value in ohms.  This corresponds to the ohmic 
       value for the positive terminal of the battery."
   ::= { battManString1BatteryCalibTableEntry 2 }

--string 2 battery calibration table

battManString2BatteryCalibTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManString2BatteryCalibTable."
   ::= { battManBatteryCalib 3 }
   
battManString2BatteryCalibTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString2BatteryCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting calibration information from each battery in String 2."
   ::= { battManBatteryCalib 4 }
   
battManString2BatteryCalibTableEntry OBJECT-TYPE
   SYNTAX BattManString2BatteryCalibTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManString2BatteryCalibIndex }
   ::= { battManString2BatteryCalibTable 1 }
   
BattManString2BatteryCalibTableEntry ::=
   SEQUENCE {
       battManString2BatteryCalibIndex             INTEGER,
       battManString2BatteryInterTierOhmicValue    INTEGER
   }       

battManString2BatteryCalibIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of battery calibration entries in the table."
   ::= { battManString2BatteryCalibTableEntry 1 }

battManString2BatteryInterTierOhmicValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "The battery inter-tier ohmic value in ohms."
   ::= { battManString2BatteryCalibTableEntry 2 }

-- the battManConfig group

battManConfigApplication OBJECT-TYPE
   SYNTAX INTEGER {
     silcon          (1),
     other           (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The type of application the battery manager is installed on: 
       Silcon(1) Silcon UPS or 
       Other(2) Other UPS/Charger."
   ::= { battManConfig 1 } 

battManConfigBatteryChemistry OBJECT-TYPE
   SYNTAX INTEGER {
     leadAcid        (1),
     nickel-Cadmium  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The battery chemistry of the monitored batteries: 
       LeadAcid(1) Lead Acid or 
       Nickel-Cadmium(2) Nickel-Cadmium."
   ::= { battManConfig 2 }

battManConfigBatteryAHCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amp hour capacity of the monitored batteries 5-2000 AH."
   ::= { battManConfig 3 }

battManConfigNumberofStrings OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of strings in the battery manager system (1 - 2 Silcon)/(1 Other)."
   ::= { battManConfig 4 }

battManConfigBatteriesperString OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of batteries per string."
   ::= { battManConfig 5 }

battManConfigCellsperBattery OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of cells per battery (1 - 6 for lead-acid, 1 - 2 for NiCd."
   ::= { battManConfig 6 }

battManConfigMinCellVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum battery cell voltage alarm limit in millivolts DC."
   ::= { battManConfig 7 }

battManConfigMaxCellVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum battery cell voltage alarm limit in millivolts DC."
   ::= { battManConfig 8 }

battManConfigMaxPilotTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum pilot battery temperature alarm limit in tenths of degrees Fahrenheit."
   ::= { battManConfig 9 }

battManConfigMaxPilotTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum pilot battery temperature alarm limit in tenths of degrees Celcius."
   ::= { battManConfig 10 }

battManConfigMaxAmbientTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum ambient temperature alarm limit in tenths of degrees Fahrenheit."
   ::= { battManConfig 11 }

battManConfigMaxAmbientTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum ambient temperature alarm limit in tenths of degrees Celcius."
   ::= { battManConfig 12 }

battManConfigMinAmbientTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The Minimum Ambient Temperature alarm limit in tenths of degrees Fahrenheit."
   ::= { battManConfig 13 }

battManConfigMinAmbientTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The Minimum Ambient Temperature alarm limit in tenths of degrees Celcius."
   ::= { battManConfig 14 }

battManConfigMaxRippleCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum ripple current alarm limit for the monitored battery 
       strings in percent of AH capacity."
   ::= { battManConfig 15 }

battManConfigMaxCurrentAcceptanceDeviation OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum current acceptance deviation alarm limit in percentage."
   ::= { battManConfig 16 }

battManConfigMonitorWireLength OBJECT-TYPE
   SYNTAX INTEGER {
     fiftyFeetOrLess   (1),
     moreThanFiftyFeet (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The monitor wire length:
       fiftyFeetOrLess (1) indicates that the wire length is less than or equal to 50 feet.
       moreThanFiftyFeet (2) indicates that the wire length is greater than 50 feet."
   ::= { battManConfig 17 }

battManConfigDischargeVoltageAlarmLevel OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The discharge voltage alarm level in percent."
   ::= { battManConfig 18 }

battManConfigAutoAnnunciatorReset OBJECT-TYPE
   SYNTAX INTEGER {
     disabled  (1),
     enabled   (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The annunciator output signal reset method:
       disabled(1) means the annunciator signal output will be reset when the reset button is pressed.
       enabled(2) means the annunciator will stop signalling when all alarm conditions clear."
   ::= { battManConfig 19 }

-- the battManAlarm group

battManAlarmManagementController OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Management Controller Alarm is : 
       normal(1) no alarm condtions identified
       alarm(2) an alarm condition exits."
   ::= { battManAlarm 1 }

battManAlarmBatteries  OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Batteries Alarm is : 
       normal(1) no alarm condtions identified
       alarm(2) an alarm condition exits."
   ::= { battManAlarm 2 }

battManAlarmCharger OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Charger Alarm is : 
       normal(1) no alarm condtions identified
       alarm(2) an alarm condition exits."
   ::= { battManAlarm 3 }

battManAlarmEnvironment OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Environment Alarm is : 
       normal(1) no alarm condtions identified
       alarm(2) an alarm condition exits."
   ::= { battManAlarm 4 }

-- the battManSystemStatus group

-- These are system wide parameters

battManSystemAmbientTempC OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system ambient temperture in tenths of degrees Celcius."
   ::= { battManSystemStatus 1 }

battManSystemAmbientTempF OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system ambient temperture in tenths of degrees Fahrenheit."
   ::= { battManSystemStatus 2 }

battManSystemPilotTempC OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system pilot temperature in tenths of degrees Celcius."
   ::= { battManSystemStatus 3 }

battManSystemPilotTempF OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system pilot temperature in tenths of degrees Fahrenheit."
   ::= { battManSystemStatus 4 }

battManSystemAmbientHighTempAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system has a high temperature alarm."
   ::= { battManSystemStatus 5 }

battManSystemAmbientLowTempAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system has a low temperature alarm."
   ::= { battManSystemStatus 6 }

battManSystemPilotBatteryHighTempAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system has a pilot battery high temperature alarm."
   ::= { battManSystemStatus 7 }

battManSystemPilotProbeDisconnected OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system pilot probe is disconnected."
   ::= { battManSystemStatus 8 }

battManSystemAmbientProbeDisconnected OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system ambient probe is disconnected."
   ::= { battManSystemStatus 9 }

-- This is a table of input contact parameters

battManInputContactTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the battManContactTable." 
   ::= { battManInputContactStatus 1 }

battManInputContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManInputContactTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting information from each contact 
       in the system. " 
   ::= { battManInputContactStatus 2 }

battManInputContactTableEntry OBJECT-TYPE
   SYNTAX BattManInputContactTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The contact to get data from."
   INDEX  { battManInputContactIndex }
   ::= { battManInputContactTable 1 }

BattManInputContactTableEntry ::=
   SEQUENCE {
      battManInputContactIndex                 INTEGER,
      battManInputContactName                  DisplayString,
      battManInputContactAlarmState            INTEGER,
      battManInputContactState                 INTEGER,
      battManInputContactNormalState           INTEGER,
      battManInputContactAlarmDelay            INTEGER
   }
   
battManInputContactIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Index of contact entries in the table."
   ::= { battManInputContactTableEntry 1 }

battManInputContactName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the input contact."
   ::= { battManInputContactTableEntry 2 }

battManInputContactAlarmState OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the alarm condition is active for this contact."
   ::= { battManInputContactTableEntry 3 }

battManInputContactState OBJECT-TYPE
   SYNTAX INTEGER {
     open      (1),
     closed    (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to open(1), the input contact is in the open state.
       When set to closed(2), the input contact is in the closed state."
   ::= { battManInputContactTableEntry 4 }

battManInputContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
     open      (1),
     closed    (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to open(1), the input contact is normally open.
       When set to closed(2), the input contact is normally closed."
   ::= { battManInputContactTableEntry 5 }

battManInputContactAlarmDelay OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The alarm delay time in seconds."
   ::= { battManInputContactTableEntry 6 }

-- This is a table of battery string parameters

battManStringTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the battManStringTable." 
   ::= { battManStringStatus 1 }

battManStringTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManStringTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting information from each string 
       in the system. " 
   ::= { battManStringStatus 2 }

battManStringTableEntry OBJECT-TYPE
   SYNTAX BattManStringTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The string to get data from."
   INDEX  { battManStringIndex }
   ::= { battManStringTable 1 }

BattManStringTableEntry ::=
   SEQUENCE {
      battManStringIndex                       INTEGER,
      battManStringCurrent                     INTEGER,
      battManStringRippleCurrent               INTEGER,
      battManStringChargerHighVoltageAlarm     INTEGER,
      battManStringChargerLowVoltageAlarm      INTEGER,
      battManStringCurrentProbeDisconnected    INTEGER,
      battManStringOnBattery                   INTEGER
   }
   
battManStringIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Index of string entries in the table."
   ::= { battManStringTableEntry 1 }

battManStringCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The string current in tenths of Amps."
   ::= { battManStringTableEntry 2 }

battManStringRippleCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The string ripple current in tenths of Amps."
   ::= { battManStringTableEntry 3 }

battManStringChargerHighVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the string charger has a high voltage alarm."
   ::= { battManStringTableEntry 4 }

battManStringChargerLowVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the string charger has a low voltage alarm."
   ::= { battManStringTableEntry 5 }

battManStringCurrentProbeDisconnected OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the string charger probe is disconnected."
   ::= { battManStringTableEntry 6 }

battManStringOnBattery OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the string is in the on-battery state."
   ::= { battManStringTableEntry 7 }

-- the battManString1BatteryStatus group

battManString1BatteryTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the battManString1BatteryStatusTable." 
   ::= { battManBatteryStatus 1 }

battManString1BatteryTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString1BatteryTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting information from each string 
       in the system. " 
   ::= { battManBatteryStatus 2 }

battManString1BatteryTableEntry OBJECT-TYPE
   SYNTAX BattManString1BatteryTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The string to get data from."
   INDEX  { battManString1BatteryIndex }
   ::= { battManString1BatteryTable 1 }

BattManString1BatteryTableEntry ::=
   SEQUENCE {
      battManString1BatteryIndex                       INTEGER,
      battManString1BatteryVoltage                     INTEGER,
      battManString1BatteryLowestVoltage               INTEGER,
      battManString1BatteryCellShorted                 INTEGER, 
      battManString1BatteryOpenFuseOrConnection        INTEGER, 
      battManString1BatteryLowCapacity                 INTEGER, 
      battManString1BatteryHighOhmicValue              INTEGER, 
      battManString1BatteryThermalRunaway              INTEGER, 
      battManString1BatteryDryout                      INTEGER
   }
   
battManString1BatteryIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Index of string entries in the table."
   ::= { battManString1BatteryTableEntry 1 }

battManString1BatteryVoltage OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery voltage in milli VDC."
   ::= { battManString1BatteryTableEntry 2 }
   
battManString1BatteryLowestVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The lowest battery discharge voltage during the last power event in milli VDC."
   ::= { battManString1BatteryTableEntry 3 }
   
battManString1BatteryCellShorted OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that a battery cell is shorted."
   ::= { battManString1BatteryTableEntry 4 }

battManString1BatteryOpenFuseOrConnection OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that a fuse or connection is open."
   ::= { battManString1BatteryTableEntry 5 }

battManString1BatteryLowCapacity OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has low capacity."
   ::= { battManString1BatteryTableEntry 6 }

battManString1BatteryHighOhmicValue OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has a high ohmic value."
   ::= { battManString1BatteryTableEntry 7 }

battManString1BatteryThermalRunaway OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has a thermal runaway condition."
   ::= { battManString1BatteryTableEntry 8 }

battManString1BatteryDryout OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has a dryout condition."
   ::= { battManString1BatteryTableEntry 9 }

-- the battManString2BatteryStatus group

battManString2BatteryTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the battManString2BatteryStatusTable." 
   ::= { battManBatteryStatus 3 }

battManString2BatteryTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString2BatteryTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting information from each string 
       in the system. " 
   ::= { battManBatteryStatus 4 }

battManString2BatteryTableEntry OBJECT-TYPE
   SYNTAX BattManString2BatteryTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The string to get data from."
   INDEX  { battManString2BatteryIndex }
   ::= { battManString2BatteryTable 1 }

BattManString2BatteryTableEntry ::=
   SEQUENCE {
      battManString2BatteryIndex                       INTEGER,
      battManString2BatteryVoltage                     INTEGER,
      battManString2BatteryLowestVoltage               INTEGER,
      battManString2BatteryCellShorted                 INTEGER, 
      battManString2BatteryOpenFuseOrConnection        INTEGER, 
      battManString2BatteryLowCapacity                 INTEGER, 
      battManString2BatteryHighOhmicValue              INTEGER, 
      battManString2BatteryThermalRunaway              INTEGER, 
      battManString2BatteryDryout                      INTEGER
   }
   
battManString2BatteryIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Index of string entries in the table."
   ::= { battManString2BatteryTableEntry 1 }

battManString2BatteryVoltage OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery voltage in milli VDC."
   ::= { battManString2BatteryTableEntry 2 }
   
battManString2BatteryLowestVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The lowest battery discharge voltage during the last power event in milli VDC."
   ::= { battManString2BatteryTableEntry 3 }
   
battManString2BatteryCellShorted OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that a battery cell is shorted."
   ::= { battManString2BatteryTableEntry 4 }

battManString2BatteryOpenFuseOrConnection OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that a fuse or connection is open."
   ::= { battManString2BatteryTableEntry 5 }

battManString2BatteryLowCapacity OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has low capacity."
   ::= { battManString2BatteryTableEntry 6 }

battManString2BatteryHighOhmicValue OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has a high ohmic value."
   ::= { battManString2BatteryTableEntry 7 }

battManString2BatteryThermalRunaway OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has a thermal runaway condition."
   ::= { battManString2BatteryTableEntry 8 }

battManString2BatteryDryout OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has a dryout condition."
   ::= { battManString2BatteryTableEntry 9 }

-- battery manager control group
battManRemoteAnnunciatorReset OBJECT-TYPE
   SYNTAX INTEGER {
       noOperation (1),
       reset       (2)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset(2) will reset the user interface annunciator.
       Getting this OID will do nothing and return the noOperation(1) value."
   ::= { battManControl 1 }

battManResetChargeCurrentDeviationBenchmark OBJECT-TYPE
   SYNTAX INTEGER {
       noOperation (1),
       reset       (2)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset(2) will reset the charge current deviation benchmark.
       Getting this OID will do nothing and return the noOperation(1) value."
   ::= { battManControl 2 }

battManResetLowestDischargeVoltages OBJECT-TYPE
   SYNTAX INTEGER {
       noOperation (1),
       reset       (2)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to reset(2) will reset the lowest discharge voltages.
       Getting this OID will do nothing and return the noOperation(1) value."
   ::= { battManControl 3 }

-- the battManTestResults group

--string 1 test results table

battManString1OhmicValueLastDischargeInfo OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Informational text showing the date/time, load, and pilot temperature for the string
       during the last discharge when ohmic values were recorded."
   ::= { battManTestResults 1 }       

battManString1OhmicValueTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManString1OhmicValueTable."
   ::= { battManTestResults 2 }
   
battManString1OhmicValueTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString1OhmicValueTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting ohmic value information from each battery in String 1."
   ::= { battManTestResults 3 }
   
battManString1OhmicValueTableEntry OBJECT-TYPE
   SYNTAX BattManString1OhmicValueTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManString1OhmicValueIndex }
   ::= { battManString1OhmicValueTable 1 }
   
BattManString1OhmicValueTableEntry ::=
   SEQUENCE {
       battManString1OhmicValueIndex   INTEGER,
       battManString1OhmicValueData    INTEGER
   }       

battManString1OhmicValueIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The battery number."
   ::= { battManString1OhmicValueTableEntry 1 }

battManString1OhmicValueData OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The battery inter-tier ohmic value in ohms.
       Note: Negative values are invalid and may indicate faulty calibration
       of ohmic value correction factors."
   ::= { battManString1OhmicValueTableEntry 2 }

battManString1ResponseTestChangeTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManString1ResponseTestChangeTable."
   ::= { battManTestResults 4 }
   
battManString1ResponseTestChangeTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString1ResponseTestChangeTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting response test change information from each battery in String 1."
   ::= { battManTestResults 5 }
   
battManString1ResponseTestChangeTableEntry OBJECT-TYPE
   SYNTAX BattManString1ResponseTestChangeTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManString1ResponseTestChangeIndex }
   ::= { battManString1ResponseTestChangeTable 1 }
   
BattManString1ResponseTestChangeTableEntry ::=
   SEQUENCE {
       battManString1ResponseTestChangeIndex   INTEGER,
       battManString1ResponseTestChangeData    INTEGER
   }       

battManString1ResponseTestChangeIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of the entries in the table."
   ::= { battManString1ResponseTestChangeTableEntry 1 }

battManString1ResponseTestChangeData OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The battery response test change in percent."
   ::= { battManString1ResponseTestChangeTableEntry 2 }

battManString2OhmicValueLastDischargeInfo OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Informational text showing the date/time, load, and pilot temperature for the string
       during the last discharge when ohmic values were recorded."
   ::= { battManTestResults 6 }       

battManString2OhmicValueTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManString2OhmicValueTable."
   ::= { battManTestResults 7 }
   
battManString2OhmicValueTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString2OhmicValueTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting ohmic value information from each battery in String 1."
   ::= { battManTestResults 8 }
   
battManString2OhmicValueTableEntry OBJECT-TYPE
   SYNTAX BattManString2OhmicValueTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManString2OhmicValueIndex }
   ::= { battManString2OhmicValueTable 1 }
   
BattManString2OhmicValueTableEntry ::=
   SEQUENCE {
       battManString2OhmicValueIndex   INTEGER,
       battManString2OhmicValueData    INTEGER
   }       

battManString2OhmicValueIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of battery calibration entries in the table."
   ::= { battManString2OhmicValueTableEntry 1 }

battManString2OhmicValueData OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The battery inter-tier ohmic value in ohms.
       Note: Negative values are invalid and may indicate faulty calibration
       of ohmic value correction factors."
   ::= { battManString2OhmicValueTableEntry 2 }

battManString2ResponseTestChangeTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManString2ResponseTestChangeTable."
   ::= { battManTestResults 9 }
   
battManString2ResponseTestChangeTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManString2ResponseTestChangeTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting response test change information from each battery in String 1."
   ::= { battManTestResults 10 }
   
battManString2ResponseTestChangeTableEntry OBJECT-TYPE
   SYNTAX BattManString2ResponseTestChangeTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The string to get data from."
   INDEX { battManString2ResponseTestChangeIndex }
   ::= { battManString2ResponseTestChangeTable 1 }
   
BattManString2ResponseTestChangeTableEntry ::=
   SEQUENCE {
       battManString2ResponseTestChangeIndex   INTEGER,
       battManString2ResponseTestChangeData    INTEGER
   }       

battManString2ResponseTestChangeIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Index of the entries in the table."
   ::= { battManString2ResponseTestChangeTableEntry 1 }

battManString2ResponseTestChangeData OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The battery response test change in percent."
   ::= { battManString2ResponseTestChangeTableEntry 2 }

-- the xPDUIdent group

xPDUIdentProductName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the PDU."
   ::= { xPDUIdent 1 }

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

xPDUIdentFirmwareAppRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ID string identifying the application firmware revision of the  PDU." 
   ::= {  xPDUIdent 3 }

xPDUIdentFirmwareAppOSRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ID string identifying the application operating system firmware revision of the PDU." 
   ::= {  xPDUIdent 4 }

xPDUIdentFirmwareControllerRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ID string identifying the PDU controller firmware revision." 
   ::= {  xPDUIdent 5 }

xPDUIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the PDU was manufactured in mm/dd/yyyy format. 
       This value is set at the factory." 
   ::= { xPDUIdent 6 }
   
xPDUIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the model number of 
       the PDU. This value is set at the factory."
   ::= { xPDUIdent 7 }

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

--  the xPDUDevice group

xPDUDeviceNominalMainInputVoltage OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The nominal main input voltage to the PDU. 
       Measured in Volts,  line-to-line for a delta service or 
       line-to-neutral for a wye service."
   ::= { xPDUDevice 1 }

xPDUDeviceServiceType OBJECT-TYPE
    SYNTAX INTEGER  {
        delta (1),
        wye   (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The type of utility input to the PDU. Either 3 wires (delta), or 4 wires (wye)."
   ::= { xPDUDevice 2 }

xPDUDeviceNominalOutputVoltage OBJECT-TYPE
       SYNTAX     INTEGER 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
      "The nominal line-to-neutral output voltage to the load measured in Volts."
   ::= { xPDUDevice 3 }

xPDUDeviceMainInputBreakerRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The rating of the main input breaker measured in Amps."
   ::= { xPDUDevice 4 }

xPDUDevicePanelBreakerRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The rating of the panel breaker measured in Amps."
   ::= { xPDUDevice 5 }

xPDUDeviceTransformerPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not a transformer is installed in the PDU."
   ::= { xPDUDevice 6 }

xPDUDeviceLoadTieBreakerPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent (1),
        present    (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not a load tie breaker is installed in the PDU."
   ::= { xPDUDevice 7 }

xPDUDeviceLoadTestPortPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not a load test port is installed in the PDU."
   ::= { xPDUDevice 8 }

xPDUDeviceFusesPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not the UPS feed from the PDU includes fuses."
   ::= { xPDUDevice 9 }

xPDUDeviceFansPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not cooling fans are installed in the PDU."
   ::= { xPDUDevice 10 }

xPDUDeviceBypassInputPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not the PDU is equipped with a second feed for
       the UPS's bypass input."
   ::= { xPDUDevice 11 }

xPDUDeviceCrossTieOutputPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not the PDU is equipped with a cross-tie output."
   ::= { xPDUDevice 12 }

xPDUDeviceEarthGroundMonitorPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not the PDU can provide ground current measurements."
   ::= { xPDUDevice 13 }

xPDUDeviceInfraXureType OBJECT-TYPE
    SYNTAX INTEGER  {
        typeB     (1),
        typeC     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates the configuration of this PDU system. 
       Type-B PDU is in a distributed UPS system and has bypass capabilities. 
       Type-C PDU receives power from a larger central UPS."
   ::= { xPDUDevice 14 }

-- Main Input 

xPDUMainInputOverVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..30)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which an input over voltage condition will be generated.
       Specified as percent deviation from nominal."
   ::= { xPDUMainInput 1 }

xPDUMainInputUnderVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..30)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which an input under voltage condition will be generated.
       Specified as percent deviation from nominal."
   ::= { xPDUMainInput 2 }

-- Main Input Voltage Table

xPDUMainInputVoltageTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Main input voltage entries."
   ::= { xPDUMainInput 3 }

xPDUMainInputVoltageTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF XPDUMainInputVoltagePhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of input voltage table entries. The number of 
           entries are the phase entries.
           The number of entries is contained in the 
           xPDUMainInputVoltageTableSize OID."
       ::= { xPDUMainInput 4 }

   xPDUMainInputVoltagePhaseEntry OBJECT-TYPE
       SYNTAX     XPDUMainInputVoltagePhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular main input voltage phase."
       INDEX { xPDUMainInputVoltagePhaseIndex }
       ::= { xPDUMainInputVoltageTable 1 }

   XPDUMainInputVoltagePhaseEntry ::= SEQUENCE {
       xPDUMainInputVoltagePhaseIndex      INTEGER,
       xPDUMainInputVoltageLtoL            INTEGER,
       xPDUMainInputVoltageLtoN            INTEGER
      }

   xPDUMainInputVoltagePhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each input phase entry in the table."
       ::= { xPDUMainInputVoltagePhaseEntry 1 }

   xPDUMainInputVoltageLtoL OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-line PDU input voltage when an isolation transformer is present, 
           or -1 if no transformer present in this PDU. Measured in tenths of Volts."
       ::= { xPDUMainInputVoltagePhaseEntry 2 }

   xPDUMainInputVoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-neutral PDU input voltage when an isolation transformer is not present,
           or -1 if a transformer is present in this PDU. Measured in tenths of Volts."
   ::= { xPDUMainInputVoltagePhaseEntry 3 }


xPDUBypassInputOverVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..30)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which a bypass input over voltage condition will be generated. 
       Specified as percent deviation from nominal."
   ::= { xPDUBypassInput 1 }

xPDUBypassInputUnderVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..30)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which an bypass input under voltage condition will be generated. 
       Specified as percent deviation from nominal."
   ::= { xPDUBypassInput 2 }

-- Bypass Input  Voltage Table

xPDUBypassInputVoltageTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of bypass input voltage entries."
   ::= { xPDUBypassInput 3 }
   
xPDUBypassInputVoltageTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF XPDUBypassInputVoltagePhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of output table entries.  The number of 
           entries are the phase entries.
           The number of entries is contained in the 
           xPDUBypassInputVoltageTableSize OID."
       ::= { xPDUBypassInput 4 }

   xPDUBypassInputVoltagePhaseEntry OBJECT-TYPE
       SYNTAX     XPDUBypassInputVoltagePhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular bypass input voltage phase."
       INDEX { xPDUBypassInputVoltagePhaseIndex }
       ::= { xPDUBypassInputVoltageTable 1 }

   XPDUBypassInputVoltagePhaseEntry ::= SEQUENCE {
       xPDUBypassInputVoltagePhaseIndex       INTEGER,
       xPDUBypassInputVoltageLtoL             INTEGER,
       xPDUBypassInputVoltageLtoN             INTEGER
      }

   xPDUBypassInputVoltagePhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Index of each bypass input phase entry in the table."
       ::= { xPDUBypassInputVoltagePhaseEntry 1 }

   xPDUBypassInputVoltageLtoL OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-line bypass input voltage, or -1 if no bypass 
           feed is present in this PDU. Measured in tenths of Volts"
       ::= { xPDUBypassInputVoltagePhaseEntry 2 }

   xPDUBypassInputVoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-neutral bypass input voltage, or -1 if no bypass
           feed is present in this PDU. Measured in tenths of Volts"
       ::= { xPDUBypassInputVoltagePhaseEntry 3 }

-- UPS Input Table

xPDUUPSInputVoltageTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of UPS input voltage entries."
   ::= { xPDUUPSInput 1 }
   
xPDUUPSInputVoltageTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF XPDUUPSInputVoltagePhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of UPS input table entries.  The number of 
           entries are the phase entries.
           The number of entries is contained in the 
           xPDUUPSInputVoltageTableSize OID."
       ::= { xPDUUPSInput 2 }

   xPDUUPSInputVoltagePhaseEntry OBJECT-TYPE
       SYNTAX     XPDUUPSInputVoltagePhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular UPS input voltage phase."
       INDEX { xPDUUPSInputVoltagePhaseIndex }
       ::= { xPDUUPSInputVoltageTable 1 }

   XPDUUPSInputVoltagePhaseEntry ::= SEQUENCE {
       xPDUUPSInputVoltagePhaseIndex      INTEGER,
       xPDUUPSInputVoltageLtoNPresent     INTEGER
      }

   xPDUUPSInputVoltagePhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each UPS input phase entry in the table."
       ::= { xPDUUPSInputVoltagePhaseEntry 1 }

  xPDUUPSInputVoltageLtoNPresent OBJECT-TYPE
    SYNTAX INTEGER  {
        notPresent  (1),
        present     (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not voltage is present at the UPS feed."
       ::= { xPDUUPSInputVoltagePhaseEntry 2 }

-- System Output

xPDUSystemOutputFrequency OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "The system output frequency in tenths of Hertz."
   ::= { xPDUSystemOutput 1 }

xPDUSystemOutputNeutralCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Shows the neutral current measured at the system output in tenths of Amps."
   ::= { xPDUSystemOutput 2 }

xPDUSystemOutputTotalPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Shows the total system output power in tenths of kW."
   ::= { xPDUSystemOutput 3 }

xPDUSystemOutputTotalApparentPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Shows the total system output power in tenths of kVA."
   ::= { xPDUSystemOutput 4 }

xPDUSystemOutputTotalPowerFactor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates the total power factor of the system output.
       A value of 100 representing a unity power factor (1.00).
       Measured in hundredths."
   ::= { xPDUSystemOutput 5 }

xPDUSystemOutputFrequencyTolerance OBJECT-TYPE
   SYNTAX     INTEGER{
      freqToleranceOff              (1),
      freqTolerancePointTwo         (2),
      freqTolerancePointFive        (3),
      freqToleranceOne              (4),
      freqToleranceOnePointFive     (5),
      freqToleranceTwo              (6),
      freqToleranceThree            (7),
      freqToleranceFour             (8),
      freqToleranceFive             (9),
      freqToleranceNine             (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Shows the circuit panel output frequency tolerance in Hertz."
   ::= { xPDUSystemOutput 6 }

xPDUSystemOutputMaxKWPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Defines 100% load in kW. 
       Purpose is to set to match UPS capabilities."
   ::= { xPDUSystemOutput 7 }

xPDUSystemOutputOverVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..30)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which an output over voltage condition will be generated. 
       Specified as percent deviation from nominal."
   ::= { xPDUSystemOutput 8 }

xPDUSystemOutputUnderVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..30)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which an output under voltage condition will be generated. 
       Specified as percent deviation from nominal."
   ::= { xPDUSystemOutput 9 }


xPDUSystemOutputOverCurrentThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which an over current condition will be generated. 
       Specified as a percent of the panel breaker rating."
   ::= { xPDUSystemOutput 10 }

xPDUSystemOutputOverCurrentNeutralThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which an Over current neutral condition will be generated. 
       Specified as a percent of the panel breaker rating."
   ::= { xPDUSystemOutput 11 }

xPDUSystemOutputUnderCurrentThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which an under current condition will be generated. 
       Specified as a percent of the panel breaker rating."
   ::= { xPDUSystemOutput 12 }

xPDUSystemOutputTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of System Output phase entries."
   ::= { xPDUSystemOutput 13 }
   
xPDUSystemOutputTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF XPDUSystemOutputPhaseEntry
   ACCESS     not-accessible
   STATUS     mandatory
   DESCRIPTION
      "A list of system output table entries.
       The number of entries is contained in the 
       xPDUSystemOutputTableSize OID."
   ::= { xPDUSystemOutput 14 }

   xPDUSystemOutputPhaseEntry OBJECT-TYPE
       SYNTAX     XPDUSystemOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular system output phase."
       INDEX { xPDUSystemOutputPhaseIndex }
       ::= { xPDUSystemOutputTable 1 }

   XPDUSystemOutputPhaseEntry ::= SEQUENCE {
       xPDUSystemOutputPhaseIndex      INTEGER,
       xPDUSystemOutputVoltageLtoL     INTEGER,
       xPDUSystemOutputVoltageLtoN     INTEGER,
       xPDUSystemOutputPhaseCurrent    INTEGER,
       xPDUSystemOutputPower           INTEGER,
       xPDUSystemOutputApparentPower   INTEGER,
       xPDUSystemOutputPowerFactor     INTEGER
      }

   xPDUSystemOutputPhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each output phase entry in the table."
       ::= { xPDUSystemOutputPhaseEntry 1 }

   xPDUSystemOutputVoltageLtoL OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-line system output voltage available at the cicuit panel. 
           Measured in tenths of Volts."
       ::= { xPDUSystemOutputPhaseEntry 2 }

   xPDUSystemOutputVoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-neutral system output voltage available at the cicuit panel. 
           Measured in tenths of Volts."
       ::= { xPDUSystemOutputPhaseEntry 3 }


   xPDUSystemOutputPhaseCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "System load current per phase. Measured in tenths of Amps."
       ::= { xPDUSystemOutputPhaseEntry 4 }

   xPDUSystemOutputPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "System output power per phase. Measured in tenths of kW."
       ::= { xPDUSystemOutputPhaseEntry 5 }

   xPDUSystemOutputApparentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "System output power per phase. Measured in tenths of kVA."
       ::= { xPDUSystemOutputPhaseEntry 6 }

   xPDUSystemOutputPowerFactor OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Indicates the Power Factor of the system output per phase.
           A value of 100 representing a unity Power Factor (1.00).
           Measured in hundredths."
       ::= { xPDUSystemOutputPhaseEntry 7 }

xPDUGroundCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Shows the current measured in the earth ground conductor in tenths of Amps."
   ::= { xPDUGroundMonitorPoint 1 }

xPDUGroundCurrentThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..50)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which a ground current over current 
       condition will be generated. Measured in tenths of Amps."
   ::= { xPDUGroundMonitorPoint 2 }

-- System Breakers 

xPDUSystemBreakerTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of system breaker entries."
   ::= { xPDUSystemBreakers 1 }
   
xPDUSystemBreakerTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF XPDUSystemBreakerTableEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of system breaker entries.
          The number of entries is contained in the 
          xPDUSystemBreakerTableSize OID."
       ::= { xPDUSystemBreakers 2 }

   xPDUSystemBreakerTableEntry OBJECT-TYPE
       SYNTAX     XPDUSystemBreakerTableEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular system breaker."
       INDEX { xPDUSystemBreakerTableIndex }
       ::= { xPDUSystemBreakerTable 1 }

   XPDUSystemBreakerTableEntry ::= SEQUENCE {
       xPDUSystemBreakerTableIndex    INTEGER,
       xPDUSystemBreakerDescription   DisplayString,
       xPDUSystemBreakerPosition      INTEGER
      }

   xPDUSystemBreakerTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Index of system breaker entries in the table."
       ::= { xPDUSystemBreakerTableEntry 1 }

xPDUSystemBreakerDescription OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..79))
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "A brief description of the system breakers."
   ::= { xPDUSystemBreakerTableEntry 2 }

   xPDUSystemBreakerPosition OBJECT-TYPE
       SYNTAX INTEGER  {
          open    (1),
          closed  (2)
       } 
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
          "Indicates whether this breaker is open(1) or closed(2)."
       ::= { xPDUSystemBreakerTableEntry 3 }

-- Branch Breakers (Breaker Panel)

xPDUNumOfBranchBreakers OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of branch breakers in the Panel."
   ::= { xPDUBranchBreakers 1 }

-- Branch Breakers Table

xPDUBranchBreakerTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of branch breaker entries."
   ::= { xPDUBranchBreakers 2 }
   
xPDUBranchBreakerTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF XPDUBranchBreakerEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of branch breaker table entries. The 
           number of entries is given by the value of xPDUBranchBreakerTableSize
           The number of entries is contained in the 
           xPDUBranchBreakerTableSize OID."
       ::= { xPDUBranchBreakers 3 }

   xPDUBranchBreakerEntry OBJECT-TYPE
       SYNTAX     XPDUBranchBreakerEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular branch breaker."
       INDEX { xPDUBranchBreakerTableIndex }
       ::= { xPDUBranchBreakerTable 1 }

   XPDUBranchBreakerEntry ::= SEQUENCE {
       xPDUBranchBreakerTableIndex             INTEGER,
       xPDUBranchBreakerRating                 INTEGER,
       xPDUBranchBreakerRDPFeed                INTEGER,
       xPDUBranchBreakerTieIndicator           INTEGER,
       xPDUBranchBreakerCurrent                INTEGER,
       xPDUBranchBreakerOverCurrentThreshold   INTEGER,
       xPDUBranchBreakerUnderCurrentThreshold  INTEGER
       }

   xPDUBranchBreakerTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Index of branch breaker entries in the table."
       ::= { xPDUBranchBreakerEntry 1 }

   xPDUBranchBreakerRating OBJECT-TYPE
       SYNTAX INTEGER (0..100)
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Indicates current rating of this breaker.  
           0=Breaker is not present.
           1=Earth leakage connection.
		   2=Neutral connection.
           A value greater than 2 indicates breaker current rating in Amps."
       ::= { xPDUBranchBreakerEntry 2 }

   xPDUBranchBreakerRDPFeed OBJECT-TYPE
       SYNTAX INTEGER  {
          remoteDistribution   (1),
          noRemoteDistribution (2)
       } 
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Indicates that a breaker position is feeding a remote 
           distribution panel."
       ::= { xPDUBranchBreakerEntry 3 }

   xPDUBranchBreakerTieIndicator OBJECT-TYPE
       SYNTAX INTEGER  {
          breakerTied   (1),
          breakerUntied (2)
       } 
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Indicates whether or not the breaker pole is physically 
           connected to the breaker immediately below."
       ::= { xPDUBranchBreakerEntry 4 }

    xPDUBranchBreakerCurrent OBJECT-TYPE
       SYNTAX INTEGER
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
          "Indicates the branch current in tenths of  Amps or -1 when not available."
       ::= { xPDUBranchBreakerEntry 5 }

    xPDUBranchBreakerOverCurrentThreshold OBJECT-TYPE
       SYNTAX INTEGER (0..100)
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Threshold above which a branch circuit over current 
           condition will be generated. 
           Specified as a percent of the branch breaker rating."
       ::= { xPDUBranchBreakerEntry 6 }

    xPDUBranchBreakerUnderCurrentThreshold OBJECT-TYPE
       SYNTAX INTEGER (0..100)
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Threshold below which a branch circuit under current 
           condition will be generated. 
           Specified as a percent of the branch breaker rating."
       ::= { xPDUBranchBreakerEntry 7 }

-- the xPDUInputContacts group

xPDUInputContactNumContacts OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts supported by the PDU."
   ::= { xPDUInputContacts 1 }

xPDUInputContactTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of input contact entries."
   ::= { xPDUInputContacts 2 }

xPDUInputContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XPDUInputContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the PDU.
       The number of entries is contained in the 
       xPDUInputContactTableSize OID."
   ::= { xPDUInputContacts 3 }

xPDUInputContactEntry OBJECT-TYPE
   SYNTAX XPDUInputContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A contact entry containing information for a given contact."
   INDEX  { xPDUInputContactNumber }
   ::= { xPDUInputContactTable 1 }

XPDUInputContactEntry ::=
   SEQUENCE {
      xPDUInputContactNumber       INTEGER,
      xPDUInputContactName         DisplayString,
      xPDUInputContactNormalState  INTEGER,
      xPDUInputContactCurrentState INTEGER
   }

xPDUInputContactNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An index identifying the contact on the PDU."
   ::= { xPDUInputContactEntry 1 }

xPDUInputContactName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The description of the purpose/use of the contact."
   ::= { xPDUInputContactEntry 2 }

xPDUInputContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      open    (1),
      closed  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal operating position of the contact."
   ::= { xPDUInputContactEntry 3 }

xPDUInputContactCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      open    (1),
      closed  (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This value indicates the current state of the contact."
   ::= { xPDUInputContactEntry 4 }

-- the xPDUOutputRelays group

xPDUOutputRelaysNumRelays OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of output relays supported by the PDU."
   ::= { xPDUOutputRelays 1 }

xPDUOutputRelaysTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of output relay entries."
   ::= { xPDUOutputRelays 2 }

xPDUOutputRelayTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XPDUOutputRelayEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of output relays supported by the PDU.
       The number of entries is contained in the 
       xPDUOutputRelayTableSize OID."
   ::= { xPDUOutputRelays 3 }

xPDUOutputRelayEntry OBJECT-TYPE
   SYNTAX XPDUOutputRelayEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A output relay entry containing information for a given contact."
   INDEX  { xPDUOutputRelayNumber }
   ::= { xPDUOutputRelayTable 1 }

XPDUOutputRelayEntry ::=
   SEQUENCE {
      xPDUOutputRelayNumber        INTEGER,
      xPDUOutputRelayName          DisplayString,
      xPDUOutputRelayNormalState   INTEGER,
      xPDUOutputRelayCurrentState  INTEGER
   }

xPDUOutputRelayNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An index identifying the output relay on the PDU."
   ::= { xPDUOutputRelayEntry 1 }

xPDUOutputRelayName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The description of the purpose/use of the output relay."
   ::= { xPDUOutputRelayEntry 2 }

xPDUOutputRelayNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      open     (1),
      closed   (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal operating position of the output relay."
   ::= { xPDUOutputRelayEntry 3 }

xPDUOutputRelayCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      open      (1),
      closed    (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This value indicates the current state of the output relay."
   ::= { xPDUOutputRelayEntry 4 }

-- the xPDUMiscGroup

xPDUEPOMode OBJECT-TYPE
    SYNTAX INTEGER  {
        armed    (1),
        disarmed (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether the EPO System is armed(1) or disarmed(2)."
       ::= { xPDUMiscGroup 1 }

xPDUTransformTempStatus OBJECT-TYPE
    SYNTAX INTEGER  {
        normal               (1),
        overtemp             (2),
		noTransformerPresent (3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates if the PDU's isolation transformer is over temperature."
   ::= { xPDUMiscGroup 2 }

xPDUCoolingFanStatus OBJECT-TYPE
    SYNTAX INTEGER  {
        normal                (1),
        failed                (2),
		noCoolingFansPresent  (3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates if one or more of the PDU's cooling fans have failed."
   ::= { xPDUMiscGroup 3 }

-- The xATSIdent group

xATSIdentProductName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the transfer switch unit."
   ::= { xATSIdent 1 }

xATSIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the transfer switch. 
       This value is set at the factory."
   ::= { xATSIdent 2 }

xATSIdentFirmwareAppRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ID string identifying the application firmware revision of the  transfer switch." 
   ::= {  xATSIdent 3 }

xATSIdentFirmwareAppOSRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ID string identifying the application operating system firmware revision of the transfer switch." 
   ::= {  xATSIdent 4 }

xATSIdentFirmwareControllerRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ID string identifying the transfer switch controller firmware revision." 
   ::= {  xATSIdent 5 }

xATSIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the transfer switch was manufactured in mm/dd/yyyy format. 
       This value is set at the factory." 
   ::= { xATSIdent 6 }
   
xATSIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the model number of the transfer switch.
       This value is set at the factory."
   ::= { xATSIdent 7 }

xATSIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the serial number of the transfer switch.
        This value is set at the factory."
   ::= { xATSIdent 8 }

--  The xATSDevice group

xATSDeviceServiceType OBJECT-TYPE
    SYNTAX INTEGER  {
        threeWire  (1),
        fourWire   (2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The type of utility input to the transfer switch.
       Either 3 wires (delta), or 4 wires (wye)."
   ::= { xATSDevice 1 }

xATSDeviceNominalVoltage OBJECT-TYPE
       SYNTAX     INTEGER 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
      "The nominal line-to-neutral system voltage.
       Measured in Volts,  line-to-line for a 3-wire service or 
       line-to-neutral for a 4-wire service. -1 if not available."
   ::= { xATSDevice 2 }

xATSDeviceNominalFrequency OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "The nominal system frequency. Measured in tenths of Hertz.
       -1 if not available."
   ::= { xATSDevice 3 }

xATSDeviceTransferSwitchRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The rating of the transfer switch.
       Measured in Amps."
   ::= { xATSDevice 4 }

xATSDeviceDCBackUpPresent OBJECT-TYPE
   SYNTAX     INTEGER{
      yes     (1),
      no      (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Indicates if a DC backup is present or not."
   ::= { xATSDevice 5 }

-- The xATS Switch Status group

xATSSwitchStatusSelectedSource OBJECT-TYPE
   SYNTAX     INTEGER{
      none         (1),
      source1      (2),
      source2      (3),
      fault        (4),
      unknown      (5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The source which is currently selected, i.e. supplying power to the load."
   ::= { xATSSwitchStatus 1 }
   
xATSSwitchStatusOperationalMode OBJECT-TYPE
   SYNTAX     INTEGER{
      automatic                 (1),
      notInAutoAbnormal         (2),
      notInAuto                 (3),
      unknown                   (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current operating mode of the transfer switch. When the ATS is in
       automatic mode, generator starting and ATS transferring is all done automatically
       as needed based on the state of source 1.  Automatic operation is halted when the
       ATS is in either of the notInAuto modes.
       A mode of notInAuto indicates that the automatic operation switch is in the
       disabled position, as indicated by the xATSSwitchStatusAutomaticOperationSwitch OID.
       The notInAutoAbnormal condition indicates that an abnormal
       condition has caused the transfer switch to halt automatic operation.
       In this case, traps can indicate the exact problem. In the case of
       notInAutoAbnormal, refer to the operation manual for details
       on how debug the condition and restore automatic operation."
   ::= { xATSSwitchStatus 2 }

xATSSwitchStatusAutomaticOperationSwitch OBJECT-TYPE
   SYNTAX     INTEGER{
      disabled   (1),
      enabled    (2),
      unknown    (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The position of the automatic operation switch on the front of the transfer switch."
   ::= { xATSSwitchStatus 3 }

xATSSwitchStatusEngineStartSignal OBJECT-TYPE
   SYNTAX     INTEGER{
      run     (1),
      stop    (2),
      unknown (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The position of the Start/Stop contact which signals the generator
       engine to start/run. When the ATS is in automatic mode,
       generator starting/stopping is under ATS control."
   ::= { xATSSwitchStatus 4 }

-- The xATS Switch Setting group

xATSSwitchSettingsLowVoltageTransferPoint OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The lowest acceptable voltage condition at source 1. 
       When any phase of source 1 is lower than this voltage,
       source quality is considered bad and the generator run signal
       is asserted to begin generator operation. 
       Specified in volts,  line-to-line for a 3-wire service or 
       line-to-neutral for a 4-wire service.
       -1 if not available."
   ::= { xATSSwitchSettings 1 }

xATSSwitchSettingsHighVoltageTransferPoint OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The highest acceptable voltage condition at source 1. 
       When any phase of source 1 is greater than this voltage,
       source quality is considered bad and the generator run signal
       is asserted to begin generator operation. 
       Specified in volts,  line-to-line for a 3-wire service or 
       line-to-neutral for a 4-wire service.
       -1 if not available."
   ::= { xATSSwitchSettings 2 }

xATSSwitchSettingsMaxFrequencyDeviation OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum acceptable frequency deviation condition from nominal at source 1. 
       When source 1 frequency is outside the specified range,
       source quality is considered bad and the generator run signal
       is asserted to begin generator operation. 
       Specified in  tenths of Hertz above or below nominal.
       A value of zero indicates that frequency is ignored when 
       determining source quality.
       -1 if not available."
   ::= { xATSSwitchSettings 3 }

xATSSwitchSettingsMinPhaseBalance OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum required phase balance at source 1. 
       When the percentage difference between the minimum and maximum 
       phase voltage measurements at source 1 is greater than this value,
       source quality is considered bad and the generator run signal
       is asserted to begin generator operation.
       Specified as a percentage. A value of zero indicates that phase balance
        is ignored when determining source quality.
       -1 if not available."
   ::= { xATSSwitchSettings 4 }

xATSSwitchSettingsNominalRotation OBJECT-TYPE
   SYNTAX     INTEGER{
      abc     (1),
      cba     (2),
      any     (3),
      unknown (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The nominal phase rotation (or phase sequence) required by the load.
       For certain types of equipment, such as rotating machinery, phase rotation
       is critical for proper operation as it determines the direction which motors
       will rotate (clockwise or counterclockwise).
       Source quality will be seen as bad if the rotation measured at that
       ATS input does not match this setting.
       If this setting is set to any, phase rotation is ignored."
   ::= { xATSSwitchSettings 5 }

xATSSwitchSettingsAllowClosedTransfer OBJECT-TYPE
   SYNTAX INTEGER{
      yes     (1),
      no      (2),
      unknown (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This setting enables seemless (closed) transfers between sources. 
       When possible, both source 1 and source 2 are closed to the output 
       for a brief time. If closed transfer is not possible within the amount
       of time specified by the xATSSwitchSettingsMaxSyncTime OID,
       an open transfer will be executed."
   ::= { xATSSwitchSettings 6 }

xATSSwitchSettingsMaxSyncTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "When attempting/seeking to perform a closed transfer, this setting defines
       the maximum time allowed before the transfer switch will give up and perform
       an open transfer. Specified in seconds.
       -1 if not available."
   ::= { xATSSwitchSettings 7 }

xATSSwitchSettingsNeutralTransferTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This setting defines how long both source 1 and source 2 will be 
       disconnected from the output, during an open transfer. 
       Specified in seconds.
       -1 if not available."
   ::= { xATSSwitchSettings 8 }

xATSSwitchSettingsClearLatchedAlarms OBJECT-TYPE
   SYNTAX INTEGER{
      yes        (1),
      no         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Clears any latched alarm conditions."
   ::= { xATSSwitchSettings 9 }
   
xATSSwitchSettingsSetToFactoryDefaults OBJECT-TYPE
   SYNTAX INTEGER{
      yes        (1),
      no         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Sets all transfer switch settings to factory default values."
   ::= { xATSSwitchSettings 10 }


-- The xATSSwitchTimers group

   xATSSwitchTimersTableSize OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "The number of transfer switch timer entries."
     ::= { xATSSwitchTimers 1 }

   xATSSwitchTimersTable OBJECT-TYPE
     SYNTAX SEQUENCE OF XATSSwitchTimersEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "A list of timers supported by ATS.
         The number of entries is contained in the xATSSwitchTimersTableSize OID."
     ::= { xATSSwitchTimers 2 }

   xATSSwitchTimersEntry OBJECT-TYPE
     SYNTAX XATSSwitchTimersEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "An entry containing information about an individual ATS timer."
     INDEX  { xATSSwitchTimersIndex }
     ::= { xATSSwitchTimersTable 1 }

   XATSSwitchTimersEntry ::=
     SEQUENCE {
        xATSSwitchTimersIndex                INTEGER,
        xATSSwitchTimersName                 DisplayString,
        xATSSwitchTimersAbort                INTEGER,
        xATSSwitchTimersStatus               INTEGER,
        xATSSwitchTimersRemainingTime        INTEGER,
        xATSSwitchTimersDelaySetting         INTEGER
     }

xATSSwitchTimersIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Index of timer entries in the table."
   ::= { xATSSwitchTimersEntry 1 }

xATSSwitchTimersName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Name of the individual timer.Refer to ATS operation manual,
       or on-line help, for detailed descriptions of ATS timers."
   ::= { xATSSwitchTimersEntry 2 }

xATSSwitchTimersAbort OBJECT-TYPE
   SYNTAX INTEGER{
      yes  (1),
      no   (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This aborts the individual timer."
   ::= { xATSSwitchTimersEntry 3 }

xATSSwitchTimersStatus OBJECT-TYPE
   SYNTAX INTEGER{
      inactive  (1),
      active    (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the individual timer. Designates whether this timer
       entry is currently running or inactive."
   ::= { xATSSwitchTimersEntry 4 }
   
xATSSwitchTimersRemainingTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The time remaining for this timer entry.
       Specified in seconds."
   ::= { xATSSwitchTimersEntry 5 }

xATSSwitchTimersDelaySetting OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay settings associated with this timer entry.
       When this timer entry is active, the timer value must exceed this setting
       before the ATS behavior associated with this timer is executed.
       Refer to ATS operation manual, or on-line help, for detailed 
       descriptions of ATS timers."
   ::= { xATSSwitchTimersEntry 6 }

-- The xATSSwitchBlockMap group

   xATSSwitchBlockMapTableSize OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "The number of blocking map entries, or how many ATS actions can be blocked."
     ::= { xATSSwitchBlockMap 1 }

   xATSSwitchBlockMapTable OBJECT-TYPE
     SYNTAX SEQUENCE OF XATSSwitchBlockMapEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "A list of blocking maps supported by the ATS.
         The number of entries is contained in the xATSSwitchBlockMapTableSize OID."
     ::= { xATSSwitchBlockMap 2 }

   xATSSwitchBlockMapEntry OBJECT-TYPE
     SYNTAX XATSSwitchBlockMapEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "An entry containing information about a specific ATS blocking map."
     INDEX  { xATSSwitchBlockMapIndex }
     ::= { xATSSwitchBlockMapTable 1 }

   XATSSwitchBlockMapEntry ::=
     SEQUENCE {
        xATSSwitchBlockMapIndex            INTEGER,
        xATSSwitchBlockMapName             DisplayString,
        xATSSwitchBlockMapStatus           INTEGER,
        xATSSwitchBlockMapSetting          INTEGER
    }

   xATSSwitchBlockMapIndex OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "Index of blocking map entries in the table."
     ::= { xATSSwitchBlockMapEntry 1 }

   xATSSwitchBlockMapName OBJECT-TYPE
     SYNTAX DisplayString
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "A string describing the ATS action to be blocked."
     ::= { xATSSwitchBlockMapEntry 2 }
     
   xATSSwitchBlockMapStatus OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
       "Represents the status of this blocking map entry, in bit-mapped format.
        A non-zero value indicates that this entry's ATS action is currently being blocked.
        The bit(s) set indicate which input(s) are causing the blocking (bit0, bit1, etc).

        bit 0 - Contact 1
        bit 1 - Contact 2
        bit 2 - Contact 3
        bit 3 - Contact 4."
     ::= { xATSSwitchBlockMapEntry 3 }

   xATSSwitchBlockMapSetting OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
       "This setting designates the inputs that block the ATS action
        The mapping is specified as a bit-field, where each bit set indicates
        the input that blocks the ATS action associated with the entry.

        bit 0 - Contact 1
        bit 1 - Contact 2
        bit 2 - Contact 3
        bit 3 - Contact 4."
     ::= { xATSSwitchBlockMapEntry 4 }

-- The xATSSwitchStatistics group

   xATSSwitchStatisticsTableSize OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "The number of transfer switch statistics entries."
     ::= { xATSSwitchStatistics 1 }

   xATSSwitchStatisticsTable OBJECT-TYPE
     SYNTAX SEQUENCE OF XATSSwitchStatisticsEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "A list of statistics supported by ATS.
         The number of entries is contained in the xATSSwitchStatisticsTableSize OID."
     ::= { xATSSwitchStatistics 2 }

   xATSSwitchStatisticsEntry OBJECT-TYPE
     SYNTAX XATSSwitchStatisticsEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "An entry containing information about an individual ATS statistic."
     INDEX  { xATSSwitchStatisticsIndex }
     ::= { xATSSwitchStatisticsTable 1 }

   XATSSwitchStatisticsEntry ::=
     SEQUENCE {
        xATSSwitchStatisticsIndex             INTEGER,
        xATSSwitchStatisticsName              DisplayString,
        xATSSwitchStatisticsValue             DisplayString,
        xATSSwitchStatisticsReset             INTEGER
     }

   xATSSwitchStatisticsIndex OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "Index of ATS statistics entries in the table."
     ::= { xATSSwitchStatisticsEntry 1 }

   xATSSwitchStatisticsName OBJECT-TYPE
     SYNTAX     DisplayString
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
       "This is the name of the ATS statistic associated with this entry."
     ::= { xATSSwitchStatisticsEntry 2 }

   xATSSwitchStatisticsValue OBJECT-TYPE
     SYNTAX     DisplayString
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
       "This is the value of the ATS statistic associated with this entry."
     ::= { xATSSwitchStatisticsEntry 3 }

   xATSSwitchStatisticsReset OBJECT-TYPE
     SYNTAX INTEGER{
       yes   (1),
       no    (2)
     }
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
       "This will reset the individual ATS statistic associated with this entry."
     ::= { xATSSwitchStatisticsEntry 4 }

-- The xATS Source 1 group

xATSSource1Name OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String used to identify source 1."
   ::= { xATSSource1 1 }

xATSSource1Position OBJECT-TYPE
   SYNTAX INTEGER{
      open     (1),
      closed   (2),
      tripped  (3),
      unknown  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current position of the switch at source 1."
   ::= { xATSSource1 2 }

xATSSource1Frequency OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frequency at source 1 in tenths of Hertz.
       -1 if unavailable."
   ::= { xATSSource1 3 }

xATSSource1Quality OBJECT-TYPE
   SYNTAX INTEGER{
      sourceGood        (1),
      lowVoltage        (2),
      highVoltage       (3),
      phaseImbalance    (4),
      freqOutOfRange    (5),
      badRotation       (6),
      unknown           (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current line quality of source 1."
   ::= { xATSSource1 4 }

xATSSource1Rotation OBJECT-TYPE
   SYNTAX INTEGER{
      abc     (1),
      cba     (2),
      unknown (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The phase rotation measured at the source 1 input of the ATS.
       The sequence is a reference to the order in which the three phases 
       pass the zero-crossing boundary in time."
   ::= { xATSSource1 5 }

xATSSource1TableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of input voltage entries at the source 1 input of the ATS."
   ::= { xATSSource1 6 }

   xATSSource1Table OBJECT-TYPE
       SYNTAX     SEQUENCE OF XATSSource1PhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of voltage table entries for source 1. The number of 
           entries are the phase entries. The number of entries is contained in the 
           xATSSource1TableSize OID."
       ::= { xATSSource1 7 }

   xATSSource1PhaseEntry OBJECT-TYPE
       SYNTAX     XATSSource1PhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a
           particular input voltage phase at the source 1 input of the ATS."
       INDEX { xATSSource1Index }
       ::= { xATSSource1Table 1 }

   XATSSource1PhaseEntry ::= SEQUENCE {
       xATSSource1Index        INTEGER,
       xATSSource1VoltageLtoL  INTEGER,
       xATSSource1VoltageLtoN  INTEGER
      }

   xATSSource1Index OBJECT-TYPE
       SYNTAX INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each phase utilized at source 1."
       ::= { xATSSource1PhaseEntry 1 }

   xATSSource1VoltageLtoL OBJECT-TYPE
       SYNTAX INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Source 1 line-to-line input voltage. 
           Measured in tenths of Volts."
       ::= { xATSSource1PhaseEntry 2 }

   xATSSource1VoltageLtoN OBJECT-TYPE
       SYNTAX INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Source 1 line-to-neutral input voltage. 
           Measured in tenths of Volts. -1 for a 3-wire service type."
   ::= { xATSSource1PhaseEntry 3 }

-- The xATS Source 2 group

xATSSource2Name OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "String used to identify source 2."
   ::= { xATSSource2 1 }

xATSSource2Position OBJECT-TYPE
   SYNTAX INTEGER{
      open     (1),
      closed   (2),
      tripped  (3),
      unknown  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current position of the switch at source 2."
   ::= { xATSSource2 2 }

xATSSource2Frequency OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frequency at source 2 in tenths of Hertz.
       -1 if not available."
   ::= { xATSSource2 3 }

xATSSource2Quality OBJECT-TYPE
   SYNTAX INTEGER{
      sourceGood        (1),
      lowVoltage        (2),
      highVoltage       (3),
      phaseImbalance    (4),
      freqOutOfRange    (5),
      badRotation       (6),
      unknown           (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current line quality of source 2."
   ::= { xATSSource2 4 }

xATSSource2Rotation OBJECT-TYPE
   SYNTAX INTEGER{
      abc     (1),
      cba     (2),
      unknown (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The phase rotation measured at the source 2 input of the ATS.
       -1 if not available."
   ::= { xATSSource2 5 }

xATSSource2TableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of input voltage entries at the source 2 input of the ATS."
   ::= { xATSSource2 6 }

   xATSSource2Table OBJECT-TYPE
       SYNTAX     SEQUENCE OF XATSSource2PhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "A list of voltage table entries for the source 2. The number of
           entries are the phase entries. The number of entries is contained in the
           xATSSource2TableSize OID."
       ::= { xATSSource2 7 }

   xATSSource2PhaseEntry OBJECT-TYPE
       SYNTAX     XATSSource2PhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a
           particular input voltage phase at the source 2 input of the ATS."
       INDEX { xATSSource2Index }
       ::= { xATSSource2Table 1 }

   XATSSource2PhaseEntry ::= SEQUENCE {
       xATSSource2Index        INTEGER,
       xATSSource2VoltageLtoL  INTEGER,
       xATSSource2VoltageLtoN  INTEGER
      }

   xATSSource2Index OBJECT-TYPE
       SYNTAX INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each phase utilized at the source 2."
       ::= { xATSSource2PhaseEntry 1 }

   xATSSource2VoltageLtoL OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Source 2 line-to-line input voltage. 
           Measured in tenths of Volts."
       ::= { xATSSource2PhaseEntry 2 }

   xATSSource2VoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Source 2 line-to-neutral input voltage. 
           Measured in tenths of Volts. -1 for a 3-wire service type."
   ::= { xATSSource2PhaseEntry 3 }

-- The xATSSystemOutput

xATSSystemOutputFrequency OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "The system output frequency in tenths of Hertz."
   ::= { xATSSystemOutput 1 }

xATSSystemOutputTotalPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Shows the total system output power in tenths of kW."
   ::= { xATSSystemOutput 2 }

xATSSystemOutputTotalApparentPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Shows the total system output power in tenths of kVA."
   ::= { xATSSystemOutput 3 }

xATSSystemOutputTotalPowerFactor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates the total power factor of the system output.
       A value of 100 representing a unity power factor (1.00)
       Specified in hundredths."
   ::= { xATSSystemOutput 4 }

xATSSystemOutputFrequencyTolerance OBJECT-TYPE
   SYNTAX     INTEGER{
      freqToleranceOff              (1),
      freqTolerancePointTwo         (2),
      freqTolerancePointFive        (3),
      freqToleranceOne              (4),
      freqToleranceOnePointFive     (5),
      freqToleranceTwo              (6),
      freqToleranceThree            (7),
      freqToleranceFour             (8),
      freqToleranceFive             (9),
      freqToleranceNine             (10)

   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Shows the panel output frequency tolerance in +/- Hertz."
   ::= { xATSSystemOutput 5 }

xATSSystemOutputOverVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which an output over voltage condition will be generated. 
       Specified as tenths of percent deviation from nominal.
       A value of zero indicates that the threshold is disabled."
   ::= { xATSSystemOutput 6 }

xATSSystemOutputUnderVoltThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which an output under voltage condition will be generated. 
       Specified as tenths of percent deviation from nominal.
       A value of zero indicates that the threshold is disabled."
   ::= { xATSSystemOutput 7 }

xATSSystemOutputOverCurrentThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which an over current condition will be generated. 
       Specified as a percent of the transfer switch rating (xATSDeviceTransferSwitchRating OID).
       A value of zero indicates that the threshold is disabled."
   ::= { xATSSystemOutput 8 }

xATSSystemOutputUnderCurrentThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which an under current condition will be generated. 
       Specified as a percent of the transfer switch rating (xATSDeviceTransferSwitchRating OID).
       A value of zero indicates that the threshold is disabled."
   ::= { xATSSystemOutput 9 }

xATSSystemOutputAlarmDelayThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Delay the generation of an output alarm.
       Specified in seconds."
   ::= { xATSSystemOutput 10 }

xATSSystemOutputTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of system output phase entries."
   ::= { xATSSystemOutput 11 }
   
xATSSystemOutputTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF XATSSystemOutputPhaseEntry
   ACCESS     not-accessible
   STATUS     mandatory
   DESCRIPTION
      "A list of system output table entries.
       The number of entries is contained in the xATSSystemOutputTableSize OID."
   ::= { xATSSystemOutput 12 }

   xATSSystemOutputPhaseEntry OBJECT-TYPE
       SYNTAX     XATSSystemOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular system output phase."
       INDEX { xATSSystemOutputPhaseIndex }
       ::= { xATSSystemOutputTable 1 }

   XATSSystemOutputPhaseEntry ::= SEQUENCE {
       xATSSystemOutputPhaseIndex      INTEGER,
       xATSSystemOutputVoltageLtoL     INTEGER,
       xATSSystemOutputVoltageLtoN     INTEGER,
       xATSSystemOutputPhaseCurrent    INTEGER,
       xATSSystemOutputPower           INTEGER,
       xATSSystemOutputApparentPower   INTEGER,
       xATSSystemOutputPowerFactor     INTEGER
      }

   xATSSystemOutputPhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each system output phase utilized in this device."
       ::= { xATSSystemOutputPhaseEntry 1 }

   xATSSystemOutputVoltageLtoL OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-line system output voltage, measured in tenths of Volts, available at the circuit panel. 
           -1 if not available."
       ::= { xATSSystemOutputPhaseEntry 2 }

   xATSSystemOutputVoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-neutral system output voltage, measured in tenths of Volts, available at the circuit panel. 
           -1 for a 3-wire service type or if not available."
       ::= { xATSSystemOutputPhaseEntry 3 }

   xATSSystemOutputPhaseCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "System load current per phase. Measured in Amps.
           -1 if not available."
       ::= { xATSSystemOutputPhaseEntry 4 }

   xATSSystemOutputPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "System output power per phase. Measured in tenths of kW."
       ::= { xATSSystemOutputPhaseEntry 5 }

   xATSSystemOutputApparentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "system output power per phase. Measured in tenths of kVA."
       ::= { xATSSystemOutputPhaseEntry 6 }

   xATSSystemOutputPowerFactor OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "indicates the power factor of the system output per phase.
           A value of 100 representing a unity power factor (1.00).
           Measured in hundredths."
       ::= { xATSSystemOutputPhaseEntry 7 }

-- xATS TestingStatus group

xATSTestingStatusSelectTestProcess OBJECT-TYPE
   SYNTAX INTEGER {
      engineStartTest      (1),
      systemLoadTest       (2),
      generatorHoldTest    (3),
      cancelTest           (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Type of tests that can be selected when no test has been scheduled.
       engineStartTest and systemLoadTest may be selected when no tests 
       are running.  Tests that are selected may be cancelled manually."
   ::= { xATSTestingStatus 1 }
   
xATSTestingStatusTestStatus OBJECT-TYPE
     SYNTAX INTEGER {
        noTestInProcess           (1),
        testPending               (2),
        startingEngine            (3),
        engineWarmingUp           (4),
        awaitingTransferToS2      (5),
        testingWithLoad           (6),
        awaitingRetransferToS1    (7),
        testingWithoutLoad        (8),
        stoppingEngine            (9),
        holdingOnGenerator        (10)
     }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The present system test status/state."
   ::= { xATSTestingStatus 2 }

xATSTestingStatusProfileWarmupTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time that the generator will warm up during a test.
       This is portion of the test when the xATSTestingStatusTestStatus 
       OID returns the value engineWarmingUp.
       Specified in seconds."
   ::= { xATSTestingStatus 3 }

xATSTestingStatusProfileLoadedTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time that ATS will apply the system load to the generator
       during a system load test.
       This is portion of the test when the xATSTestingStatusTestStatus 
       OID returns the value testingWithLoad.
       Specified in minutes."
   ::= { xATSTestingStatus 4 }

xATSTestingStatusProfileUnloadedTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time that the generator will run following the warm up 
       portion of a start test, or the loaded portion of a load test.
       This is portion of the test when the xATSTestingStatusTestStatus 
       OID returns the value testingWithoutLoad.
       Specified in seconds."
   ::= { xATSTestingStatus 5 }

-- xATS TestingResults group

xATSTestingResultsLastDateOfTest OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Date of the last test that was performed, either scheduled or manual.
       Test results are available in the xATSTestingResultsLastResult OID.
       Specified in the dd/mm/yyyy format, or 'none' if not available."
   ::= { xATSTestingResults 1 }

xATSTestingResultsLastResult OBJECT-TYPE
   SYNTAX INTEGER {
      startTestPassed           (1),
      loadTestPassed            (2),
      startSignalFailure        (3),
      failedGenNotInAuto        (4),
      failedGenEmerStop         (5),
      failedGenShutdown         (6),
      failedGenDidNotStart      (7),
      failedS2NeverGood         (8),
      genFailedDuringWarmup     (9),
      failureOnXferToS1         (10),
      genFailedLoaded           (11),
      failureOnRexferToS2       (12),
      genFailedToStop           (13),
      failedAtsInternalFault    (14),
      failedAtsNotInAuto        (15),
      cancelledManualTest       (16),
	  cancelledScheduledTest    (17)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The result of the last ATS/generator system test."
   ::= { xATSTestingResults 2 }

xATSTestingResultsTestLastTestTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Time of day at which the last test was performed, either scheduled or manual. 
       Test results are available in the xATSTestingResultsLastResult OID.
       Specified in the hh:mm:ss format, or 'none' if not available."
   ::= { xATSTestingResults 3 }

xATSTestingResultsLastCrankDuration OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The time spent cranking the generator before it started during the last test.
       Specified in seconds, or -1 if not available."
   ::= { xATSTestingResults 4 }
   
xATSTestingResultsLastWarmupDuration OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The time spent in the engineWarmingUp state during the last system test.
       Specified in seconds, or -1 if not available."
   ::= { xATSTestingResults 5 }

xATSTestingResultsLastLoadedDuration OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The time spent in the testingWithLoad state during the last system test.
       Specified in seconds, or -1 if not available."
   ::= { xATSTestingResults 6 }

xATSTestingResultsLastUnloadedDuration OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The time spent in the testingWithoutLoad state during the last system test.
       Specified in seconds, or -1 if not available."
   ::= { xATSTestingResults 7 }

-- xATS TestingSchedule group

xATSTestingScheduleFrequency OBJECT-TYPE
    SYNTAX INTEGER  {
        never   (1),
        daily   (2),
        weekly  (3),
        monthly (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The frequency of running scheduled tests."
   ::= { xATSTestingSchedule 1 }

xATSTestingScheduleTestDay OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The desired day for the scheduled test. This object applies only
       when the xATSTestingScheduleFrequency OID is set to weekly or monthly.
       For weekly test frequency, the string is the day the test will be run.
       For monthly test frequency, the string indicates the day, 
       and the instance within the month.
       For example, for monthly frequency: 2nd sunday, 3rd monday, 4th tuesday,
                    for weekly frequency: sunday, monday, tuesday."
   ::= { xATSTestingSchedule 2 }

xATSTestingScheduleTestTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time of day that the scheduled test will occur.
       Specified in the format hh:mm."
   ::= { xATSTestingSchedule 3 }

xATSTestingScheduleTestWithLoadInterval OBJECT-TYPE
   SYNTAX INTEGER {
      applyLoadEveryTest          (1),
      neverApplyLoad              (2),
      applyLoadMonthly            (3),
      applyLoadMonthlyDetailed    (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This setting specifies which system tests should include applying the
       load to the generator. The applyLoadMonthlyDetailed entry
       in the list will apply load once, for each month represented in the
       xATSTestingScheduleTestWithLoadSelectMonth OID."
   ::= { xATSTestingSchedule 4 }

xATSTestingScheduleTestWithLoadSelectMonth OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The detailed selection for testing with load on a month-by-month basis.
       This object is applicable when the xATSTestingScheduleTestWithLoadInterval
       is set to applyLoadMonthlyDetailed. Otherwise this selection will be ignored.
       Format for this string is a comma-separated entry of months.
       For example: Jan,Mar,Dec.
       The string will return 'No Months Scheduled' if no months have been selected."
   ::= { xATSTestingSchedule 5 }

xATSTestingScheduleNextTestDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of the next scheduled test, in the format dd-mmm-yyyy."
   ::= { xATSTestingSchedule 6 }

-- xATSTestingSimulatePowerFail group

xATSTestingSimulatePowerFailTest OBJECT-TYPE
   SYNTAX     INTEGER{
      cancelSimulation         (1),
      fiveSecondsSimulation    (2),
      tenSecondsSimulation     (3),
      thirtySecondsSimulation  (4),
      oneMinuteSimulation      (5),
      threeMinutesSimulation   (6),
      fiveMinutesSimulation    (7),
      tenMinutesSimulation     (8)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This object executes a simulated power failure for the duration indicated.
       Simulation can be aborted by selecting cancelSimulation."
   ::= { xATSTestingSimulatePowerFail 1 }

xATSTestingSimulatePowerFailTimeRemaining OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "Indicates the time remaining in seconds, for a simulated power failure.
       a value of zero indicates that simulated power failure is not active."
   ::= { xATSTestingSimulatePowerFail 2 }

-- The xATS Input Contact group

xATSInputContactNumContacts OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts supported by the ATS."
   ::= { xATSInputContacts 1 }

xATSInputContactTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of input contact entries."
   ::= { xATSInputContacts 2 }

xATSInputContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XATSContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the ATS.
       The number of entries is contained in the 
       xATSInputContactTableSize OID."
   ::= { xATSInputContacts 3 }

   xATSInputContactEntry OBJECT-TYPE
      SYNTAX XATSContactEntry
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION
         "A contact entry containing information for a given contact."
      INDEX  { xATSInputContactNumber }
      ::= { xATSInputContactTable 1 }

   XATSContactEntry ::=
      SEQUENCE {
         xATSInputContactNumber    INTEGER,
         xATSInputContactName      DisplayString,
         xATSInputContactNormalState           INTEGER,
         xATSInputContactCurrentState          INTEGER
      }

   xATSInputContactNumber OBJECT-TYPE
      SYNTAX INTEGER
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
         "An index identifying the contact on the ATS."
      ::= { xATSInputContactEntry 1 }

   xATSInputContactName OBJECT-TYPE
     SYNTAX DisplayString
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
        "The description of the purpose/use of the contact."
     ::= { xATSInputContactEntry 2 }

   xATSInputContactNormalState OBJECT-TYPE
     SYNTAX INTEGER {
        open   (1),
        closed (2)
     }
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
        "The normal operating position of the contact."
     ::= { xATSInputContactEntry 3 }

   xATSInputContactCurrentState OBJECT-TYPE
     SYNTAX INTEGER {
        open   (1),
        closed (2)
     }
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "This value indicates the current state of the contact."
     ::= { xATSInputContactEntry 4 }

-- the xATS OutputRelays group

   xATSOutputRelayNumRelays OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "The number of output relays supported by the ATS."
     ::= { xATSOutputRelays 1 }

   xATSOutputRelayTableSize OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "The number of output relay entries."
     ::= { xATSOutputRelays 2 }

   xATSOutputRelayTable OBJECT-TYPE
     SYNTAX SEQUENCE OF XATSOutputRelayEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "A list of output relays supported by the ATS.
        The number of entries is contained in the 
        xATSOutputRelayTableSize OID."
     ::= { xATSOutputRelays 3 }

   xATSOutputRelayEntry OBJECT-TYPE
     SYNTAX XATSOutputRelayEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
        "A output relay entry containing information for a given contact."
     INDEX  { xATSOutputRelayNumber }
     ::= { xATSOutputRelayTable 1 }

   XATSOutputRelayEntry ::=
     SEQUENCE {
        xATSOutputRelayNumber           INTEGER,
        xATSOutputRelayName             DisplayString,
        xATSOutputRelayNormalState      INTEGER,
        xATSOutputRelayCurrentState     INTEGER
     }

   xATSOutputRelayNumber OBJECT-TYPE
     SYNTAX INTEGER
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
        "An index identifying the output relay on the ATS."
     ::= { xATSOutputRelayEntry 1 }

   xATSOutputRelayName OBJECT-TYPE
     SYNTAX DisplayString
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
       "The description of the purpose/use of the output relay."
     ::= { xATSOutputRelayEntry 2 }

   xATSOutputRelayNormalState OBJECT-TYPE
     SYNTAX INTEGER {
        open   (1),
        closed (2)
     }
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
       "The normal operating position of the output relay."
     ::= { xATSOutputRelayEntry 3 }

   xATSOutputRelayCurrentState OBJECT-TYPE
     SYNTAX INTEGER {
        open   (1),
        closed (2)
     }
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
       "This value indicates the current state of the output relay."
     ::= { xATSOutputRelayEntry 4 }

-- The xATS Generator Ident group

xATSGeneratorIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the model number of the generator. 
       This value is set at the factory."
   ::= { xATSGeneratorIdent 1 }

xATSGeneratorIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the serial number of the generator. 
       This value is set at the factory."
   ::= { xATSGeneratorIdent 2 }

xATSGeneratorIdentDateofManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying when the generator was manufactured in mm/dd/yyyy format. 
       This value is set at the factory."
   ::= { xATSGeneratorIdent 3 }

xATSGeneratorIdentVoltageConfiguration OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The voltage for which the generator's alternator is designed.
       Specified in Volts line-to-line."
   ::= { xATSGeneratorIdent 4 }

xATSGeneratorIdentMaxPowerRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The max power rating of the generator. Specified in kW."
   ::= { xATSGeneratorIdent 5 }

xATSGeneratorIdentAlternatorFrequency OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frequency for which the generator's alternator is designed.
       Specified in Hertz."
   ::= { xATSGeneratorIdent 6 }

-- The xATS Generator Status group

xATSGeneratorStatusGeneratorName OBJECT-TYPE
   SYNTAX     DisplayString
   ACCESS     read-write
   STATUS     mandatory
   DESCRIPTION
       "The name or label for the generator connected to the source 2 of the ATS."
   ::= { xATSGeneratorStatus 1 }
   
xATSGeneratorStatusOperational OBJECT-TYPE
   SYNTAX     INTEGER{
      nocomm         (1),
      off            (2),
      ready          (3),
      starting       (4),
      idle           (5),
      running        (6),
      normalStop     (7),
      emergencyStop  (8),
      notInAuto      (9),
      shutdown       (10),
      unknown        (11)
   }
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
       "The operational status of the generator. unavailable when unrecognized status is received."
   ::= { xATSGeneratorStatus 2 }

xATSGeneratorStatusModeSwitchPosition OBJECT-TYPE
   SYNTAX     INTEGER{
      off        (1),
      manual     (2),
      automatic  (3),
      unknown    (4)
   }
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
       "The position of the generator's auto-mode switch.
        In automatic mode, the generator is started and stopped via the
        remote start contact, which has state indicated in the
        xATSGeneratorStatusRemoteStart OID.
        In manual mode generator start/stop control is via local command only.
        Off prevents the generator from running."
   ::= { xATSGeneratorStatus 3 }

xATSGeneratorStatusRemoteStart OBJECT-TYPE
   SYNTAX INTEGER{
      stop     (1),
      run      (2),
      unknown  (3)
   }
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
       "The status of the generator's remote start contact, which is 
        provided as an output from the transfer switch to start/stop the 
        generator when in automatic mode."
   ::= { xATSGeneratorStatus 4 }

-- The xATS Generator Advanced Status group

xATSGeneratorAdvStatusBatteryVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The voltage of the generator's starting battery.
       Measured in tenths of VDC, or -1 if not available."
   ::= { xATSGeneratorAdvStatus 1 }

xATSGeneratorAdvStatusOilPressure OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The generator's engine oil pressure.
       Measured in tenths of Psi or kPa, based on the
       value of the xATSGeneratorSettingsMetricUnit OID,
       or -1 if not available."
   ::= { xATSGeneratorAdvStatus 2 }

xATSGeneratorAdvStatusCoolantTemperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current coolant temperature in the generator.
       Measured in degrees Celsius or Fahrenheit, based on the
       value of the xATSGeneratorSettingsMetricUnit OID,
       or -1 if not available."
   ::= { xATSGeneratorAdvStatus 3 }

xATSGeneratorAdvStatusEngineRPM OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Current engine speed of the generator. 
       Measured in RPM, or -1 if not available."
   ::= { xATSGeneratorAdvStatus 4 }

xATSGeneratorAdvStatusOilLevel OBJECT-TYPE
   SYNTAX     INTEGER{
      ok        (1),
      low       (2),
      unknown   (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates adequate oil level in the generator."
   ::= { xATSGeneratorAdvStatus 5 }

xATSGeneratorAdvStatusCoolantLevel OBJECT-TYPE
   SYNTAX     INTEGER{
      ok         (1),
      low        (2),
      unknown    (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates adequate coolant level in the generator."
   ::= { xATSGeneratorAdvStatus 6 }

-- The xATS Generator Output group

xATSGeneratorOutputFrequency OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The output frequency of the generator.
       Measured in tenths of Hertz, or -1 if not avaialble."
   ::= { xATSGeneratorOutput 1 }

xATSGeneratorOutputTotalPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total output power of the generator.
       Measured in tenths of tenths of kW, or -1 if not avaialble."
   ::= { xATSGeneratorOutput 2 }

xATSGeneratorOutputTotalApparentPower OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total output power of the generator.
       Measured in tenths of kVA, or -1 if not avaialble."
   ::= { xATSGeneratorOutput 3 }
   
xATSGeneratorOutputTotalPowerFactor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
          "Indicates the total load power factor of the generator.
           A value of 100 representing a unity power factor (1.00),
           or -1 when if not avaialble."
   ::= { xATSGeneratorOutput 4 }
   
xATSGeneratorOutputTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of generator output phase entries."
   ::= { xATSGeneratorOutput 5 }

   xATSGeneratorOutputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF XATSGeneratorOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
      "A list of generator output table entries.
       The number of entries is contained in the xATSGeneratorOutputTableSize OID."
       ::= { xATSGeneratorOutput 6 }

   xATSGeneratorOutputPhaseEntry OBJECT-TYPE
       SYNTAX     XATSGeneratorOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
          "An entry containing information applicable to a 
           particular generator output phase."
       INDEX { xATSGeneratorOutputPhaseIndex }
       ::= { xATSGeneratorOutputTable 1 }

   XATSGeneratorOutputPhaseEntry ::= SEQUENCE {
       xATSGeneratorOutputPhaseIndex      INTEGER,
       xATSGeneratorOutputVoltageLtoL     INTEGER,
       xATSGeneratorOutputVoltageLtoN     INTEGER,
       xATSGeneratorOutputPhaseCurrent    INTEGER,
       xATSGeneratorOutputPower           INTEGER,
       xATSGeneratorOutputApparentPower   INTEGER,
       xATSGeneratorOutputPowerFactor     INTEGER
      }

   xATSGeneratorOutputPhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Description of each generator output phase utilized in this device."
       ::= { xATSGeneratorOutputPhaseEntry 1 }

   xATSGeneratorOutputVoltageLtoL OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-line generator output voltage. 
           Measured in Volts, or -1 if not available."
       ::= { xATSGeneratorOutputPhaseEntry 2 }

   xATSGeneratorOutputVoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-neutral generator output voltage. 
           Measured in volts, or -1 if not avaialble."
       ::= { xATSGeneratorOutputPhaseEntry 3 }

   xATSGeneratorOutputPhaseCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Generator load current per phase.
           Measured in Amps, or -1 if not avaialble."
       ::= { xATSGeneratorOutputPhaseEntry 4 }

   xATSGeneratorOutputPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Generator output power per phase. 
           Measured in tenths of kW, or -1 if not avaialble."
       ::= { xATSGeneratorOutputPhaseEntry 5 }

   xATSGeneratorOutputApparentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Generator output power per phase. 
           Measured in tenths of kVA, or -1 if not available."
       ::= { xATSGeneratorOutputPhaseEntry 6 }

   xATSGeneratorOutputPowerFactor OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Indicates the load power factor of the generator output per phase.
           A value of 100 representing a unity power factor (1.00),
           or -1 if not avaialble."
       ::= { xATSGeneratorOutputPhaseEntry 7 }

-- xATS Generator Settings group

xATSGeneratorSettingsVoltageAdjust OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The voltage adjust of the generator.
       Specified in volts line-to-line,
       or -1 if not available."
   ::= { xATSGeneratorSettings 1 }

xATSGeneratorSettingsFrequencyAdjust OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frequency adjust of the generator.
       Specified in tenths of Hertz."
   ::= { xATSGeneratorSettings 2 }

xATSGeneratorSettingsStartDelay OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The delay, in seconds, after the remote run signal is activated
       before the generator's engine will be cranked to start, 
       or -1 if not available."
   ::= { xATSGeneratorSettings 3 }

xATSGeneratorSettingsStopDelay OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The delay, in seconds, before the generator will stop 
       after the remote run signal is deactivated,
       or -1 if not available."
   ::= { xATSGeneratorSettings 4 }

xATSGeneratorSettingsCrankCycleEnable OBJECT-TYPE
   SYNTAX     INTEGER{
      disabled        (1),
      enabled         (2),
      unknown         (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When Crank Cycle is enabled, the engine will be cranked up to the time 
       specified by the xATSGeneratorSettingsCrankTime OID. 
       If the generator's engine does not start, there will be a pause as
       specified by the xATSGeneratorSettingsCrankRestTime OID before the 
       engine will be cranked again. This cycle is repeated as specified by
       the xATSGeneratorSettingsNumberCrank OID.
       When crank cycle is disabled, the generator's engine will be 
       cranked continuously until it starts."
   ::= { xATSGeneratorSettings 5 }

xATSGeneratorSettingsCrankTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The duration of engine cranking, in seconds, when starting the generator. 
       Applicable when the xATSGeneratorSettingsCrankCycleEnable OID is enabled.
       -1 if not available."
   ::= { xATSGeneratorSettings 6 }

xATSGeneratorSettingsCrankRestTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The pause duration, in seconds, following an unsuccessful attempt to start the generator. 
       Applicable when the xATSGeneratorSettingsCrankCycleEnable OID is enabled.
       -1 if not available."
   ::= { xATSGeneratorSettings 7 }

xATSGeneratorSettingsNumberCrank OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of failed crank attempts before giving up on starting the generator. 
       Applicable when the xATSGeneratorSettingsCrankCycleEnable OID is enabled.
       -1 if not available."
   ::= { xATSGeneratorSettings 8 }

xATSGeneratorSettingsMetricUnit OBJECT-TYPE
   SYNTAX INTEGER{
      disabled (1),
      enabled  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Specifies the use of metric units in generator related OIDs, as well
       as on all other interfaces including the generator's local interface."
   ::= { xATSGeneratorSettings 9 }

-- xATS generator service group

xATSGeneratorServiceTotalRunHoursLifetime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Total time that the generator engine has been run,
       over the life of the generator. Measured in hours.
       -1 if not available."
   ::= { xATSGeneratorService 1 }

xATSGeneratorServiceEngineStartsLifetime OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "Number of engine starts over the life of the generator.
      -1 if not available."
   ::= { xATSGeneratorService 2 }

xATSGeneratorServiceTotalkWhLifetime OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "Total kWh of operation over the life of the generator.
       -1 if not available."
   ::= { xATSGeneratorService 3 }

xATSGeneratorServiceTotalRunHoursSinceMaintanence OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "Total time that the generator engine has been run,
       since last service maintenance. Measured in tenths of hours.
       -1 if not available."
   ::= { xATSGeneratorService 4 }

xATSGeneratorServiceEngineStartsSinceMaintanence OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "Number of engine starts since last service maintenance.
       -1 if not available."
   ::= { xATSGeneratorService 5 }

xATSGeneratorServiceTotalkWhMaintanence OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
      "Total kWh of operation since last service maintenance.
       -1 if not available."
   ::= { xATSGeneratorService 6 }

xATSGeneratorServiceResetRecord OBJECT-TYPE
   SYNTAX INTEGER{
      yes        (1),
      no         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Resets the engine start counter, engine run-hours, and kWh values that have
       accumulated in the generator since last maintenance.
       Also, the last service date will be reset to the current system date, and 
       any service alarms will be cleared."
   ::= { xATSGeneratorService 7 }

xATSGeneratorServiceRecordResetDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Date at which the generator's service record was reset, in dd-mmm-yyyy format."
   ::= { xATSGeneratorService 8 }

xATSGeneratorServiceNextServiceDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Date at which the next generator service is due in dd-mmm-yyyy format. 
       Based on the xATSGeneratorServiceCalendarIntervalThreshold OID 
       or '' if the calander-based threshold is set to off."
   ::= { xATSGeneratorService 9 }
   
xATSGeneratorServiceRunHoursUntilServiceDate OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Runhours until the next generator service is due, in hours. 
       Based on the xATSGeneratorServiceRunHoursThreshold OID 
       or -1 if the runhour-based threshold is set to off."
   ::= { xATSGeneratorService 10 }
      
xATSGeneratorServiceRunHoursThreshold OBJECT-TYPE
   SYNTAX INTEGER{
      disabled                 (1),
      runThreshold100Hours     (2),
      runThreshold150Hours     (3),
      runThreshold200Hours     (4),
      runThreshold250Hours     (5),
      runThreshold300Hours     (6),
      runThreshold400Hours     (7),
      runThreshold500Hours     (8)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Runhour-based service interval. When the run-hours since
       service surpasses this threshold, generator service is due."
   ::= { xATSGeneratorService 11 }

xATSGeneratorServiceCalendarIntervalThreshold OBJECT-TYPE
   SYNTAX INTEGER{
      disabled            (1),
      interval1month      (2),
      interval2month      (3),
      interval3month      (4),
      interval6month      (5),
      intervalyearly      (6)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Calander-based service interval. When the next service date, 
       as indicated by the xATSGeneratorServiceNextServiceDate OID
       is in the past, generator is due for service."
   ::= { xATSGeneratorService 12 }

-- The xATS Generator Fuel system group

xATSGeneratorFuelSystemType OBJECT-TYPE
   SYNTAX     INTEGER{
      diesel      (1),
      propane     (2),
      naturalGas  (3),
      unknown     (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The type of fuel used by the generator."
   ::= { xATSGeneratorFuelSystem 1 }

xATSGeneratorFuelSystemTankSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Size of the generator's fuel tank.
       Specified in gallons or liters, based on the value of the
       xATSGeneratorSettingsMetricUnit OID, or -1 if not available."
   ::= { xATSGeneratorFuelSystem 2 }

xATSGeneratorFuelSystemFuelLevel OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Fuel remaining in the generator tank.
       Measured in percent of tank fill, or -1 if if not available."
   ::= { xATSGeneratorFuelSystem 3 }

xATSGeneratorFuelSystemRuntimePower OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power value used in the runtime remaining calculation.
       Measured in tenths of kW, or -1 if not available."
   ::= { xATSGeneratorFuelSystem 4 }

xATSGeneratorFuelSystemEstimatedRunTime OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An estimate of available runtime for the generator, based on
       available fuel as specified in the xATSGeneratorFuelSystemFuelLevel OID 
       and kW load as specified in the xATSGeneratorFuelSystemRuntimePower OID.
       Measured in tenths of hours, or -1 if not available."
   ::= { xATSGeneratorFuelSystem 5 }
   
xATSGeneratorFuelSystemLowRunTimeThreshold OBJECT-TYPE
   SYNTAX INTEGER{
      disabled        (1),
      oneHour         (2),
      twoHours        (3),
      threeHours      (4),
      fourHours       (5),
      fiveHours       (6),
      sixHours        (7),
      twelveHours     (8),
      oneDay          (9),
      twoDays         (10),
      threeDays       (11),
      fourDays        (12),
      fiveDays        (13),
      sixDays         (14),
      sevenDays       (15)
      
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which a low runtime alarm will exist."
   ::= { xATSGeneratorFuelSystem 6 }

xATSGeneratorFuelSystemVeryLowRunTimeThreshold OBJECT-TYPE
   SYNTAX INTEGER{
      disabled        (1),
      oneHour         (2),
      twoHours        (3),
      threeHours      (4),
      fourHours       (5),
      fiveHours       (6),
      sixHours        (7),
      twelveHours     (8),
      oneDay          (9),
      twoDays         (10),
      threeDays       (11),
      fourDays        (12),
      fiveDays        (13),
      sixDays         (14),
      sevenDays       (15)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which a very low runtime alarm will exist."
   ::= { xATSGeneratorFuelSystem 7 }

xATSGeneratorFuelSystemLowFuelLevelThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which a low fuel alarm will exist, with a value of 0 indicating disabled. 
       Specified as percent of tank fill."
   ::= { xATSGeneratorFuelSystem 8 }

xATSGeneratorFuelSystemVeryLowFuelLevelThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold below which a very low fuel alarm will exist, with a value of 0 indicating disabled.
       Specified as percent of tank fill."
   ::= { xATSGeneratorFuelSystem 9 }

-- the software group
-- the powerNetSubAgent group
-- the powerNetSoftwareSystem group
      
powerNetSoftwareSystemDescription OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..79))
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "A brief description of the PowerNet sub-agent."
   ::= { powerNetSoftwareSystem 1 }

powerNetSoftwareOid  OBJECT-TYPE
   SYNTAX  OBJECT IDENTIFIER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The object identifier of the PowerNet sub-agent."
   ::= { powerNetSoftwareSystem 2 }

-- powerNetSmuxPeer     OBJECT IDENTIFIER ::= { powerNetSoftwareOid 1 }
-- powerNetDPIPeer      OBJECT IDENTIFIER ::= { powerNetSoftwareOid 2 }

powerNetSoftwareSystemUpTime  OBJECT-TYPE
   SYNTAX  TimeTicks
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
         "The time that the sub-agent has been running."
   ::= { powerNetSoftwareSystem 3 }


-- powerNetSoftwareConfig group

powerNetSoftwareTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of software modules supporting the UPS."
   ::= { powerNetSoftwareConfig 1 }

powerNetSoftwareTable OBJECT-TYPE
   SYNTAX SEQUENCE OF SoftwareEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION 
      "A list of the software monitoring the UPS."
   ::= { powerNetSoftwareConfig 2 }

powerNetSoftwareEntry OBJECT-TYPE
   SYNTAX SoftwareEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "An entry containing information on a software module."
   INDEX { moduleNumber }
   ::= { powerNetSoftwareTable 1 }

SoftwareEntry ::= 
   SEQUENCE {
      moduleNumber
         INTEGER,
      moduleName
         DisplayString,
      moduleVersion
         DisplayString,
      moduleDate
         DisplayString
   }

moduleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index into the Software Entry Table"
   ::= { powerNetSoftwareEntry 1 }

moduleName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..79))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The name of the software module."
   ::= { powerNetSoftwareEntry 2 }

moduleVersion OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..8))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The version of the software module." 
   ::= { powerNetSoftwareEntry 3 }

moduleDate OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..9))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of the software module represented as mm-dd-yy."
   ::= { powerNetSoftwareEntry 4 }


-- the ups group
-- the upsIdent group
-- the upsBasicIdent

upsBasicIdentModel OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS model name (e.g. 'APC Smart-UPS 600')."
   ::= { upsBasicIdent 1 }

upsBasicIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An 8 byte ID string identifying the UPS.  This object
       can be set by the administrator."
   ::= { upsBasicIdent 2 }


-- the upsAdvIdent group

upsAdvIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the UPS system's microprocessor."
   ::= { upsAdvIdent 1 }

upsAdvIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the UPS was manufactured in mm/dd/yy format."
   ::= { upsAdvIdent 2 }

upsAdvIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An 8-character string identifying the serial number of 
       the UPS internal microprocessor.  This number is set at
       the factory.  NOTE: This number does NOT correspond to
       the serial number on the rear of the UPS."
   ::= { upsAdvIdent 3 }



-- the upsBattery group
-- the upsBasicBattery group

upsBasicBatteryStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      batteryNormal(2),
      batteryLow(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the UPS batteries.  A batteryLow(3) 
       value indicates the UPS will be unable to sustain the 
       current load, and its services will be lost if power is 
       not restored.  The amount of run time in reserve at the 
       time of low battery can be configured by the 
       upsAdvConfigLowBatteryRunTime."
   ::= { upsBasicBattery 1 }

upsBasicBatteryTimeOnBattery OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The elapsed time since the UPS has switched to battery 
       power."
   ::= { upsBasicBattery 2 }

upsBasicBatteryLastReplaceDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The date when the UPS system's batteries were last replaced 
       in mm/dd/yy format.   For Smart-UPS models, this value 
       is originally set in the factory.  When the UPS batteries 
       are replaced, this value should be reset by the administrator."
   ::= { upsBasicBattery 3 }



-- the upsAdvBattery group

upsAdvBatteryCapacity OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The remaining battery capacity expressed in 
       percent of full capacity."
   ::= { upsAdvBattery 1 }

upsAdvBatteryTemperature OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current internal UPS temperature expressed in 
       Celsius."
   ::= { upsAdvBattery 2 }

upsAdvBatteryRunTimeRemaining OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The UPS battery run time remaining before battery 
       exhaustion."
   ::= { upsAdvBattery 3 }

upsAdvBatteryReplaceIndicator OBJECT-TYPE
   SYNTAX INTEGER  {
      noBatteryNeedsReplacing(1),
      batteryNeedsReplacing(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether the UPS batteries need replacing."
   ::= { upsAdvBattery 4 }

upsAdvBatteryNumOfBattPacks OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of external battery packs connected to the UPS. If
       the UPS does not use smart cells then the agent reports
       ERROR_NO_SUCH_NAME."
   ::= { upsAdvBattery 5 }

upsAdvBatteryNumOfBadBattPacks OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of external battery packs connected to the UPS that 
       are defective. If the UPS does not use smart cells then the
       agent reports ERROR_NO_SUCH_NAME."
   ::= { upsAdvBattery 6 }

upsAdvBatteryNominalVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The nominal battery voltage in Volts."
   ::= { upsAdvBattery 7 }

upsAdvBatteryActualVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual battery bus voltage in Volts."
   ::= { upsAdvBattery 8 }

upsAdvBatteryCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery current in Amps."
   ::= { upsAdvBattery 9 }

upsAdvTotalDCCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total DC current in Amps."
   ::= { upsAdvBattery 10 }


-- the upsBasicInput group

upsBasicInputPhase OBJECT-TYPE
   SYNTAX INTEGER                  
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current AC input phase."
   ::= { upsBasicInput 1 }


-- the upsAdvInput group

upsAdvInputLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current utility line voltage in VAC."
   ::= { upsAdvInput 1 }

upsAdvInputMaxLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum utility line voltage in VAC over the
       previous 1 minute period."
   ::= { upsAdvInput 2 }

upsAdvInputMinLineVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum utility line voltage in VAC over the
       previous 1 minute period."
   ::= { upsAdvInput 3 }

upsAdvInputFrequency OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current input frequency to the UPS system in Hz."
   ::= { upsAdvInput 4 }


upsAdvInputLineFailCause OBJECT-TYPE
   SYNTAX INTEGER  {
      noTransfer(1),
      highLineVoltage(2),
      brownout(3),
      blackout(4),
      smallMomentarySag(5),
      deepMomentarySag(6),
      smallMomentarySpike(7),
      largeMomentarySpike(8),
      selfTest(9),
      rateOfVoltageChnage(10)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The reason for the occurrence of the last transfer to UPS
       battery power.  The variable is set to:
       - noTransfer(1) -- if there is no transfer yet.
       - highLineVoltage(2) -- if the transfer to battery is caused
       by an over voltage greater than the high transfer voltage.
       - brownout(3) -- if the duration of the outage is greater than
       five seconds and the line voltage is between 40% of the
       rated output voltage and the low transfer voltage.
       - blackout(4) -- if the duration of the outage is greater than five
       seconds and the line voltage is between 40% of the rated 
       output voltage and ground.
       - smallMomentarySag(5) -- if the duration of the outage is less
       than five seconds and the line voltage is between 40% of the
       rated output voltage and the low transfer voltage.
       - deepMomentarySag(6) -- if the duration of the outage is less 
       than five seconds and the line voltage is between 40% of the 
       rated output voltage and ground.  The variable is set to 
       - smallMomentarySpike(7) -- if the line failure is caused by a
       rate of change of input voltage less than ten volts per cycle.
       - largeMomentarySpike(8) -- if the line failure is caused by 
       a rate of change of input voltage greater than ten volts per cycle.
       - selfTest(9) -- if the UPS was commanded to do a self test.
       - rateOfVoltageChange(10) -- if the failure is due to the rate of change of
       the line voltage."
   ::= { upsAdvInput 5 }


-- the upsBasicOutput group

upsBasicOutputStatus OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      onLine(2),
      onBattery(3),
      onSmartBoost(4),
      timedSleeping(5),
      softwareBypass(6),
      off(7),
      rebooting(8),
      switchedBypass(9),
      hardwareFailureBypass(10),
      sleepingUntilPowerReturn(11),
      onSmartTrim(12)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current state of the UPS.  If the UPS is unable 
       to determine the state of the UPS this variable is set 
       to unknown(1)."
   ::= { upsBasicOutput 1 }

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


-- the upsAdvOutput group

upsAdvOutputVoltage OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The output voltage of the UPS system in VAC."
   ::= { upsAdvOutput 1 }

upsAdvOutputFrequency OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current output frequency of the UPS system in Hz."
   ::= { upsAdvOutput 2 }

upsAdvOutputLoad OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current UPS load expressed in percent 
       of rated capacity."
   ::= { upsAdvOutput 3 }

upsAdvOutputCurrent OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current in amperes drawn by the load on the UPS."
   ::= { upsAdvOutput 4 }


-- the upsBasicConfig group

upsBasicConfigNumDevices OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of devices that are plugged into the UPS."
   ::= { upsBasicConfig 1 }

upsBasicConfigDeviceTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsBasicConfigDeviceEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of devices that are plugged into the UPS.
       The number of entries is given by the value of
       upsBasicConfigNumDevices."
   ::= { upsBasicConfig 2 }

upsBasicConfigDeviceEntry OBJECT-TYPE
   SYNTAX UpsBasicConfigDeviceEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The devices plugged in to the UPS."
   INDEX  { deviceIndex }
   ::= { upsBasicConfigDeviceTable 1 }

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

deviceIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the device that is plugged into the UPS."
   ::= { upsBasicConfigDeviceEntry 1 }

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

vaRating OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The volt-amp rating of the device plugged into the UPS."
   ::= { upsBasicConfigDeviceEntry 3 }

acceptThisDevice OBJECT-TYPE
   SYNTAX INTEGER   {
      yes(1),
      no(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An entry is added if yes, the entry is deleted if no."
   ::= { upsBasicConfigDeviceEntry 4 }




-- the upsAdvConfig group

upsAdvConfigRatedOutputVoltage OBJECT-TYPE
   SYNTAX INTEGER  
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The nominal output voltage from the UPS in VAC. 

       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.
      
       If a value other than a supported value is provided in a 
       set request, the UPS interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { upsAdvConfig 1 }

upsAdvConfigHighTransferVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum line voltage in VAC allowed before the
       UPS system transfers to battery backup.

       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.

       If a value other than a supported value is provided in a
       set request, the UPS interprets it as a the next higher
       acceptable value.  If the provided value is higher than
       the highest acceptable value, the highest acceptable 
       value is used."
   ::= { upsAdvConfig 2 }

upsAdvConfigLowTransferVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum line voltage in VAC allowed before the
       UPS system transfers to battery backup.
      
       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.

       If a value other than a supported value is provided in a 
       set request, the UPS interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { upsAdvConfig 3 }

upsAdvConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER  {
      timed(1),
      atLowBattery(2),
      never(3),
      mute(4)
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A flag indicating how the UPS should handle audible
       line fail alarms:
       timed(1): UPS alarm will sound after a preset timed duration starting
       from the line fail condition (see OID upsAdvConfigAlarmTimer for the
       alarm timer value)
       atLowBattery(2): UPS alarm will sound when the UPS has reached a Low
       Battery condition during a line fail
       never(3): Disables the UPS audible alarm
       mute(4): Mutes the current alarm for some UPSs only when it is in an
       alarm state and will return to the previously configured option when
       the UPS recovers from the alarm condition"
   ::= { upsAdvConfig 4 }

upsAdvConfigAlarmTimer OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time after initial line failure at which the UPS
       begins emitting audible alarms (beeping).  This timer is
       observed only if the value of extControlAlarm is timed(2).
       Allowed values are 0 or 30 seconds.

       If a value other than a supported value is provided in a
       set request, the UPS interprets it as a the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { upsAdvConfig 5 }

upsAdvConfigMinReturnCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum battery capacity required before the UPS will 
       return from a low battery shutdown condition.  The capacity is
       measured from 0% battery capacity (or Low Battery) as a percent
       of full capacity (100%).   In other words, the UPS will not re-energize
       the output until the battery has charged so that its' capacity is equal 
       to this value.
       
       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.

       If a value other than a supported value is provided in a
       set request, the UPS interprets it as a the next higher
       acceptable value.  If the provided value is higher than
       the highest acceptable value, the highest acceptable 
       value is used."
   ::= { upsAdvConfig 6 }

upsAdvConfigSensitivity OBJECT-TYPE
   SYNTAX INTEGER  {
      auto(1),
      low(2),
      medium(3),
      high(4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The sensitivity of the UPS to utility line abnormalities
       or noises."
   ::= { upsAdvConfig 7 }

upsAdvConfigLowBatteryRunTime OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The desired run time of the UPS, in seconds, once the 
       low battery condition is reached. During this time the UPS will
       produce a constant warning tone which can not be disabled.
       
       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.

       If a value other than a supported value is provided in a set
       request, the UPS interprets the value as the next higher
       acceptable value.  If the provided value is higher than the
       highest acceptable value, the highest acceptable value is used."
   ::= { upsAdvConfig 8 }

upsAdvConfigReturnDelay OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay in seconds after utility line power returns
       before the UPS will turn on.  This value is also used 
       when the UPS comes out of a reboot and before the UPS
       wakes up from 'sleep' mode.

       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.
      
       If a value other than a supported value is provided in a
       set request, the UPS interprets it as a the next higher
       acceptable value.  If the provided value is higher than
       the highest acceptable value, the highest acceptable 
       value is used."
   ::= { upsAdvConfig 9 }

upsAdvConfigShutoffDelay OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The delay in seconds the UPS remains on after being told 
       to turn off.

       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual.

       If a value other than a supported value is provided in a
       set request, the UPS interprets it as a the next higher
       acceptable value.  If the provided value is higher than
       the highest acceptable value, the highest acceptable 
       value is used."
   ::= { upsAdvConfig 10 }

upsAdvConfigUpsSleepTime OBJECT-TYPE
   SYNTAX TimeTicks 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The time in seconds for the UPS to go to 'sleep' when 
       instructed.  When in sleep mode, the UPS will not provide
       output power regardless of the input line state.  Once the
       specified time has elapsed, output power will be restored.

       This is a configuration setting.  The UPS will not go to
       sleep until told to do so by the manager from a management
       station.
      
       Any input value is allowed, however the UPS only recognizes
       1/10 of an hour increments.  The provided value will be 
       rounded to the closest 1/10 of an hour with one exception:
       Any value entered between 1 and 540 seconds will be rounded 
       to 360 seconds (or 6 minutes)."
   ::= { upsAdvConfig 11 }


upsAdvConfigSetEEPROMDefaults OBJECT-TYPE
   SYNTAX INTEGER  {
      noSetEEPROMDefaults(1),
      setEEPROMDefaults(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "WRITE: Resets the UPS EEPROM variables to default values.
       READ: returns 0"
   ::= { upsAdvConfig 12 }

upsAdvConfigDipSwitchSetting OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsAdvConfigDipSwitchEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Current settings of UPS dip switches."
   ::= { upsAdvConfig 13 }

upsAdvConfigDipSwitchEntry OBJECT-TYPE
   SYNTAX UpsAdvConfigDipSwitchEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The current setting of one dip switch."
   INDEX  { dipSwitchIndex }
   ::= { upsAdvConfigDipSwitchSetting 1 }

UpsAdvConfigDipSwitchEntry ::=
   SEQUENCE {
      dipSwitchIndex 
         INTEGER,
      dipSwitchStatus
         INTEGER
   }

dipSwitchIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of a UPS dip switch."
   ::= { upsAdvConfigDipSwitchEntry 1 }

dipSwitchStatus OBJECT-TYPE
   SYNTAX INTEGER {
      on(1),
      off(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The setting of a UPS dip switch."
   ::= { upsAdvConfigDipSwitchEntry 2 }

upsAdvConfigBattExhaustThresh OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of seconds prior to battery exhaustion when the
       UPS will switch off power to its load."
   ::= { upsAdvConfig 14 }

upsAdvConfigPassword OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The password entered at the UPS front panel to enable local
       configuration of the EEProm. If the password is disabled or 
       is not supported, then the agent returns a null string."
   ::= { upsAdvConfig 15 }

upsAdvConfigAllowedSetTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ApcUpsConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The table listing the allowed values for all discrete 
       configurable UPS variables."
   ::= { upsAdvConfig 16 }

apcUpsConfigEntry OBJECT-TYPE
   SYNTAX ApcUpsConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The table entry for a configurable UPS variable."
   INDEX  { apcUpsConfigFieldIndex }
   ::= { upsAdvConfigAllowedSetTable 1 }

ApcUpsConfigEntry ::= SEQUENCE {
   apcUpsConfigFieldIndex        INTEGER,
   apcUpsConfigFieldOID          OBJECT IDENTIFIER,
   apcUpsConfigFieldValueRange   DisplayString
   }

apcUpsConfigFieldIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to an eeprom field entry."
   ::= { apcUpsConfigEntry 1 }

apcUpsConfigFieldOID OBJECT-TYPE
   SYNTAX OBJECT IDENTIFIER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The OID of the current configurable value."
   ::= { apcUpsConfigEntry 2 }

apcUpsConfigFieldValueRange OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The discrete set of allowed values of a configurable 
       register. Individual values are delimited by a comma."
   ::= { apcUpsConfigEntry 3 }

upsAdvConfigBattCabAmpHour OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure settings of UPS battery cabinet amp hour setting."
   ::= { upsAdvConfig 17 }

upsAdvConfigPositionSelector OBJECT-TYPE
   SYNTAX INTEGER {
     unknown  (1),
     rack     (2),
     tower    (3) 
   }

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure UPS position selector.  If the UPS doesn't
       support this configuration it will report unknown (1).
       The positions are either rack (2) for rack mounted or
       tower (3) for tower unit."
   ::= { upsAdvConfig 18 }

upsAdvConfigOutputFreqRange OBJECT-TYPE
   SYNTAX INTEGER {
     unknown          (1),
     freqRangeAUTO    (2),
     freqRange60Var1  (3),
     freqRange60Var3  (4),
     freqRange50Var1  (5),
     freqRange50Var3  (6),
     freqRange60Var10 (7),
     freqRange50Var10 (8)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure the output frequency tolerance range.
       unknown(1) indicates the output frequency is unknown.
       freqRangeAUTO(2) configure the output frequency range for automatic.
       freqRange60Var1(3) configure the output frequency range for 60 +/- 0.1 Hz
       freqRange60Var3(4) configure the output frequency range for 60 +/- 3.0 Hz
       freqRange50Var1(5) configure the output frequency range for 50 +/- 0.1 Hz
       freqRange50Var3(6) configure the output frequency range for 50 +/- 3.0 Hz
       freqRange60Var10(7) configure the output frequency range for 60 +/- 10 Hz
       freqRange50Var10(8) configure the output frequency range for 50 +/- 10 Hz"
   ::= { upsAdvConfig 19 }

upsAdvConfigUPSFail OBJECT-TYPE
   SYNTAX INTEGER {
     unknown      (1),
     gotoBypass   (2),
     dropLoad     (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure the UPS fail action.  If UPS fails,
      and frequency or voltage is out of range it will either
      GotoBypass (2) or DropLoad (3).  This OID will report
      unknown (1) if it is not supported feature or option."
   ::= { upsAdvConfig 20 }

upsAdvConfigAlarmRedundancy OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure settings of UPS alarm if the redundancy is
      under the current redundancy.  Use -1 for never."
   ::= { upsAdvConfig 21 }

upsAdvConfigAlarmLoadOver OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure settings of UPS alarm if the load is
      over the current load in kVA.  Use -1 for never."
   ::= { upsAdvConfig 22 }

upsAdvConfigAlarmRuntimeUnder OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure settings of UPS alarm if the runtime is
      under the current time of minutes.  Use -1 for never."
   ::= { upsAdvConfig 23 }

upsAdvConfigVoutReporting OBJECT-TYPE
   SYNTAX INTEGER {
     unknown    (1),
     voutAUTO   (2),
     vout208    (3),
     vout240    (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure the way the UPS scales its output voltage readings.
       unknown(1) indicates the Vout Reporting is unknown.
       voutAUTO(2) configure the Vout Reporting for automatic scalling.
       vout208(3) configure the Vout Reporting for 208 Volts.
       vout240(4) configure the Vout Reporting for 240 Volts."
   ::= { upsAdvConfig 24 }

upsAdvConfigNumExternalBatteries OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure the number of external batteries connected to the UPS."
   ::= { upsAdvConfig 25 }

upsAdvConfigSimpleSignalShutdowns OBJECT-TYPE
   SYNTAX INTEGER {
     unknown    (1),
     disabled   (2),
     enabled    (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Configure Simple Signal shutdown commands from the Simple Signal
       port to be issued to the UPS.
       unknown(1) indicates the Simple Signal Shutdown setting is unknown.
       disabled(2) configure to disable Simple Signal Shutdowns.
       enabled(3) configure to enable Simple Signal Shutdowns."
   ::= { upsAdvConfig 26 }


-- the upsSyncCtrlGroupConfig group

upsSCGMembershipGroupNumber OBJECT-TYPE
   SYNTAX INTEGER  
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION       
       "The SCG Membership Group number (MGN) is a 16-bit number allowing 
       up to 65534 separate groups that can be identified and distinguished
       per IP subnet. Zero and 65535 are not used. The MGN is used in all 
       communication between members of the SCG and a Network Management Card
       (NMC) will listen and only respond to commands sent to it using its 
       configured SCG ID."         
   ::= { upsSyncCtrlGroupConfig 1 }

upsSCGActiveMembershipStatus OBJECT-TYPE
    SYNTAX INTEGER  {
      enabledSCG (1),
      disabledSCG (2)
    } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Membership in the configured SCG can be enabled and 
      disabled.  If an NMC is configured for an SCG, but 
      has its membership disabled, all synchronized control commands 
      received will be ignored."
   ::= { upsSyncCtrlGroupConfig 2 } 
   
upsSCGPowerSynchronizationDelayTime OBJECT-TYPE
   SYNTAX INTEGER  
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION       
        "The Power Synchronization Delay Time (PSD) setting is the maximum 
         number of seconds an SCG Initiator will wait for all SCG members to 
         recover utility power before completing the reboot sequence of a
         reboot or sleep command. If all SCG members are ready to proceed, 
         no additional delay is introduced."
   ::= { upsSyncCtrlGroupConfig 3 }

upsSCGReturnBatteryCapacityOffset OBJECT-TYPE
   SYNTAX INTEGER  
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION       
        "A reboot command uses the Initiator’s Return battery Capacity (RBC) to control
        when the SCG completes this operation. In a Normal Control Operation (NCC) the 
        UPS will only complete the reboot if RBC is reached.  Due to normal battery 
        charge rate variations it may be desirable for the Followers to complete the 
        reboot if they are within some range of the Initiator’s RBC when the Initiator 
        is prepared (charged to RBC) to complete the reboot. The Return Battery 
        Capacity Offset (RBCO) defines a percent battery capacity subtracted from an 
        RBC above which a Follower’s battery must be charged for it to complete a 
        reboot.  For example, if the Initiator’s RBC is 50% and the Initiator’s RBCO is
        5% then a Follower’s battery capacity is within range if it is greater or equal 
        to 45% (50% - 5%) at the time when the Initiator tries to complete the reboot 
        command.  The default RBCO is 10%. "
   ::= { upsSyncCtrlGroupConfig 4 }
   
upsSCGMultiCastIP OBJECT-TYPE
       SYNTAX     IpAddress
       ACCESS     read-write
       STATUS     mandatory
       DESCRIPTION
               "The MultiCast IP address of the SCG Group."
       ::= { upsSyncCtrlGroupConfig 5 } 
         
-- the upsSyncCtrlGroupStatus group

upsSCGNumOfGroupMembers OBJECT-TYPE
   SYNTAX     INTEGER
   ACCESS     read-only
   STATUS     mandatory
   DESCRIPTION
       "The number of active, communicating members in the Sync Control Group (SCG).
        This variable indicates the number of rows in the SCG Status Table."
       ::= { upsSyncCtrlGroupStatus 1 }

-- Sync Control Group Status Table

upsSCGStatusTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF UpsSCGStatusEntry
   ACCESS     not-accessible
   STATUS     mandatory
   DESCRIPTION
       "A list of SCG status table entries.  The number of entries
        is given by the value of upsSCGNumOfGroupMembers."
       ::= { upsSyncCtrlGroupStatus 2 }

   upsSCGStatusEntry OBJECT-TYPE
       SYNTAX     UpsSCGStatusEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular SCG Member."
       INDEX { upsSCGStatusTableIndex }
       ::= { upsSCGStatusTable 1 }

   UpsSCGStatusEntry ::= SEQUENCE {
       upsSCGStatusTableIndex           INTEGER,
       upsSCGMemberIP                   IpAddress,
       upsSCGACInputStatus              INTEGER,
       upsSCGACOutputStatus             INTEGER
   }

   upsSCGStatusTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The index of a status entry for an active, communicating SCG member."
       ::= { upsSCGStatusEntry 1 }

  upsSCGMemberIP OBJECT-TYPE
       SYNTAX     IpAddress
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The IP address of an active, communicating SCG Member."
       ::= { upsSCGStatusEntry 2 }

   upsSCGACInputStatus OBJECT-TYPE
        SYNTAX INTEGER {
          acInGood(1),
          acInBad(2)
        }
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "This OID indicates the AC Input Status of the SCG Member.
                acInGood(1) indicates the AC Input is within tolerance.
                acInBad(2)  indicates the AC Input is not within tolerance."
       ::= { upsSCGStatusEntry 3 }

    upsSCGACOutputStatus OBJECT-TYPE
        SYNTAX INTEGER {
          acOutOn(1),
          acOutOff(2)
        }
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "This OID indicates the AC Output Status of the SCG Member.
                acOutOn(1)  indicates the UPS output is providing power to the load.
                acOutOff(2) indicates the UPS output is not providing power to the load. "
       ::= { upsSCGStatusEntry 4 }

-- the upsBasicState group

upsBasicStateOutputState OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ASCII string containing the 64 flags representing
       the current state(s) of the UPS. If the Network Card
       is unable to determine the state of the UPS, this
       variable is set to ‘UNKNOWN’.

       The flags are numbered 1 to 64, read from left to
       right. The flags are defined as follows:
       
       Flag  1: Abnormal Condition Present
       Flag  2: On Battery
       Flag  3: Low Battery
       Flag  4: On Line
            
       Flag  5: Replace Battery
       Flag  6: Serial Communication Established
       Flag  7: AVR Boost Active*
       Flag  8: AVR Trim Active*
       
       Flag  9: Overload
       Flag 10: Runtime Calibration
       Flag 11: Batteries Discharged
       Flag 12: Manual Bypass

       Flag 13: Software Bypass
       Flag 14: In Bypass due to Internal Fault
       Flag 15: In Bypass due to Supply Failure*
       Flag 16: In Bypass due to Fan Failure*
       
       Flag 17: Sleeping on a Timer
       Flag 18: Sleeping until Utility Power Returns
       Flag 19: On
       Flag 20: Rebooting
       
       Flag 21: Battery Communication Lost*
       Flag 22: Graceful Shutdown Initiated
       Flag 23: Smart Boost or Smart Trim Fault*
       Flag 24: Bad Output Voltage*
       
       Flag 25: Battery Charger Failure*
       Flag 26: High Battery Temperature
       Flag 27: Self Test In Progress
       Flag 28: Low Battery / On Battery
       
       Flag 29: Graceful Shutdown Issued by Upstream Device
       Flag 30: Graceful Shutdown Issued by Downstream Device
       Flag 31: No Batteries Attached*
       Flag 32: Synchronized command is in progress
       
       Flag 33: <Not Used>
       Flag 34: <Not Used>
       Flag 35: <Not Used>
       Flag 36: <Not Used>
       
       Flag 37: <Not Used>
       Flag 38: <Not Used>
       Flag 39: <Not Used>
       Flag 40: <Not Used>
       
       Flag 41: <Not Used>
       Flag 42: <Not Used>
       Flag 43: <Not Used>
       Flag 44: <Not Used>
       
       Flag 45: <Not Used>
       Flag 46: <Not Used>
       Flag 47: <Not Used>
       Flag 48: <Not Used>
       
       Flag 49: <Not Used>
       Flag 50: <Not Used>
       Flag 51: <Not Used>
       Flag 52: <Not Used>
       
       Flag 53: <Not Used>
       Flag 54: <Not Used>
       Flag 55: <Not Used>
       Flag 56: <Not Used>
       
       Flag 57: <Not Used>
       Flag 58: <Not Used>
       Flag 59: <Not Used>
       Flag 60: <Not Used>
       
       Flag 61: <Not Used>
       Flag 62: <Not Used>
       Flag 63: <Not Used>
       Flag 64: <Not Used>"

   ::= { upsBasicState 1 }

-- the upsAdvState group

upsAdvStateAbnormalConditions OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ASCII string containing the 32 flags representing
       the current active UPS faults. If the Network Card
       is unable to determine the values of the flags, this
       variable is set to ‘UNKNOWN’. If this variable is not
       supported by the connected UPS, this variable is set to
       ‘NOT SUPPORTED’.
       
       The flags are numbered from 1 to 32, and read from left to
       right. The flags are defined as follows:

       Flag  1: Power Module Failure
       Flag  2: Main Intelligence Module Failure
       Flag  3: Redundant Intelligence Module Failure
       Flag  4: Battery Failure
        
       Flag  5: Load(kVA) Alarm Threshold Violation
       Flag  6: Redundancy Lost
       Flag  7: Redundancy Below Alarm Threshold
       Flag  8: Bypass notin Range; Either Frequency or Voltage
       
       Flag  9: Bypass Contactor Stuck in Bypass Condition
       Flag 10: Bypass Contactor Stuck in On-Line Condition
       Flag 11: In Bypass due to an Internal Fault
       Flag 12: In Bypass due to an Overload
       
       Flag 13: In Maintanence Bypass
       Flag 14: Input Circuit Braker Tripped Open
       Flag 15: System Level Fan Failure
       Flag 16: Redundant Intelligent Module in Control
       
       Flag 17: IIC Inter-Module Communication Failure
       Flag 18: No Working Power Modules
       Flag 19: Load Shutdown From Bypass; Input Frequency
       Flag 20: Runtime Below Alarm Threshold
       
       Flag 21: Extended Run Frame Fault
       Flag 22: Output Voltage out of Range
       Flag 23: UPS Not Synchronized
       Flag 24: No Batteries Installed
       
       Flag 25: Battery Voltage High
       Flag 26: UPS Specific Fault Detected
       Flag 27: Site Wiring Fault
       Flag 28: Backfeed Protection Relay Opened
       
       Flag 29: <Not Used>
       Flag 30: <Not Used>
       Flag 31: <Not Used>
       Flag 32: <Not Used>"
   ::= { upsAdvState 1 }

upsAdvStateSymmetra3PhaseSpecificFaults OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ASCII string containing the 64 flags representing
      the current active UPS specific faults for the Symmetra
      3-Phase UPS models. If the Network Card is unable to
      determine the values of the flags, this variable is set
      to ‘UNKNOWN’. If the connected UPS does not use this
      variable, it is set to ‘NOT SUPPORTED’.
      
      The flags are numbered from 1 to 64, and read from left
      to right. The bits are defined as follows:
      
      Flag  1: External Switch Gear Failure
      Flag  2: External Transformer Over Temperature
      Flag  3: External DC Circuit Breaker Tripped
      Flag  4: System Power Supply Failure
        
      Flag  5: Battery Monitor Card Failure
      Flag  6: Battery Monitor Card Removed
      Flag  7: XR Communication Card Failure
      Flag  8: XR Communication Card Removed
      
      Flag  9: External Switch Gear Monitoring Card Failure
      Flag 10: External Switch Gear Monitoring Card Removed
      Flag 11: Internal DC Circiut Breaker Tripped
      Flag 12: Static Bypass Switch Failure
      
      Flag 13: System EEPROM Removed
      Flag 14: System EEPROM Failure
      Flag 15: UPS in Forced Bypass
      Flag 16: <Not Used>
      
      Flag 17: <Not Used>
      Flag 18: <Not Used>
      Flag 19: <Not Used>
      Flag 20: <Not Used>
      
      Flag 21: <Not Used>
      Flag 22: <Not Used>
      Flag 23: <Not Used>
      Flag 24: <Not Used>
      
      Flag 25: <Not Used>
      Flag 26: <Not Used>
      Flag 27: <Not Used>
      Flag 28: <Not Used>
      
      Flag 29: <Not Used>
      Flag 30: <Not Used>
      Flag 31: <Not Used>
      Flag 32: <Not Used>
      
      Flag 33: <Not Used>
      Flag 34: <Not Used>
      Flag 35: <Not Used>
      Flag 36: <Not Used>
      
      Flag 37: <Not Used>
      Flag 38: <Not Used>
      Flag 39: <Not Used>
      Flag 40: <Not Used>
      
      Flag 41: <Not Used>
      Flag 42: <Not Used>
      Flag 43: <Not Used>
      Flag 44: <Not Used>
      
      Flag 45: <Not Used>
      Flag 46: <Not Used>
      Flag 47: <Not Used>
      Flag 48: <Not Used>
      
      Flag 49: <Not Used>
      Flag 50: <Not Used>
      Flag 51: <Not Used>
      Flag 52: <Not Used>
      
      Flag 53: <Not Used>
      Flag 54: <Not Used>
      Flag 55: <Not Used>
      Flag 56: <Not Used>
      
      Flag 57: <Not Used>
      Flag 58: <Not Used>
      Flag 59: <Not Used>
      Flag 60: <Not Used>
      
      Flag 61: <Not Used>
      Flag 62: <Not Used>
      Flag 63: <Not Used>
      Flag 64: <Not Used>"
   ::= { upsAdvState 2 }

upsAdvStateDP300ESpecificFaults OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ASCII string containing the 64 flags representing
      the current active UPS specific faults for the Silcon
      DP300E UPS models. If the Network Card is unable to
      determine the values of the flags, this variable is set
      to ‘UNKNOWN’. If the connected UPS does not use this
      variable, it is set to ‘NOT SUPPORTED’.
      
      The flags are numbered from 1 to 64, and read from left
      to right. The bits are defined as follows:
      
      Flag  1: Peak Current Limiter Avtive
      Flag  2: Bypass Power Supply Fault
      Flag  3: Delta Current LImiter Active
      Flag  4: Fan Fault
        
      Flag  5: High DC warning
      Flag  6: Inverter Voltage Error
      Flag  7: Parallel Synchronization Error
      Flag  8: Second Power Supply Fault
      
      Flag  9: Internal Power Supply Fault
      Flag 10: <Not Used>
      Flag 11: <Not Used>
      Flag 12: <Not Used>
      
      Flag 13: <Not Used>
      Flag 14: Bypass Static Switch High Temperature
      Flag 15: High Battery Temperature
      Flag 16: Battery Weak
      
      Flag 17: <Not Used>
      Flag 18: System Locked in Operation Mode
      Flag 19: RAM1 Memory Write Error
      Flag 20: Memory Write Error
      
      Flag 21: Communication to VQ Bypass Lost
      Flag 22: Communication to VQ Output Lost
      Flag 23: Communication to DMU Lost
      Flag 24: Communication to Controller Lost
      
      Flag 25: Communication to Parallel IF Lost
      Flag 26: External Shutdown Accepted
      Flag 27: DC Capacitor Charge Error
      Flag 28: Communication to VQ Mains Lost
      
      Flag 29: Bypass Synchronization Error
      Flag 30: Charge Error
      Flag 31: <Not Used>
      Flag 32: <Not Used>
      
      Flag 33: <Not Used>
      Flag 34: <Not Used>
      Flag 35: <Not Used>
      Flag 36: <Not Used>
      
      Flag 37: <Not Used>
      Flag 38: <Not Used>
      Flag 39: <Not Used>
      Flag 40: <Not Used>
      
      Flag 41: <Not Used>
      Flag 42: <Not Used>
      Flag 43: <Not Used>
      Flag 44: <Not Used>
      
      Flag 45: <Not Used>
      Flag 46: <Not Used>
      Flag 47: <Not Used>
      Flag 48: <Not Used>
      
      Flag 49: <Not Used>
      Flag 50: <Not Used>
      Flag 51: <Not Used>
      Flag 52: <Not Used>
      
      Flag 53: <Not Used>
      Flag 54: <Not Used>
      Flag 55: <Not Used>
      Flag 56: <Not Used>
      
      Flag 57: <Not Used>
      Flag 58: <Not Used>
      Flag 59: <Not Used>
      Flag 60: <Not Used>
      
      Flag 61: <Not Used>
      Flag 62: <Not Used>
      Flag 63: <Not Used>
      Flag 64: <Not Used>"
   ::= { upsAdvState 3 }


-- the upsBasicControl group

upsBasicControlConserveBattery OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnOffUps(1),
      turnOffUpsToConserveBattery(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to turnUpsOffToConserveBattery(2) 
       causes a UPS on battery to be put into 'sleep' mode.  The 
       UPS will turn back on when utility power is restored.  
       Attempting to turn off a UPS that is not on battery will 
       result in a badValue error.

       Setting this value to noTurnOffUps(1) has no
       effect.

       The value noTurnOffUps(1) will always be returned
       when the variable is read."
::= { upsBasicControl 1 }



-- the upsAdvControl group

upsAdvControlUpsOff OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnUpsOff(1),
      turnUpsOff(2),
      turnUpsOffGracefully(3),
      turnUpsSyncGroupOff(4),
      turnUpsSyncGroupOffAfterDelay(5),
      turnUpsSyncGroupOffGracefully(6)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to turnUpsOff(2) causes
       the UPS to shut off.  When in this state, the UPS 
       will not provide output power regardless of the input
       line state.

       Setting this variable to turnUpsOffGracefully(3) causes
       the UPS to shut off after a delay period. This allows the
       host to shut down in a graceful manner. When in this state,
       the UPS will not provide output power regardless of the
       input line state. 
              
       If this UPS is an active member of a Synchronized 
       Control Group (SCG) the turnUpsSyncGroupOff(4) command 
       will perform a Synchronized Turn Off of all active Group
       members regardless of their current AC output status.    
       
       If this UPS is an active member of a Synchronized 
       Control Group (SCG) the turnUpsSyncGroupOffAfterDelay(5)
       command will perform a Synchronized Turn Off After Delay 
       of all active Group members regardless of their current 
       AC output status. This unit's Shutdown Delay will be used 
       to execute the Turn Off After Delay command.  
       
       If this UPS is an active member of an SCG, the 
       turnUpsSyncGroupOffGracefully(6) command will perform a 
       Synchronized Turn Off Gracefully of all active Group 
       members regardless of their current AC output status.  
       This unit's Maximum Shutdown Time and Shutdown Delay will
       be used to execute the Turn Off Gracefully command.  
       
       Setting this value to noTurnUpsOff(1) has no
       effect.

       The value noTurnUpsOff(1) will always be returned
       when the variable is read."
   ::= { upsAdvControl 1 }

upsAdvControlRebootUps OBJECT-TYPE
   SYNTAX INTEGER  {
      noRebootUps(1),
      rebootUps(2),
      rebootUpsGracefully(3),
      rebootSyncGroupUps(4),
      rebootSyncGroupUpsGracefully(5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to rebootUps(2) causes the
       UPS to shut off and turn back on.
      
       Setting this variable to rebootUpsGracefully(3) causes the
       UPS to shut off and turn back on after a delay period. 
       This allows the host to shut down in a graceful manner.
       
       If this UPS is an active member of a Synchronized Control 
       Group (SCG) the rebootSyncGroupUps(4) command will perform
       a Synchronized Reboot of all active Group members regardless
       of their current AC output status.  This unit's Power 
       Synchronization Delay, Shutdown Delay, Return Delay, 
       Return Battery Capacity, and Return Battery Capacity Offset 
       will be used to execute the Reboot command.  

       If this UPS is an active member of a SCG the 
       rebootSyncGroupUpsGracefully(5) command will perform a 
       Synchronized Reboot of all active Group members regardless 
       of their current AC output status.  This unit's Power 
       Synchronization Delay, Maximum Shutdown Time, 
       Shutdown Delay, Return Delay, Return Battery Capacity, and 
       Return Battery Capacity Offset will be used
       to execute the Reboot command.  
              
       Setting this value to noRebootUps(1) has no effect.
      
       The value noRebootUps(1) will always be returned
       when the variable is read."
   ::= { upsAdvControl 2 }

upsAdvControlUpsSleep OBJECT-TYPE
   SYNTAX INTEGER  {
      noPutUpsToSleep(1),
      putUpsToSleep(2),
      putUpsToSleepGracefully(3),
      putUpsSyncGroupToSleep(4),
      putUpsSyncGroupToSleepGracefully(5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to putUpsToSleep(2) causes
       the UPS to go to sleep for the time specified by
       upsAdvConfigUpsSleepTime.
      
       Setting this variable to putUpsToSleepGracefully(3)
       causes the UPS to go to sleep for the time specified 
       by upsAdvConfigUpsSleepTime after a delay period. 
       This allows the host to shut down in a graceful manner.

       If this UPS is an active member of a Synchronized Control 
       Group (SCG), the putUpsSyncGroupToSleep(4) command will perform
       a Synchronized Sleep of all active Group members regardless 
       of their current AC output status.  This unit's Power 
       Synchronization Delay, Shutdown Delay, Sleep Time, 
       and Return Delay will be used to execute the sleep command.  
       
       If this UPS is an active member of a SCG the 
       putUpsSyncGroupToSleepGracefully(5) command will perform a 
       Synchronized Sleep Gracefully of all active Group members 
       regardless of their current AC output status.  This unit's 
       Power Synchronization Delay, Maximum Shutdown Time, Shutdown 
       Delay, Sleep Time, and Return Delay to execute the sleep 
       command.  

       When in sleep mode, the UPS will not provide output
       power regardless of the input line state.  Once the
       specified time has elapsed, output power will be
       restored. 
      
       Setting this value to noPutUpsToSleep(1) has no
       effect.
      
       The value noPutUpsToSleep(1) will always be returned
       when the variable is read."
   ::= { upsAdvControl 3 }


upsAdvControlSimulatePowerFail OBJECT-TYPE
   SYNTAX INTEGER  {
      noSimulatePowerFailure(1),
      simulatePowerFailure(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to simulatePowerFailure(2) causes
       the UPS switch to battery power.

       Setting this value to noSimulatePowerFailure(1) has no
       effect.

       The value noSimulatePowerFailure(1) will always be returned
       when the variable is read."
   ::= { upsAdvControl 4 }


upsAdvControlFlashAndBeep OBJECT-TYPE
   SYNTAX INTEGER  {
      noFlashAndBeep(1),
      flashAndBeep(2),
      flashAndBeepSyncGroup(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to flashAndBeep(2) causes the
       UPS to beep and simultaneously turn on the UPS front
       panel lights (Smart-UPS only).

       If this UPS is an active member of a Synchronized Control 
       Group (SCG), the flashAndBeepSyncGroup(3) command will 
       Flash and Beep all active Group members regardless of 
       current AC output status.
         
       Setting this value to noFlashAndBeep(1) has no
       effect.

       The value noFlashAndBeep(1) will always be returned
       when the variable is read."
   ::= { upsAdvControl 5 }


upsAdvControlTurnOnUPS OBJECT-TYPE
   SYNTAX INTEGER  {
      noTurnOnUPS(1),
      turnOnUPS(2),
      turnOnUPSSyncGroup(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to turnOnUPS(2) causes the
       UPS to be turned on immediately.

       If this UPS is an active member of a Synchronized Control 
       Group (SCG), the turnOnUPSSyncGroup(3) command will perform 
       a Synchronized Turn On of all active Group members 
       regardless of their current AC output status.
       
       Setting this value to noTurnOnUPS(1) has no
       effect.

       The value noTurnOnUPS(1) will always be returned
       when the variable is read."
   ::= { upsAdvControl 6 }

upsAdvControlBypassSwitch OBJECT-TYPE
   SYNTAX INTEGER {
      noBypassSwitch (1),
      switchToBypass (2),
      switchOutOfBypass(3)
      }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This switch puts the UPS in or out of bypass mode."
   ::= { upsAdvControl 7 }


-- the upsTest group

-- the upsBasicTest group

-- the upsAdvTest group

upsAdvTestDiagnosticSchedule OBJECT-TYPE
   SYNTAX INTEGER  {
      unknown(1),
      biweekly(2),
      weekly(3),
      atTurnOn(4),
      never(5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The UPS system's automatic battery test schedule."
   ::= { upsAdvTest 1 }


upsAdvTestDiagnostics OBJECT-TYPE
   SYNTAX INTEGER  {
      noTestDiagnostics(1),
      testDiagnostics(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to testDiagnostics(2) causes
       the UPS to perform a diagnostic self test.
      
       Setting this value to noTestDiagnostics(1) has no
       effect.
      
       The value noTestDiagnostics(1) will always be returned
       when the variable is read."
   ::= { upsAdvTest 2 }

upsAdvTestDiagnosticsResults OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      failed(2),
      invalidTest(3),
      testInProgress(4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The results of the last UPS diagnostics test performed."
   ::= { upsAdvTest 3 }

upsAdvTestLastDiagnosticsDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date the last UPS diagnostics test was performed in
       mm/dd/yy format."
   ::= { upsAdvTest 4 }

upsAdvTestRuntimeCalibration OBJECT-TYPE
   SYNTAX INTEGER  {
      noPerformCalibration(1),
      performCalibration(2),
      cancelCurrentCalibration(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to performCalibration(2) causes
       the UPS to discharge to calibrate the UPS.
       The test will only start if the battery capacity is 100%.
       The test runs until capacity is less than 25%.
      
       Setting this variable to cancelCurrentCalibration(3)
       after setting performCalibration(2) will cancel the 
       current discharge.
      
       Setting this variable to noPerformCalibration(1) 
       will have no effect.
      
       The value noPerformCalibration(1) will always be returned
       when the variable is read.
      
       The result of the calibration will be saved in 
       upsAdvTestCalibrationResult."
   ::= { upsAdvTest 5 }

upsAdvTestCalibrationResults OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      invalidCalibration(2),
      calibrationInProgress(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The results of the last runtime calibration.
      
       Value ok(1) means a successful runtime calibration.
      
       Value invalidCalibration(2) indicates last calibration did
       not take place since the battery capacity was below
       100%.
      
       Value calibrationInProgress(3) means a calibration 
       is occurring now. "
   ::= { upsAdvTest 6 }

upsAdvTestCalibrationDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date the last UPS runtime calibration was 
       performed in mm/dd/yy format."
   ::= { upsAdvTest 7 }

-- the upsComm group

upsCommStatus OBJECT-TYPE
   SYNTAX INTEGER {
      ok(1),
      noComm(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of agent's communication with UPS. "
   ::= { upsComm 1 }


-- the measureUps group
-- the Environ group

mUpsEnvironAmbientTemperature OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The ambient temperature in Celsius for Probe 1."
   ::= { mUpsEnviron 1 }

mUpsEnvironRelativeHumidity OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The relative humidity as a percentage for Probe 1."
   ::= { mUpsEnviron 2 }


mUpsEnvironAmbientTemperature2 OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The ambient temperature in Celsius for Probe 2."
   ::= { mUpsEnviron 3 }

mUpsEnvironRelativeHumidity2 OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The relative humidity as a percentage for Probe 2."
   ::= { mUpsEnviron 4 }

-- the mUpsContact group

mUpsContactNumContacts OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts supported by the Measure-UPS."
   ::= { mUpsContact 1 }

mUpsContactTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the Measure-UPS."
   ::= { mUpsContact 2 }

mUpsContactEntry OBJECT-TYPE
   SYNTAX ContactEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A contact entry containing information for a given contact."
   INDEX  { contactNumber }
   ::= { mUpsContactTable 1 }

ContactEntry ::=
   SEQUENCE {
      contactNumber
         INTEGER,
      normalState
         INTEGER,
      description
         DisplayString,
      monitoringStatus
         INTEGER,
      currentStatus
         INTEGER
   }

contactNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An index identifying the contact on the Measure-UPS."
   ::= { mUpsContactEntry 1 }

normalState OBJECT-TYPE
   SYNTAX INTEGER {
      unknown(1),
      open(2),
      closed(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal operating position of the contact. If the normal
       operating position cannot be set then it is controlled via the
       dip switch on the Measure-UPS and is therefore read-only."
   ::= { mUpsContactEntry 2 }

description OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The description of the purpose/use of the contact."
   ::= { mUpsContactEntry 3 }

monitoringStatus OBJECT-TYPE
   SYNTAX INTEGER {
      unknown(1),
      enabled(2),
      disabled(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A flag indicating whether this contact is 
       monitored, or not."
   ::= { mUpsContactEntry 4 }

currentStatus OBJECT-TYPE
   SYNTAX INTEGER {
      unknown(1),
      noFault(2),
      fault(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This value indicates the current state of the contact.
       If the contact is not in its normal state.  This value
       is set to fault(2)."
   ::= { mUpsContactEntry 5 }

-- Three Phase Group

--
-- Reset Max/Min Values Group
--

   upsPhaseResetMaxMinValues OBJECT-TYPE
       SYNTAX INTEGER {
          none (1),
          reset (2) 
       }
       ACCESS     read-write
       STATUS     mandatory
       DESCRIPTION
               "Reset the maximum and minimum UPS values:
                upsPhaseInputMaxVoltage, upsPhaseInputMinVoltage,
                upsPhaseInputMaxCurrent, upsPhaseInputMinCurrent,
                upsPhaseInputMaxPower, upsPhaseInputMinPower,
                upsPhaseOutputMaxCurrent, upsPhaseOutputMinCurrent,
                upsPhaseOutputMaxLoad, upsPhaseOutputMinLoad,
                upsPhaseOutputMaxPercentLoad, upsPhaseOutputMinPercentLoad,
                upsPhaseOutputMaxPower, upsPhaseOutputMinPower,
                upsPhaseOutputMaxPercentPower, upsPhaseOutputMinPercentPower."
       ::= { upsPhaseResetValues 1 }

--
-- Input Group
--

-- Number of Inputs

   upsPhaseNumInputs 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
               input table."
       ::= { upsPhaseInput 1 }

-- Input Table

   upsPhaseInputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF UpsPhaseInputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of input table entries.  The number of entries
               is given by the value of upsPhaseNumInputs."
       ::= { upsPhaseInput 2 }

   upsPhaseInputEntry OBJECT-TYPE
       SYNTAX     UpsPhaseInputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular input."
       INDEX { upsPhaseInputTableIndex }
       ::= { upsPhaseInputTable 1 }

   UpsPhaseInputEntry ::= SEQUENCE {
       upsPhaseInputTableIndex         INTEGER,
       upsPhaseNumInputPhases          INTEGER,
       upsPhaseInputVoltageOrientation INTEGER,
       upsPhaseInputFrequency          INTEGER,
       upsPhaseInputType               INTEGER,
       upsPhaseInputName               DisplayString
   }

   upsPhaseInputTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input identifier."
       ::= { upsPhaseInputEntry 1 }

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

   upsPhaseInputVoltageOrientation 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 UPS
               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 Phase2.
               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 Phase3 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."
       ::= { upsPhaseInputEntry 3 }

   upsPhaseInputFrequency OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input frequency in 0.1 Hertz, or -1 if it's unsupported
               by this UPS."
       ::= { upsPhaseInputEntry 4 }

   upsPhaseInputType OBJECT-TYPE
       SYNTAX     INTEGER {
          unknown(1),
          main(2),
          bypass(3)
       }
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input type."
       ::= { upsPhaseInputEntry 5 }

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

-- Input Phase Table

   upsPhaseInputPhaseTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF UpsPhaseInputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of input table entries.  The number of entries
               is given by the sum of the upsPhaseNumInputPhases."
       ::= { upsPhaseInput 3 }

   upsPhaseInputPhaseEntry OBJECT-TYPE
       SYNTAX     UpsPhaseInputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular input phase."
       INDEX { upsPhaseInputPhaseTableIndex, upsPhaseInputPhaseIndex }
       ::= { upsPhaseInputPhaseTable 1 }

   UpsPhaseInputPhaseEntry ::= SEQUENCE {
       upsPhaseInputPhaseTableIndex    INTEGER,
       upsPhaseInputPhaseIndex         INTEGER,
       upsPhaseInputVoltage            INTEGER,
       upsPhaseInputMaxVoltage         INTEGER,
       upsPhaseInputMinVoltage         INTEGER,
       upsPhaseInputCurrent            INTEGER,
       upsPhaseInputMaxCurrent         INTEGER,
       upsPhaseInputMinCurrent         INTEGER,
       upsPhaseInputPower              INTEGER,
       upsPhaseInputMaxPower           INTEGER,
       upsPhaseInputMinPower           INTEGER
   }

   upsPhaseInputPhaseTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input identifier."
       ::= { upsPhaseInputPhaseEntry 1 }

   upsPhaseInputPhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input phase identifier."
       ::= { upsPhaseInputPhaseEntry 2 }

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

   upsPhaseInputMaxVoltage OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum input voltage in VAC measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseInputPhaseEntry 4 }

   upsPhaseInputMinVoltage OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum input voltage in VAC measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseInputPhaseEntry 5 }

   upsPhaseInputCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input current in 0.1 amperes, or -1 if it's
               unsupported by this UPS."
       ::= { upsPhaseInputPhaseEntry 6 }

   upsPhaseInputMaxCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum input current in 0.1 amperes measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseInputPhaseEntry 7 }

   upsPhaseInputMinCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum input current in 0.1 amperes measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseInputPhaseEntry 8 }

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

   upsPhaseInputMaxPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum input power in Watts measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseInputPhaseEntry 10 }

   upsPhaseInputMinPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum input power in Watts measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseInputPhaseEntry 11 }

   --
   -- The Output group.
   --

   -- Number of Outputs

   upsPhaseNumOutputs OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of output feeds to this device.
               This variable indicates the number of rows in the
               output table."
       ::= { upsPhaseOutput 1 }

   -- Output Table

   upsPhaseOutputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF UpsPhaseOutputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of output table entries.  The number of entries
               is given by the value of upsOutputNumPhases."
       ::= { upsPhaseOutput 2 }

   upsPhaseOutputEntry OBJECT-TYPE
       SYNTAX     UpsPhaseOutputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular output."
       INDEX { upsPhaseOutputTableIndex }
       ::= { upsPhaseOutputTable 1 }

   UpsPhaseOutputEntry ::= SEQUENCE {
       upsPhaseOutputTableIndex         INTEGER,
       upsPhaseNumOutputPhases          INTEGER,
       upsPhaseOutputVoltageOrientation INTEGER,
       upsPhaseOutputFrequency          INTEGER
   }

   upsPhaseOutputTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output identifier."
       ::= { upsPhaseOutputEntry 1 }

   upsPhaseNumOutputPhases OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of output phases utilized in this
               device.  The sum of all the upsPhaseNumOutputPhases
               variable indicates the number of rows in the 
               output phase table."
       ::= { upsPhaseOutputEntry 2 }

   upsPhaseOutputVoltageOrientation OBJECT-TYPE
       SYNTAX INTEGER {
          unknown(1),
          singlePhase(2),
          splitPhase(3),
          threePhasePhaseToNeutral(4),
          threePhasePhaseToPhase(5)
       }
       ACCESS read-only
       STATUS     mandatory
       DESCRIPTION
               "The output voltage orientation: 
               1: unknown for this UPS
               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 Phase2.
               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 Phase3 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."
       ::= { upsPhaseOutputEntry 3 }

   upsPhaseOutputFrequency OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output frequency in 0.1 Hertz, or -1 if it's
               unsupported by this UPS."
       ::= { upsPhaseOutputEntry 4 }

   -- Output Phase Table

   upsPhaseOutputPhaseTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF UpsPhaseOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of output table entries.  The number of
               entries is given by the sum of the upsPhaseNumOutputPhases."
       ::= { upsPhaseOutput 3 }

   upsPhaseOutputPhaseEntry OBJECT-TYPE
       SYNTAX     UpsPhaseOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular output phase."
       INDEX { upsPhaseOutputPhaseTableIndex, upsPhaseOutputPhaseIndex }
       ::= { upsPhaseOutputPhaseTable 1 }

   UpsPhaseOutputPhaseEntry ::= SEQUENCE {
       upsPhaseOutputPhaseTableIndex INTEGER,
       upsPhaseOutputPhaseIndex      INTEGER,
       upsPhaseOutputVoltage         INTEGER,
       upsPhaseOutputCurrent         INTEGER,
       upsPhaseOutputMaxCurrent      INTEGER,
       upsPhaseOutputMinCurrent      INTEGER,
       upsPhaseOutputLoad            INTEGER,
       upsPhaseOutputMaxLoad         INTEGER,
       upsPhaseOutputMinLoad         INTEGER,
       upsPhaseOutputPercentLoad     INTEGER,
       upsPhaseOutputMaxPercentLoad  INTEGER,
       upsPhaseOutputMinPercentLoad  INTEGER,      
       upsPhaseOutputPower           INTEGER,
       upsPhaseOutputMaxPower        INTEGER,
       upsPhaseOutputMinPower        INTEGER,
       upsPhaseOutputPercentPower    INTEGER,
       upsPhaseOutputMaxPercentPower INTEGER,
       upsPhaseOutputMinPercentPower INTEGER
   }

   upsPhaseOutputPhaseTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output identifier."
       ::= { upsPhaseOutputPhaseEntry 1 }

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

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

   upsPhaseOutputCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output current in 0.1 amperes drawn 
               by the load on the UPS, or -1 if it's unsupported
               by this UPS."
       ::= { upsPhaseOutputPhaseEntry 4 }

   upsPhaseOutputMaxCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum output current in 0.1 amperes measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 5 }

   upsPhaseOutputMinCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum output current in 0.1 amperes measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 6 }

   upsPhaseOutputLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output load in VA, or -1 if it's unsupported
               by this UPS."
       ::= { upsPhaseOutputPhaseEntry 7 }

   upsPhaseOutputMaxLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum output load in VA measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 8 }

   upsPhaseOutputMinLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum output load in VA measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 9 }

   upsPhaseOutputPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The percentage of the UPS load capacity in VA at 
               redundancy @ (n + x) presently being used on this 
               output phase, or -1 if it's unsupported by this UPS."
       ::= { upsPhaseOutputPhaseEntry 10 }

   upsPhaseOutputMaxPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum percentage of the UPS load capacity in 
               VA measured at redundancy @ (n + x) presently 
               being used on this output phase since the last reset
               (upsPhaseResetMaxMinValues), or -1 if it's unsupported
               by this UPS. Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 11 }

   upsPhaseOutputMinPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum percentage of the UPS load capacity in 
               VA measured at redundancy @ (n + x) presently 
               being used on this output phase since the last reset
               (upsPhaseResetMaxMinValues), or -1 if it's unsupported
               by this UPS. Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 12 }

   upsPhaseOutputPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output power in Watts, or -1 if it's
               unsupported by this UPS."
       ::= { upsPhaseOutputPhaseEntry 13 }

   upsPhaseOutputMaxPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum output power in Watts measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 14 }

   upsPhaseOutputMinPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum output power in Watts measured
               since the last reset (upsPhaseResetMaxMinValues), or
               -1 if it's unsupported by this UPS.
               Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 15 }

   upsPhaseOutputPercentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The percentage of the UPS power capacity in Watts at 
               redundancy @ (n + x) presently being used on this 
               output phase, or -1 if it's unsupported by this UPS."
       ::= { upsPhaseOutputPhaseEntry 16 }

   upsPhaseOutputMaxPercentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum percentage of the UPS power capacity
               in Watts measured at redundancy @ (n + x) presently
               being used on this output phase since the last 
               reset (upsPhaseResetMaxMinValues), or -1 if it's
               unsupported by this UPS. Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 17 }

   upsPhaseOutputMinPercentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum percentage of the UPS power capacity
               in Watts measured at redundancy @ (n + x) presently
               being used on this output phase since the last 
               reset (upsPhaseResetMaxMinValues), or -1 if it's
               unsupported by this UPS. Sampled every 30 seconds."
       ::= { upsPhaseOutputPhaseEntry 18 }

-- the upsOutletGroupStatus group

upsOutletGroupStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlet groups for the UPS."
   ::= { upsOutletGroupStatus 1 }

upsOutletGroupStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsOutletGroupStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting status of the outlet groups. The number of
       entries is contained in the upsOutletGroupStatusTableSize OID."
   ::= { upsOutletGroupStatus 2 }

upsOutletGroupStatusEntry OBJECT-TYPE
   SYNTAX UpsOutletGroupStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet group status to get."
   INDEX  { upsOutletGroupStatusIndex}
   ::= { upsOutletGroupStatusTable 1 }

UpsOutletGroupStatusEntry ::=
   SEQUENCE {
      upsOutletGroupStatusIndex          INTEGER,
      upsOutletGroupStatusName           DisplayString,
      upsOutletGroupStatusGroupState     INTEGER,
      upsOutletGroupStatusCommandPending INTEGER
   }      

upsOutletGroupStatusIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet group entry."
   ::= { upsOutletGroupStatusEntry 1 }

upsOutletGroupStatusName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The name of the outlet group. This OID is provided
       for informational purposes only. This value is set
       by the upsOutletGroupConfigName OID."
   ::= { upsOutletGroupStatusEntry  2 }

upsOutletGroupStatusGroupState OBJECT-TYPE
   SYNTAX INTEGER {
        upsOutletGroupStatusOn      (1),
        upsOutletGroupStatusOff     (2),
        upsOutletGroupStatusUnknown (3)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this variable will return the outlet group state. If the outlet
       group is on, the upsOutletGroupStatusOn (1) value will be returned. If
       the outlet group is off, the upsOutletGroupStatusOff (2) value will be
       returned. If the state of the outlet group cannot be determined, the
       upsOutletGroupStatusUnknown (3) value will be returned."

   ::= { upsOutletGroupStatusEntry 3 }

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

-- the upsOutletGroupConfig group

upsOutletGroupConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlet groups for the UPS."
   ::= { upsOutletGroupConfig 1 }

upsOutletGroupConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsOutletGroupConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The list of outlet groups to configure. The number of entries
       is defined by the upsOutletGroupConfigTableSize OID."
   ::= { upsOutletGroupConfig 2  }

upsOutletGroupConfigEntry OBJECT-TYPE
   SYNTAX UpsOutletGroupConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet groups to configure."
   INDEX  { upsOutletGroupConfigIndex}
   ::= { upsOutletGroupConfigTable 1 }

UpsOutletGroupConfigEntry ::=
   SEQUENCE {
      upsOutletGroupConfigIndex          INTEGER,
      upsOutletGroupConfigName           DisplayString,
      upsOutletGroupConfigPowerOnDelay   INTEGER,
      upsOutletGroupConfigPowerOffDelay  INTEGER,
      upsOutletGroupConfigRebootDuration INTEGER
   }      

upsOutletGroupConfigIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet group entry."
   ::= { upsOutletGroupConfigEntry 1 }

upsOutletGroupConfigName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The name of the outlet group."
   ::= { upsOutletGroupConfigEntry 2 }
   
upsOutletGroupConfigPowerOnDelay OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet group will delay 
       powering on when the delayed on or reboot command is applied.
       Allowed values are -1 (for Never) or 0 to 600 seconds."
   ::= { upsOutletGroupConfigEntry 3 }
   
upsOutletGroupConfigPowerOffDelay OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet group will delay 
       powering off when the delayed off command is applied.
       Allowed values are 0 to 600 seconds."
   ::= { upsOutletGroupConfigEntry 4 }

upsOutletGroupConfigRebootDuration 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 initiating the power on sequence.
       Allowed values are 0 to 600 seconds."
   ::= { upsOutletGroupConfigEntry 5 }

-- the upsOutletGroupControl group

upsOutletGroupControlTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlet groups for the UPS."
   ::= { upsOutletGroupControl 1 }

upsOutletGroupControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsOutletGroupControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual outlet groups. The number of
       entries is contained in the upsOutletGroupControlTableSize OID."
   ::= { upsOutletGroupControl 2 }

upsOutletGroupControlEntry OBJECT-TYPE
   SYNTAX UpsOutletGroupControlEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet group to control."
   INDEX  { upsOutletGroupControlIndex}
   ::= { upsOutletGroupControlTable 1 }

UpsOutletGroupControlEntry ::=
   SEQUENCE {
      upsOutletGroupControlIndex   INTEGER,
      upsOutletGroupControlName    DisplayString,
      upsOutletGroupControlCommand INTEGER
   }      

upsOutletGroupControlIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet group entry."
   ::= { upsOutletGroupControlEntry 1 }

upsOutletGroupControlName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The name of the outlet group. This OID is provided
       for informational purposes only. This value is set
       by the upsOutletGroupConfigName OID."
   ::= { upsOutletGroupControlEntry  2 }
   
upsOutletGroupControlCommand OBJECT-TYPE
   SYNTAX INTEGER {
        upsOutletGroupImmediateOn          (1),
        upsOutletGroupImmediateOff         (2),
        upsOutletGroupImmediateReboot      (3),
        upsOutletGroupDelayedOn            (4),
        upsOutletGroupDelayedOff           (5),
        upsOutletGroupDelayedReboot        (6),
        upsOutletGroupCancelPendingCommand (7),
        upsOutletGroupControlUnknown       (8)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting this variable will return the outlet group state. If the outlet
       group is on, the upsOutletGroupImmediateOn (1) value will be returned. If
       the outlet group is off, the upsOutletGroupImmediateOff (2) value will be
       returned. 
       
       If the state of the outlet group cannot be determined, the
       upsOutletGroupControlUnknown (8) value will be returned.
       
       Setting this variable to upsOutletGroupImmediateOn (1) will turn the
       outlet group on.
       
       Setting this variable to upsOutletGroupImmediateOff (2) will turn the
       outlet group off. 

       Setting this variable to upsOutletGroupImmediateReboot (3) will turn the outlet
       group off, wait the upsOutletGroupConfigRebootDuration OID time, wait the
       upsOutletGroupConfigPowerOnDelay OID, and then turn the outlet group on.
      
       Setting this variable to upsOutletGroupDelayedOn (4) will turn the outlet
       group on after the upsOutletGroupConfigPowerOnDelay OID has elapsed.

       Setting this variable to upsOutletGroupDelayedOff (5) will turn the outlet
       group off after the upsOutletGroupConfigPowerOffDelay OID has elapsed.

       Setting this variable to upsOutletGroupDelayedReboot (6) will turn the outlet
       group off after the upsOutletGroupConfigPowerOffDelay OID has elapsed, wait the
       upsOutletGroupConfigRebootDuration OID time, wait the
       upsOutletGroupConfigPowerOnDelay OID, and then turn the outlet group on.
      
       Setting this variable to upsOutletGroupCancelPendingCommand (7) will
       cause any pending command to this outlet group to be canceled."
   ::= { upsOutletGroupControlEntry 3 }

-- the upsDiagnosticIM group

upsDiagIMTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Intelligence Modules in or attached to the UPS."
   ::= { upsDiagnosticIM 1 }

upsDiagIMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagIMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual Intelligence Modules. The number of
       entries is contained in the upsDiagIMTableSize OID."
   ::= { upsDiagnosticIM 2 }

upsDiagIMEntry OBJECT-TYPE
   SYNTAX UpsDiagIMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics and information of an Intelligence Module."
   INDEX  { upsDiagIMIndex}
   ::= { upsDiagIMTable 1 }

UpsDiagIMEntry ::=
   SEQUENCE {
      upsDiagIMIndex             INTEGER,
      upsDiagIMType              INTEGER,
      upsDiagIMStatus            INTEGER,
      upsDiagIMFirmwareRev       DisplayString,
      upsDiagIMSlaveFirmwareRev  DisplayString,
      upsDiagIMHardwareRev       DisplayString,
      upsDiagIMSerialNum         DisplayString,
      upsDiagIMManufactureDate   DisplayString
   }      

upsDiagIMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Intelligence Module entry."
   ::= { upsDiagIMEntry 1 }

upsDiagIMType OBJECT-TYPE
   SYNTAX INTEGER {
     imUnknown    (1),
     imMIM        (2),
     imRIM        (3) 
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The type of the Intelligence Module.
       imUnknown(1) indicates the IM type is unknown.
       imMIM(2) indicates the IM type is a Main Intelligence Module.
       imRIM(3) indicates the IM type is Redundant Intelligence Module."
   ::= { upsDiagIMEntry  2 }
   
upsDiagIMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Intelligence Module.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagIMEntry  3 }
   
upsDiagIMFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Intelligence Module."
   ::= { upsDiagIMEntry  4 }
   
upsDiagIMSlaveFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The slave firmware revision of the Intelligence Module."
   ::= { upsDiagIMEntry  5 }
   
upsDiagIMHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Intelligence Module."
   ::= { upsDiagIMEntry  6 }
   
upsDiagIMSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Intelligence Module."
   ::= { upsDiagIMEntry  7 }
   
upsDiagIMManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date of the Intelligence Module."
   ::= { upsDiagIMEntry  8 }
   
-- the upsDiagnosticPowerModules group

upsDiagPMTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Power Modules in or attached to the UPS."
   ::= { upsDiagnosticPowerModules 1 }

upsDiagPMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagPMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of Individual Power modules. The number of
       entries is contained in the upsDiagPMTableSize OID."
   ::= { upsDiagnosticPowerModules 2 }

upsDiagPMEntry OBJECT-TYPE
   SYNTAX UpsDiagPMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of an Power Module."
   INDEX  { upsDiagPMIndex}
   ::= { upsDiagPMTable 1 }

UpsDiagPMEntry ::=
   SEQUENCE {
      upsDiagPMIndex           INTEGER,
      upsDiagPMStatus          INTEGER,
      upsDiagPMFirmwareRev     DisplayString,
      upsDiagPMHardwareRev     DisplayString,
      upsDiagPMSerialNum       DisplayString,
      upsDiagPMManufactureDate DisplayString
   }      

upsDiagPMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Power Module entry."
   ::= { upsDiagPMEntry 1 }
   
upsDiagPMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Power Module.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagPMEntry  2 }
   
upsDiagPMFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Power Module."
   ::= { upsDiagPMEntry  3 }
   
upsDiagPMHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Power Module."
   ::= { upsDiagPMEntry  4 }
   
upsDiagPMSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Power Module."
   ::= { upsDiagPMEntry  5 }
   
upsDiagPMManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date of the Power Module."
   ::= { upsDiagPMEntry  6 }

-- the upsDiagnosticBatteries group

upsDiagBatteryTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of batteries in or attached to the UPS."
   ::= { upsDiagnosticBatteries 1 }

upsDiagBatteryTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagBatteryEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual batteries. The number of
       entries is contained in the upsDiagBattTableSize OID."
   ::= { upsDiagnosticBatteries 2 }

upsDiagBatteryEntry OBJECT-TYPE
   SYNTAX UpsDiagBatteryEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of a battery."
   INDEX  { upsDiagBatteryIndex}
   ::= { upsDiagBatteryTable 1 }

UpsDiagBatteryEntry ::=
   SEQUENCE {
      upsDiagBatteryFrameIndex      INTEGER,
      upsDiagBatteryIndex           INTEGER,
      upsDiagBatteryStatus          INTEGER,
      upsDiagBatterySerialNumber    DisplayString,
      upsDiagBatteryFirmwareRev     DisplayString,
      upsDiagBatteryManufactureDate DisplayString,
      upsDiagBatteryType            DisplayString
   }      

upsDiagBatteryFrameIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the battery frame entry.
       Frame 0 indicates the Main frame. Extended Run (XR) frames
       start from index 1."
   ::= { upsDiagBatteryEntry 1 }
   
upsDiagBatteryIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the battery entry."
   ::= { upsDiagBatteryEntry 2 }
   
upsDiagBatteryStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown            (1),
     notInstalled       (2),
     ok                 (3),
     failed             (4),
     highTemperature    (5),
     replaceImmediately (6),
     lowCapacity        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the battery.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the battery status is OK.
       failed(4) indicates the battery status is failed.
       highTemperature(5) indicates the battery has a high temperature condition.
       replaceImmediately(6) indicates the battery must be replaced immediately.
       lowCapacity(7) indicates the battery has a low capacity."
   ::= { upsDiagBatteryEntry  3 }
   
upsDiagBatterySerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the battery."
   ::= { upsDiagBatteryEntry  4 }
   
upsDiagBatteryFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the battery."
   ::= { upsDiagBatteryEntry  5 }
   
upsDiagBatteryManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date of the battery."
   ::= { upsDiagBatteryEntry  6 }
   
upsDiagBatteryType OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery type or rating for the battery."
   ::= { upsDiagBatteryEntry  7 }
   
-- the upsDiagnosticSubsystem group

upsDiagSubSysFrameTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of frames attached to the UPS including the Main frame."
   ::= { upsDiagnosticSubsystem 1 }

upsDiagSubSysFrameTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysFrameEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual XR Frames."
   ::= { upsDiagnosticSubsystem 2 }

upsDiagSubSysFrameEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysFrameEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of an XR Frame."
   INDEX  { upsDiagSubSysFrameIndex}
   ::= { upsDiagSubSysFrameTable 1 }

UpsDiagSubSysFrameEntry ::=
   SEQUENCE {
      upsDiagSubSysFrameIndex                 INTEGER,
      upsDiagSubSysFrameType                  INTEGER,
      upsDiagSubSysFrameFirmwareRev           DisplayString,
      upsDiagSubSysFrameHardwareRev           DisplayString,
      upsDiagSubSysFrameSerialNum             DisplayString,
      upsDiagSubSysFrameManufactureDate       DisplayString
   }      

upsDiagSubSysFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysFrameEntry 1 }
      
upsDiagSubSysFrameType OBJECT-TYPE
   SYNTAX INTEGER {
     unknown            (1),
     notInstalled       (2),
     frameTypeMain      (3),
     frameTypeXR        (4),
     frameTypeLXR       (5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The type of Frame.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       frameTypeMain(3) indicates the the frame type is the Main Frame.
       frameTypeXR(4) indicates the frame type is an XR Frame.
       frameTypeLXR(5) indicates the frame type is an LXR Frame."
   ::= { upsDiagSubSysFrameEntry 2 }
      
upsDiagSubSysFrameFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the frame."
   ::= { upsDiagSubSysFrameEntry 3 }
      
upsDiagSubSysFrameHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the frame."
   ::= { upsDiagSubSysFrameEntry 4 }
      
upsDiagSubSysFrameSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the frame."
   ::= { upsDiagSubSysFrameEntry 5 }
      
upsDiagSubSysFrameManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date of the frame."
   ::= { upsDiagSubSysFrameEntry 6 }
      
upsDiagSubSysIntBypSwitchTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Internal Bypass switches attached to the UPS."
   ::= { upsDiagnosticSubsystem 3 }

upsDiagSubSysIntBypSwitchTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysIntBypSwitchEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of the Internal Bypass Switch."
   ::= { upsDiagnosticSubsystem 4 }

upsDiagSubSysIntBypSwitchEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysIntBypSwitchEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of the Internal Bypass Switch."
   INDEX  { upsDiagSubSysIntBypSwitchIndex}
   ::= { upsDiagSubSysIntBypSwitchTable 1 }

UpsDiagSubSysIntBypSwitchEntry ::=
   SEQUENCE {
      upsDiagSubSysIntBypSwitchFrameIndex            INTEGER,
      upsDiagSubSysIntBypSwitchIndex                 INTEGER,
      upsDiagSubSysIntBypSwitchStatus                INTEGER,
      upsDiagSubSysIntBypSwitchFirmwareRev           DisplayString,
      upsDiagSubSysIntBypSwitchHardwareRev           DisplayString,
      upsDiagSubSysIntBypSwitchSerialNum             DisplayString,
      upsDiagSubSysIntBypSwitchManufactureDate       DisplayString
   }      

upsDiagSubSysIntBypSwitchFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysIntBypSwitchEntry 1 }
      
upsDiagSubSysIntBypSwitchIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Internal Bypass Switch index entry."
   ::= { upsDiagSubSysIntBypSwitchEntry 2 }
      
upsDiagSubSysIntBypSwitchStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Internal Bypass Switch status.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysIntBypSwitchEntry 3 }
      
upsDiagSubSysIntBypSwitchFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Internal Bypass Switch."
   ::= { upsDiagSubSysIntBypSwitchEntry 4 }
      
upsDiagSubSysIntBypSwitchHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Internal Bypass Switch."
   ::= { upsDiagSubSysIntBypSwitchEntry 5 }
      
upsDiagSubSysIntBypSwitchSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Internal Bypass Switch."
   ::= { upsDiagSubSysIntBypSwitchEntry 6 }
      
upsDiagSubSysIntBypSwitchManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The manufacture date of the Internal Bypass Switch."
   ::= { upsDiagSubSysIntBypSwitchEntry 7 }
      
upsDiagSubSysBattMonitorTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Battery Monitor Boards attached to the UPS."
   ::= { upsDiagnosticSubsystem 5 }

upsDiagSubSysBattMonitorTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysBattMonitorEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of the Battery Monitor Board."
   ::= { upsDiagnosticSubsystem 6 }

upsDiagSubSysBattMonitorEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysBattMonitorEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of the Battery Monitor Board."
   INDEX  { upsDiagSubSysBattMonitorIndex}
   ::= { upsDiagSubSysBattMonitorTable 1 }

UpsDiagSubSysBattMonitorEntry ::=
   SEQUENCE {
      upsDiagSubSysBattMonitorFrameIndex            INTEGER,
      upsDiagSubSysBattMonitorIndex                 INTEGER,
      upsDiagSubSysBattMonitorStatus                INTEGER,
      upsDiagSubSysBattMonitorFirmwareRev           DisplayString,
      upsDiagSubSysBattMonitorHardwareRev           DisplayString,
      upsDiagSubSysBattMonitorSerialNum             DisplayString,
      upsDiagSubSysBattMonitorManufactureDate       DisplayString
   }      

upsDiagSubSysBattMonitorFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysBattMonitorEntry 1 }
      
upsDiagSubSysBattMonitorIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the Battery Monitor Board."
   ::= { upsDiagSubSysBattMonitorEntry 2 }
      
upsDiagSubSysBattMonitorStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Battery Monitor Board.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysBattMonitorEntry 3 }
      
upsDiagSubSysBattMonitorFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Battery Monitor Board."
   ::= { upsDiagSubSysBattMonitorEntry 4 }
      
upsDiagSubSysBattMonitorHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Battery Monitor Board."
   ::= { upsDiagSubSysBattMonitorEntry 5 }
      
upsDiagSubSysBattMonitorSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Battery Monitor Board."
   ::= { upsDiagSubSysBattMonitorEntry 6 }
      
upsDiagSubSysBattMonitorManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of the manufacture for the Battery Monitor Board."
   ::= { upsDiagSubSysBattMonitorEntry  7 }
         
upsDiagSubSysExternalSwitchGearTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of External Switch Gears attached to the UPS."
   ::= { upsDiagnosticSubsystem 7 }

upsDiagSubSysExternalSwitchGearTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysExternalSwitchGearEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of the individual External Switch Gear."
   ::= { upsDiagnosticSubsystem 8 }

upsDiagSubSysExternalSwitchGearEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysExternalSwitchGearEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of an individual External Switch Gear."
   INDEX  { upsDiagSubSysExternalSwitchGearIndex}
   ::= { upsDiagSubSysExternalSwitchGearTable 1 }

UpsDiagSubSysExternalSwitchGearEntry ::=
   SEQUENCE {
      upsDiagSubSysExternalSwitchGearFrameIndex            INTEGER,
      upsDiagSubSysExternalSwitchGearIndex                 INTEGER,
      upsDiagSubSysExternalSwitchGearStatus                INTEGER,
      upsDiagSubSysExternalSwitchGearFirmwareRev           DisplayString,
      upsDiagSubSysExternalSwitchGearHardwareRev           DisplayString,
      upsDiagSubSysExternalSwitchGearSerialNum             DisplayString,
      upsDiagSubSysExternalSwitchGearManufactureDate       DisplayString
   }      

upsDiagSubSysExternalSwitchGearFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysExternalSwitchGearEntry 1 }
      
upsDiagSubSysExternalSwitchGearIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the External Switch Gear."
   ::= { upsDiagSubSysExternalSwitchGearEntry 2 }
      
upsDiagSubSysExternalSwitchGearStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the External Switch Gear.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysExternalSwitchGearEntry 3 }
      
upsDiagSubSysExternalSwitchGearFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the External Switch Gear monitor card."
   ::= { upsDiagSubSysExternalSwitchGearEntry 4 }
      
upsDiagSubSysExternalSwitchGearHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the External Switch Gear monitor card."
   ::= { upsDiagSubSysExternalSwitchGearEntry 5 }
      
upsDiagSubSysExternalSwitchGearSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the External Switch Gear monitor card."
   ::= { upsDiagSubSysExternalSwitchGearEntry 6 }
      
upsDiagSubSysExternalSwitchGearManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of the manufacture for the External Switch Gear monitor card."
   ::= { upsDiagSubSysExternalSwitchGearEntry  7 }

upsDiagSubSysDisplayInterfaceCardTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Display Interface Cards attached to the UPS."
   ::= { upsDiagnosticSubsystem 9 }

upsDiagSubSysDisplayInterfaceCardTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysDisplayInterfaceCardEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual Display Interface Cards."
   ::= { upsDiagnosticSubsystem 10 }

upsDiagSubSysDisplayInterfaceCardEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysDisplayInterfaceCardEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of a Display Interface Card."
   INDEX  { upsDiagSubSysDisplayInterfaceCardIndex}
   ::= { upsDiagSubSysDisplayInterfaceCardTable 1 }

UpsDiagSubSysDisplayInterfaceCardEntry ::=
   SEQUENCE {
      upsDiagSubSysDisplayInterfaceCardFrameIndex            INTEGER,
      upsDiagSubSysDisplayInterfaceCardIndex                 INTEGER,
      upsDiagSubSysDisplayInterfaceCardStatus                INTEGER
   }      

upsDiagSubSysDisplayInterfaceCardFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysDisplayInterfaceCardEntry 1 }
      
upsDiagSubSysDisplayInterfaceCardIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the Display Interface Card."
   ::= { upsDiagSubSysDisplayInterfaceCardEntry 2 }
      
upsDiagSubSysDisplayInterfaceCardStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Display Interface Card.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysDisplayInterfaceCardEntry 3 }
      
upsDiagSubSysDCCircuitBreakerTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC Circuit Breakers attached to the UPS."
   ::= { upsDiagnosticSubsystem 11 }

upsDiagSubSysDCCircuitBreakerTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysDCCircuitBreakerEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual DC Circuit Breakers."
   ::= { upsDiagnosticSubsystem 12 }

upsDiagSubSysDCCircuitBreakerEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysDCCircuitBreakerEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of a DC Circuit Breaker."
   INDEX  { upsDiagSubSysDCCircuitBreakerIndex}
   ::= { upsDiagSubSysDCCircuitBreakerTable 1 }

UpsDiagSubSysDCCircuitBreakerEntry ::=
   SEQUENCE {
      upsDiagSubSysDCCircuitBreakerFrameIndex            INTEGER,
      upsDiagSubSysDCCircuitBreakerIndex                 INTEGER,
      upsDiagSubSysDCCircuitBreakerStatus                INTEGER
   }      

upsDiagSubSysDCCircuitBreakerFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysDCCircuitBreakerEntry 1 }
      
upsDiagSubSysDCCircuitBreakerIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the DC Circuit Breaker."
   ::= { upsDiagSubSysDCCircuitBreakerEntry 2 }
      
upsDiagSubSysDCCircuitBreakerStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     opened          (3),
     closed          (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the DC Circuit Breaker.
       unknown(1) indicates the circuit breaker status is unknown.
       notInstalled(2) indicates the circuit breaker is not installed.
       opened(3) indicates the circuit breaker is opened.
       closed(4) indicates the circuit breaker is closed."
   ::= { upsDiagSubSysDCCircuitBreakerEntry 3 }
      
upsDiagSubSysSystemPowerSupplyTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of System Power Supplies attached to the UPS."
   ::= { upsDiagnosticSubsystem 13 }

upsDiagSubSysSystemPowerSupplyTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysSystemPowerSupplyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual System Power Supplies."
   ::= { upsDiagnosticSubsystem 14 }

upsDiagSubSysSystemPowerSupplyEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysSystemPowerSupplyEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of a System Power Supply."
   INDEX  { upsDiagSubSysSystemPowerSupplyIndex}
   ::= { upsDiagSubSysSystemPowerSupplyTable 1 }

UpsDiagSubSysSystemPowerSupplyEntry ::=
   SEQUENCE {
      upsDiagSubSysSystemPowerSupplyFrameIndex            INTEGER,
      upsDiagSubSysSystemPowerSupplyIndex                 INTEGER,
      upsDiagSubSysSystemPowerSupplyStatus                INTEGER
   }      

upsDiagSubSysSystemPowerSupplyFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysSystemPowerSupplyEntry 1 }
      
upsDiagSubSysSystemPowerSupplyIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of a System Power Supply."
   ::= { upsDiagSubSysSystemPowerSupplyEntry 2 }
      
upsDiagSubSysSystemPowerSupplyStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the System Power Supply.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysSystemPowerSupplyEntry 3 }
      
upsDiagSubSysXRCommunicationCardTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of XR Communication Cards attached to the UPS."
   ::= { upsDiagnosticSubsystem 15 }

upsDiagSubSysXRCommunicationCardTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysXRCommunicationCardEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual XR Communication Cards."
   ::= { upsDiagnosticSubsystem 16 }

upsDiagSubSysXRCommunicationCardEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysXRCommunicationCardEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of an XR Communication Card."
   INDEX  { upsDiagSubSysXRCommunicationCardIndex}
   ::= { upsDiagSubSysXRCommunicationCardTable 1 }

UpsDiagSubSysXRCommunicationCardEntry ::=
   SEQUENCE {
      upsDiagSubSysXRCommunicationCardFrameIndex            INTEGER,
      upsDiagSubSysXRCommunicationCardIndex                 INTEGER,
      upsDiagSubSysXRCommunicationCardStatus                INTEGER
   }      

upsDiagSubSysXRCommunicationCardFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysXRCommunicationCardEntry 1 }
      
upsDiagSubSysXRCommunicationCardIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of an XR Communication Card."
   ::= { upsDiagSubSysXRCommunicationCardEntry 2 }
      
upsDiagSubSysXRCommunicationCardStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the XR Communication Card.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysXRCommunicationCardEntry 3 }
      
upsDiagSubSysExternalPowerFrameBoardTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of External Power Frame Boards attached to the UPS."
   ::= { upsDiagnosticSubsystem 17 }

upsDiagSubSysExternalPowerFrameBoardTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysExternalPowerFrameBoardEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual External Power Frame Boards."
   ::= { upsDiagnosticSubsystem 18 }

upsDiagSubSysExternalPowerFrameBoardEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysExternalPowerFrameBoardEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of an External Power Frame Board."
   INDEX  { upsDiagSubSysExternalPowerFrameBoardIndex}
   ::= { upsDiagSubSysExternalPowerFrameBoardTable 1 }

UpsDiagSubSysExternalPowerFrameBoardEntry ::=
   SEQUENCE {
      upsDiagSubSysExternalPowerFrameBoardFrameIndex            INTEGER,
      upsDiagSubSysExternalPowerFrameBoardIndex                 INTEGER,
      upsDiagSubSysExternalPowerFrameBoardStatus                INTEGER
   }      

upsDiagSubSysExternalPowerFrameBoardFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysExternalPowerFrameBoardEntry 1 }
      
upsDiagSubSysExternalPowerFrameBoardIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of an External Power Frame Board."
   ::= { upsDiagSubSysExternalPowerFrameBoardEntry 2 }
      
upsDiagSubSysExternalPowerFrameBoardStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the External Power Frame Board.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysExternalPowerFrameBoardEntry 3 }
      
upsDiagSubSysChargerTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Chargers attached to the UPS."
   ::= { upsDiagnosticSubsystem 19 }

 upsDiagSubSysChargerTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysChargerEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual chargers."
   ::= { upsDiagnosticSubsystem 20 }

upsDiagSubSysChargerEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysChargerEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of a charger."
   INDEX  { upsDiagSubSysChargerIndex}
   ::= { upsDiagSubSysChargerTable 1 }

UpsDiagSubSysChargerEntry ::=
   SEQUENCE {
      upsDiagSubSysChargerFrameIndex            INTEGER,
      upsDiagSubSysChargerIndex                 INTEGER,
      upsDiagSubSysChargerStatus                INTEGER
   }      

upsDiagSubSysChargerFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysChargerEntry 1 }
      
upsDiagSubSysChargerIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of a charger."
   ::= { upsDiagSubSysChargerEntry 2 }
      
upsDiagSubSysChargerStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     offOk           (3),
     onOk            (4),
     offFail         (5),
     onFail          (6),
     lostComm        (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Charger.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       offOk(3) indicates the device status is off and OK.
       onOk(4) indicates the device status is on and OK.
       offFail(5) indicates the device status is off and failed.
       onFail(6) indicates the device status is on and failed.
       lostComm(7) indicates the device has lost communication."
   ::= { upsDiagSubSysChargerEntry 3 }
      
-- the upsDiagnosticExternalDevices group

upsDiagSwitchGearStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     fail            (4),
     lostComm        (5),
     overtemp        (6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Switch Gear.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       fail(4) indicates the device status has failed.
       lostComm(5) indicates the device has lost communication.
       overtemp(6) indicates the device has an over temperature condition."
   ::= { upsDiagSwitchGear  1 }
   
upsDiagSwitchGearInputSwitchStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     opened          (3),
     closed          (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Switch Gear Input Switch.
       unknown(1) indicates the switch status is unknown.
       notInstalled(2) indicates the switch is not installed.
       opened(3) indicates the switch is opened.
       closed(4) indicates the switch is closed."
   ::= { upsDiagSwitchGear  2 }

upsDiagSwitchGearOutputSwitchStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     opened          (3),
     closed          (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Switch Gear Output Switch.
       unknown(1) indicates the switch status is unknown.
       notInstalled(2) indicates the switch is not installed.
       opened(3) indicates the switch is opened.
       closed(4) indicates the switch is closed."
   ::= { upsDiagSwitchGear  3 }

upsDiagSwitchGearBypassSwitchStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     opened          (3),
     closed          (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Switch Gear Bypass Switch.
       unknown(1) indicates the switch status is unknown.
       notInstalled(2) indicates the switch is not installed.
       opened(3) indicates the switch is opened.
       closed(4) indicates the switch is closed."
   ::= { upsDiagSwitchGear  4 }

upsDiagMCCBBoxStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     opened          (3),
     closed          (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the MCCB Box (Molded Case Circuit Breaker Box) external device.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       opened(3) indicates the circuit is opened.
       closed(4) indicates the circuit is closed."
   ::= { upsDiagMCCBBox  1 }

upsDiagTransformerStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     fail            (4),
     lostComm        (5),
     overtemp        (6),
     opened          (7),
     closed          (8)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the External Transformer.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       fail(4) indicates the device status has failed.
       lostComm(5) indicates the device has lost communication.
       overtemp(6) indicates the device has an over temperature condition.
       opened(7) indicates the circuit is opened.
       closed(8) indicates the circuit is closed."
   ::= { upsDiagTransformer  1 }

-- the upsDiagnosticComBus group

upsDiagComBusInternalMIMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     lostComm        (4),
     rxFailure       (5),
     txFailure       (6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the internal MIM communication bus.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       lostComm(4) indicates the device has lost communication.
       rxFailure(5) indicates the device has a receive failure.
       txFailure(6) indicates the device has a transmit failure."
   ::= { upsDiagnosticComBus  1 }

upsDiagComBusInternalRIMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     lostComm        (4),
     rxFailure       (5),
     txFailure       (6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the internal RIM communication bus.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       lostComm(4) indicates the device has lost communication.
       rxFailure(5) indicates the device has a receive failure.
       txFailure(6) indicates the device has a transmit failure."
   ::= { upsDiagnosticComBus  2 }

upsDiagComBusMIMtoRIMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     lostComm        (4),
     rxFailure       (5),
     txFailure       (6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the MIM to RIM communication bus.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       lostComm(4) indicates the device has lost communication.
       rxFailure(5) indicates the device has a receive failure.
       txFailure(6) indicates the device has a transmit failure."
   ::= { upsDiagnosticComBus  3 }

upsDiagComBusExternalMIMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     lostComm        (4),
     rxFailure       (5),
     txFailure       (6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the external MIM communication bus.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       lostComm(4) indicates the device has lost communication.
       rxFailure(5) indicates the device has a receive failure.
       txFailure(6) indicates the device has a transmit failure."
   ::= { upsDiagnosticComBus  4 }

upsDiagComBusExternalRIMStatus OBJECT-TYPE
   SYNTAX INTEGER {
     unknown         (1),
     notInstalled    (2),
     ok              (3),
     lostComm        (4),
     rxFailure       (5),
     txFailure       (6)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the external RIM communication bus.
       unknown(1) indicates the device status is unknown.
       notInstalled(2) indicates the device is not installed.
       ok(3) indicates the device status is OK.
       lostComm(4) indicates the device has lost communication.
       rxFailure(5) indicates the device has a receive failure.
       txFailure(6) indicates the device has a transmit failure."
   ::= { upsDiagnosticComBus  5 }

-- the serialPort2Config group

serialPort2Mode OBJECT-TYPE
   SYNTAX INTEGER  {
      localConsole(1),
      passthrough(2)
   }
   ACCESS read-write
   STATUS obsolete
   DESCRIPTION
      "Setting this variable to passthrough will enable mini's port2
       behave like a UPS port. Choosing localConsole will enable the port
       to be used as local console."
      ::= { serialPort2Config 1 }
-- the serialPort2Control group

setPulseOnTXD OBJECT-TYPE
   SYNTAX INTEGER  {
      noSetPulseOnTXD(1),
      setPulseOnTXD(2),
      setTXDLow(3),
      setTXDHigh(4)

   }
   ACCESS read-write
   STATUS obsolete
   DESCRIPTION
      "Setting this variable to setPulseOnTXD(2) 
       causes adapter to generate a PULSE on TXD pin of serial port 2.
       The duration in the prototype implementation will be 1 second.

       Setting this value to noSetPulseOnTXD(1) has no
       effect.
      
       The value noSetPulseOnTXD(1) will always be returned
       when the variable is read.

       Setting this value to setTXDLow(3), or setTXDHigh(4) will keep TXD
       always low or high respectively."
      ::= { serialPort2Control 1 }

-- the sPDUIdent group

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

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


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

sPDUIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 12-character string identifying the serial number of 
       the PDU internal microprocessor. This value is set at
       the factory."
   ::= { sPDUIdent 5 }
   

-- the sPDUMasterControl group

sPDUMasterControlSwitch  OBJECT-TYPE
  SYNTAX INTEGER       {
      turnAllOnNow              (1),
      turnAllOnSequence         (2),
      turnAllOffNow             (3),
      rebootAllNow              (4),
      rebootAllSequence         (5),
      noCommand                 (6),
      turnAllOffSequence        (7)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to turnAllOnNow (1) will turn all outlets
       on immediately.
       
       Setting this OID to turnAllOnSequence (2) will turn all outlets
       on as defined by each outlet's sPDUOutletPowerOnTime OID value.
       
       Setting this OID to turnAllOff (3) will turn all outlets
       off immediately.
       
       Setting this OID to rebootAllNow (4) will reboot all outlets
       immediately.
       
       For MasterSwitch firmware version 1.X, setting this OID to 
       rebootAllSequence (5) reboots all outlets, with power returned 
       to the outlets in the sequence defined by each outlet's 
       sPDUOutletPowerOnTime OID value.
       
       For MasterSwitch firmware version 2.X, setting this OID to 
       rebootAllSequence (5) will cause a turnAllOffSequence to be performed. 
       Once all outlets are off, the MasterSwitch will then delay the 
       sPDUMasterConfigReboot OID time, and then perform a turnAllOnSequence.    

       For MasterSwitch firmware version 2.X, setting this OID to 
       turnAllOffSequence (7) will turn all outlets off as defined by 
       each outlet's sPDUOutletPowerOffTime OID value.
       
       For MasterSwitch firmware version 1.X, setting this OID to 
       turnAllOffSequence (7) will have no effect.

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

   
sPDUMasterState  OBJECT-TYPE
   SYNTAX DisplayString       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
          "Getting this OID will cause the status of all outlets to be 
          returned. This OID is provided for informational purposes only.
          To change the outlet state, the user should use the sPDUOutletCtl
          OID in the sPDUOutletControlTable.

          The format of the data returned is a character string consisting
          of the word 'On' if the outlet is on or 'Off' if the outlet is
          off. At least one space will delimit each outlet entry in the 
          string. 
          
          If the outlet states are unknown, the character string 'Unknown'
          will be returned. This signifies that there is an inconsistancy 
          in the PDU. In the rare case that this should happen, the user 
          is advised to shut down all equipment powered by the PDU and 
          then cycle the PDU's power. This will put the PDU in a consistent
          state."
           
   ::= { sPDUMasterControl 2 }

sPDUMasterPending    OBJECT-TYPE
   SYNTAX DisplayString       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
          "Getting this OID will cause the command pending status of all outlets to be returned.

          The format of the data returned is a character string consisting
          of the word 'Yes' if a command is pending for the outlet or 'No'
          if there is no command pending for the outlet. At least one 
          space will delimit each outlet entry in the string. 
          
          If the pending states are unknown, the character string 'Unknown'
          will be returned. This signifies that there is an inconsistancy 
          in the PDU. In the rare case that this should happen, the user 
          is advised to shut down all equipment powered by the PDU and then
          cycle the PDU's power. This will put the PDU in a consistent state."
  ::= { sPDUMasterControl 3 }


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

       -1 never apply power automatically.
       0 apply power immediately.
       15 apply power in 15 seconds.
       30 apply power in 30 seconds.
       45 apply power in 45 seconds.
       60 apply power in 60 seconds  (1 minute).
       120 apply power in 120 seconds (2 minutes).
       300 apply power in 300 seconds (5 minutes).
       
       If a value other than a supported value is provided in a 
       set request, the PDU interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
       
   ::= { sPDUMasterConfig 1 }

sPDUMasterConfigReboot   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 values are:
       
       5 wait 5 seconds between off/on.
       10 wait 10 seconds between off/on.
       15 wait 15 seconds between off/on.
       20 wait 20 seconds between off/on.
       30 wait 30 seconds between off/on.
       45 wait 45 seconds between off/on.
       60 wait 60 seconds (1 minute) between off/on.
       
       If a value other than a supported value is provided in a 
       set request, the PDU interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used.

       This OID is read-only for the MasterSwitch version 2.X and is the 
       maximum sPDUOutletRebootDuration OID of the individual outlets."
       
   ::= { sPDUMasterConfig 2 }
   
sPDUMasterConfigPDUName  OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the PDU. The maximum value is 20 characters."
   ::= { sPDUMasterConfig 3 }



-- the sPDUOutletControl group
sPDUOutletControlTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlets for the PDU."
   ::= { sPDUOutletControl 1 }

   
sPDUOutletControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual outlet switches. The number of
       entries is contained in the sPDUOutletControlTableSize OID."
   ::= { sPDUOutletControl 2 }

sPDUOutletControlEntry OBJECT-TYPE
   SYNTAX OutletControlEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to control."
   INDEX  { sPDUOutletControlIndex}
   ::= { sPDUOutletControlTable 1 }

OutletControlEntry ::=
   SEQUENCE {
      sPDUOutletControlIndex  INTEGER,
      sPDUOutletPending       INTEGER,
      sPDUOutletCtl           INTEGER,
      sPDUOutletCtlName       DisplayString    
   }      

sPDUOutletControlIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletControlEntry 1 }
   
sPDUOutletPending OBJECT-TYPE
   SYNTAX INTEGER{
        commandPending        (1),
        noCommandPending      (2),
        commandPendingUnknown (3)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Reports whether the current outlet has a pending command.
      
       If the commandPendingUnknown (3) value is returned, all 
       devices powered by the PDU should be shut down. The PDU's
       power should then be cycled to clear this condition."
       
   ::= { sPDUOutletControlEntry 2 }
   
sPDUOutletCtl OBJECT-TYPE
   SYNTAX INTEGER {
        outletOn              (1),
        outletOff             (2),
        outletReboot          (3),
        outletUnknown         (4),
        outletOnWithDelay     (5),
        outletOffWithDelay    (6),
        outletRebootWithDelay (7)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the outletOn (1) value will be returned.
       If the outlet is off, the outletOff (2) value will be
       returned. 
       
       If the state of the outlet cannot be determined, the 
       outletUnknown (4) value will be returned. If the 
       outletUnknown condition should occur, all devices 
       powered by the PDU should be shut down. The PDU's power 
       should then be cycled to clear this condition.
       
       Setting this variable to outletOn (1) will turn the outlet on.
       
       Setting this variable to outletOff (2) will turn the outlet off. 

       Setting this variable to outletReboot (3) will reboot the outlet.
      
       Setting this variable to outletOnWithDelay (5) will turn the outlet on
       after the sPDUOutletPowerOnTime OID has elapsed. This option is not
       valid for MasterSwitch firmware version 1.X.

       Setting this variable to outletOffWithDelay (6) will turn the outlet off
       after the sPDUOutletPowerOffTime OID has elapsed. This option is not valid
       for MasterSwitch firmware version 1.X.

       Setting this variable to outletRebootWithDelay (7) will turn the outlet off
       after the sPDUOutletPowerOffTime OID has elapsed, wait the sPDUOutletRebootDuration
       OID time, then turn the outlet back on.  
       This option is not valid for MasterSwitch firmware version 1.X."

   ::= { sPDUOutletControlEntry 3 }

sPDUOutletCtlName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is 20 characters.
       This OID is provided for informational purposes only.
       This value is set by the sPDUOutletName OID."
       
   ::= { sPDUOutletControlEntry  4 }

-- the sPDUOutletConfig group
sPDUOutletConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of outlets for the PDU."
   ::= { sPDUOutletConfig 1 }

sPDUOutletConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF SPDUOutletConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The list of outlets to configure. The number of
       entries is defined by the sPDUOutletConfigTableSize
       OID."
       
   ::= { sPDUOutletConfig 2  }

sPDUOutletConfigEntry OBJECT-TYPE
   SYNTAX SPDUOutletConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to control."
   INDEX  { sPDUOutletConfigIndex}
   ::= { sPDUOutletConfigTable 1 }

SPDUOutletConfigEntry ::=
   SEQUENCE {
      sPDUOutletConfigIndex    INTEGER,
      sPDUOutletPowerOnTime    INTEGER,
      sPDUOutletName           DisplayString,
      sPDUOutletPowerOffTime   INTEGER,
      sPDUOutletRebootDuration INTEGER
   }      

sPDUOutletConfigIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletConfigEntry 1 }
   
sPDUOutletPowerOnTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet will delay 
       powering on when the MasterSwitch is powered on.
              
       Allowed values are:
       
       -1 never power on automatically.
       0  power on with the Master Switch.
       15 power on 15 seconds after the MasterSwitch has power applied.
       30 power on 30 seconds after the MasterSwitch has power applied.
       45 power on 45 seconds after the MasterSwitch has power applied.
       60 power on 60 seconds (1 minute) after the MasterSwitch has power applied.
       120 power on 120 seconds (2 minutes) after the MasterSwitch has power applied.
       300 power on 300 seconds (5 minutes) after the MasterSwitch has power applied.
       
       If a value other than a supported value is provided in a 
       set request, the PDU interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."

   ::= { sPDUOutletConfigEntry 2 }
   
sPDUOutletName   OBJECT-TYPE
   SYNTAX  DisplayString    ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is 20 characters."

   ::= { sPDUOutletConfigEntry  3 }

sPDUOutletPowerOffTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time (in seconds) the outlet will delay 
       powering off.
              
       Allowed values are:
       
       -1 never power off automatically.
       0  power off with the MasterSwitch.
       15 power off 15 seconds after being commanded.
       30 power off 30 seconds after being commanded.
       45 power off 45 seconds after being commanded.
       60 power off 60 seconds (1 minute) after being commanded.
       120 power off 120 seconds (2 minutes) after being commanded.
       300 power off 300 seconds (5 minutes) after being commanded.
       
       If a value other than a supported value is provided in a 
       set request, the PDU interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used.
       
       This OID is not available for MasterSwitch firmware version 1.X."

   ::= { sPDUOutletConfigEntry 4 }

sPDUOutletRebootDuration 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 values are:
       
       5 wait 5 seconds between off/on.
       10 wait 10 seconds between off/on.
       15 wait 15 seconds between off/on.
       20 wait 20 seconds between off/on.
       30 wait 30 seconds between off/on.
       45 wait 45 seconds between off/on.
       60 wait 60 seconds (1 minute) between off/on.
       
       If a value other than a supported value is provided in a 
       set request, the PDU interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used.

       This OID is not available for MasterSwitch firmware version 1.X."
       
   ::= { sPDUOutletConfigEntry 5 }


-- the sPDUIdentVM group

sPDUIdentVMTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch VMs controllable
       by this IP address."
   ::= { sPDUIdentVM 1 }

   
sPDUIdentVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IdentVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for query of the individual MasterSwitch VMs. 
       The number of entries is contained in the 
       sPDUIdentVMTableSize OID."
   ::= { sPDUIdentVM 2 }

sPDUIdentVMEntry OBJECT-TYPE
   SYNTAX IdentVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch VMs to query."
   INDEX  { sPDUIdentVMIndex}
   ::= { sPDUIdentVMTable 1 }

IdentVMEntry ::=
   SEQUENCE {
      sPDUIdentVMIndex                   INTEGER,
      sPDUIdentNameVM                    DisplayString,
      sPDUIdentHardwareRevVM             DisplayString,
      sPDUIdentFirmwareRevVM             DisplayString,
      sPDUIdentDateOfManufactureVM       DisplayString,
      sPDUIdentModelNumberVM             DisplayString,
      sPDUIdentSerialNumberVM            DisplayString
   }      

sPDUIdentVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM entry."
   ::= { sPDUIdentVMEntry 1 }

sPDUIdentNameVM OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 23-character string identifying the 
       MasterSwitch VM. "
   ::= { sPDUIdentVMEntry 2 }

sPDUIdentHardwareRevVM OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware version of the MasterSwitch VM. 
       This value is set at the factory."
   ::= { sPDUIdentVMEntry 3 }

sPDUIdentFirmwareRevVM OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An 6-character ID string identifying the MasterSwitch VM 
       firmware version. This value is set at the factory." 
   ::= {  sPDUIdentVMEntry 4 }


sPDUIdentDateOfManufactureVM OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the MasterSwitch VM was manufactured in mm/dd/yyyy format.
       This value is set at the factory. " 
   ::= { sPDUIdentVMEntry 5 }
   
sPDUIdentModelNumberVM OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 17-character string identifying the model number of 
       the MasterSwitch VM. This value is set at the factory."
   ::= { sPDUIdentVMEntry 6 }

sPDUIdentSerialNumberVM OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 17-character string identifying the serial number of 
       the MasterSwitch VM. This value is set at the factory."
   ::= { sPDUIdentVMEntry 7 }
   

-- the sPDUMasterControlVM group

sPDUMasterControlVMTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch VMs controllable
       by this IP address."
   ::= { sPDUMasterControlVM 1 }

   
sPDUMasterControlVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MasterControlVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of the individual MasterSwitch VMs.
       The number of entries is contained in the 
       sPDUMasterControlVMTableSize OID."
   ::= { sPDUMasterControlVM 2 }

sPDUMasterControlVMEntry OBJECT-TYPE
   SYNTAX MasterControlVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch VMs to control."
   INDEX  { sPDUMasterControlVMIndex}
   ::= { sPDUMasterControlVMTable 1 }

MasterControlVMEntry ::=
   SEQUENCE {
      sPDUMasterControlVMIndex           INTEGER,
      sPDUMasterControlVMName            DisplayString,
      sPDUMasterControlVMCommand         INTEGER
   }      

sPDUMasterControlVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM entry."
   ::= { sPDUMasterControlVMEntry 1 }

sPDUMasterControlVMName  OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch VM. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigVMName OID."
   ::= { sPDUMasterControlVMEntry 2 }

sPDUMasterControlVMCommand  OBJECT-TYPE
  SYNTAX INTEGER       {
      noCommandAllVM               (1),
      immediateAllOnVM             (2),
      immediateAllOffVM            (3),
      immediateAllRebootVM         (4),
      delayedAllOnVM               (5),
      delayedAllOffVM              (6),
      sequencedAllRebootVM         (7),
      delayedAllRebootVM           (8),
      delayedSequenceAllRebootVM   (9),
      cancelAllPendingCommandsVM   (10),
      audioAlarmMute               (11)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to immediateAllOnVM (2) will turn all outlets
       on immediately.
       
       Setting this OID to immediateAllOffVM (3) will turn all outlets
       off immediately.
       
       Setting this OID to immediateAllRebootVM (4) will reboot all outlets
       immediately.

       Setting this OID to delayedAllOnVM (5) will turn all outlets on as 
       defined by each outlet's sPDUOutletConfigVMPowerOnTime OID value. 
             
       Setting this OID to delayedAllOffVM (6) will turn all outlets 
       off as defined by each outlet's sPDUOutletConfigVMPowerOffTime OID value.
      
       Setting this OID to sequencedAllRebootVM (7) will cause a 
       immediateAllOffVM command to be performed. The MasterSwitch VM will 
       then delay the sPDUMasterStatusVMRebootDuration OID time, and then 
       perform a delayedAllOnVM command.    

       Setting this OID to delayedAllRebootVM (8) will cause a delayedAllOffVM
       command to be performed. Each outlet will then wait its 
       sPDUOutletConfigVMRebootDuration before returning power to the outlet.
       
       Setting this OID to delayedSequenceAllRebootVM (9) will cause a 
       delayedAllOffVM command to be performed. Once all outlets are off, 
       the MasterSwitch VM will then delay the sPDUMasterStatusVMRebootDuration 
       OID time, and then perform a delayedAllOnVM command.    
       
       Setting this OID to cancelAllPendingCommandsVM (10) will cause all pending
       commands on the MasterSwitch VM to be canceled.
       

       Setting this OID to audioAlarmMute (11) will temporarily silence the audible
       alarm for the duration of the current overload condition. The audible alarm
       will be activated on subsequent overload alarms.

       Getting this OID will return the noCommandAllVM (1) value."
   ::= { sPDUMasterControlVMEntry 3 }


-- the sPDUMasterConfigVM group

sPDUMasterConfigVMTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch VMs configurable
       by this IP address."
   ::= { sPDUMasterConfigVM 1 }

   
sPDUMasterConfigVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MasterConfigVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of the individual MasterSwitch VMs.
       The number of entries is contained in the 
       sPDUMasterConfigVMTableSize OID."
   ::= { sPDUMasterConfigVM 2 }

sPDUMasterConfigVMEntry OBJECT-TYPE
   SYNTAX MasterConfigVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch VMs to configure."
   INDEX  { sPDUMasterConfigVMIndex}
   ::= { sPDUMasterConfigVMTable 1 }

MasterConfigVMEntry ::=
   SEQUENCE {
      sPDUMasterConfigVMIndex                     INTEGER,
      sPDUMasterConfigVMName                      DisplayString,
      sPDUMasterConfigVMColdstartDelay            INTEGER,
      sPDUMasterConfigVMAudioAlarmActivated       INTEGER,
      sPDUMasterConfigVMHighLoadWarningThreshold  INTEGER,
      sPDUMasterConfigVMLowLoadWarningThreshold   INTEGER,
      sPDUMasterConfigVMOverloadRestriction       INTEGER
   }      
   
sPDUMasterConfigVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM entry."
   ::= { sPDUMasterConfigVMEntry 1 }


sPDUMasterConfigVMName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch VM. Maximum size is 23 characters."
   ::= { sPDUMasterConfigVMEntry 2 }

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

       -1 never apply power automatically.
       0 apply power immediately.
       15 apply power in 15 seconds.
       30 apply power in 30 seconds.
       45 apply power in 45 seconds.
       60 apply power in 60 seconds  (1 minute).
       120 apply power in 120 seconds (2 minutes).
       300 apply power in 300 seconds (5 minutes).
       
       If a value other than a supported value is provided in a 
       set request, the MasterSwitch VM interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { sPDUMasterConfigVMEntry 3 }

sPDUMasterConfigVMAudioAlarmActivated  OBJECT-TYPE
   SYNTAX INTEGER       {
      audioAlarmActiveNever               (1),
      audioAlarmActiveOnOverload          (2),
      audioAlarmActiveOnOverloadImminent  (3)
   }

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to audioAlarmActiveNever (1) will disable
       the audio alarm on the MasterSwitch VM.
       
       Setting this OID to audioAlarmActiveOnOverload (2) will 
       activate the audio alarm on the MasterSwitch VM when an
       overload condition is present.       

       Setting this OID to audioAlarmActiveOnOverloadImminent (3) 
       will activate the audio alarm on the MasterSwitch VM when
       the load on the MasterSwitch VM has surpassed the
       sPDUMasterConfigVMHighLoadWarningThreshold OID value."
   ::= { sPDUMasterConfigVMEntry 4 }
   
sPDUMasterConfigVMHighLoadWarningThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A threshold that indicates the power consumption of
       the load is nearing an overload condition. It is 
       represented as a percentage of full load."
   ::= { sPDUMasterConfigVMEntry 5 }

sPDUMasterConfigVMLowLoadWarningThreshold OBJECT-TYPE
   SYNTAX INTEGER (0..100)               
   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 as a percentage of full load."
   ::= { sPDUMasterConfigVMEntry 6 }

sPDUMasterConfigVMOverloadRestriction OBJECT-TYPE
   SYNTAX INTEGER       {
      alwaysAllowTurnON         (1),
      restrictOnWarning         (2),
      restrictOnOverload        (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID controls the behavior of the MasterSwitch VM
       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 to turn on.
       
       Setting this OID to restrictOnWarning (2) will not allow 
       outlets to turn on if the sPDUMasterConfigVMHighLoadWarningThreshold
       OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets to turn on if the MasterSwitch Vm is in an 
       overload condition."
   ::= { sPDUMasterConfigVMEntry 7 }

-- the sPDUMasterStatusVM group

sPDUMasterStatusVMTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch VMs at
       this IP address."
   ::= { sPDUMasterStatusVM 1 }

   
sPDUMasterStatusVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MasterStatusVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for gathering of status from the individual 
       MasterSwitch VMs. The number of entries is contained 
       in the sPDUMasterStatusVMTableSize OID."
   ::= { sPDUMasterStatusVM 2 }

sPDUMasterStatusVMEntry OBJECT-TYPE
   SYNTAX MasterStatusVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch VMs to gather status from."
   INDEX  { sPDUMasterStatusVMIndex}
   ::= { sPDUMasterStatusVMTable 1 }

MasterStatusVMEntry ::=
   SEQUENCE {
      sPDUMasterStatusVMIndex                     INTEGER,
      sPDUMasterStatusVMName                      DisplayString,
      sPDUMasterStatusVMCommandPending            INTEGER,
      sPDUMasterStatusVMOverloadCondition         INTEGER,
      sPDUMasterStatusVMLowLoadCondition          INTEGER,
      sPDUMasterStatusVMCurrentLoad               INTEGER,
      sPDUMasterStatusVMMaxLoad                   INTEGER,
      sPDUMasterStatusVMOutletCount               INTEGER,
      sPDUMasterStatusVMRebootDuration            INTEGER
   }      
   
sPDUMasterStatusVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM entry."
   ::= { sPDUMasterStatusVMEntry 1 }

sPDUMasterStatusVMName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch VM. Maximum size is 23 characters."
   ::= { sPDUMasterStatusVMEntry 2 }

sPDUMasterStatusVMCommandPending OBJECT-TYPE
   SYNTAX INTEGER       {
      commandPendingMasterTrueVM      (1),
      commandPendingMasterFalseVM     (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return commandPendingMasterTrueVM (1)
       if the MasterSwitch VM has a pending command on any of its
       outlets.

       commandPendingMasterFalseVM (2) will be returned if there are
       no pending commands." 
   ::= { sPDUMasterStatusVMEntry 3 }

sPDUMasterStatusVMOverloadCondition OBJECT-TYPE
   SYNTAX INTEGER       {
      overloadConditionTrueVM         (1),
      overloadConditionFalseVM        (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return overloadConditionTrueVM (1)
       if the sPDUMasterConfigVMHighLoadWarningThreshold OID is
       violated.

       overloadConditionFalseVM (2) will be returned if the 
       sPDUMasterConfigVMHighLoadWarningThreshold OID is not
       violated."
   ::= { sPDUMasterStatusVMEntry 4 }

sPDUMasterStatusVMLowLoadCondition OBJECT-TYPE
   SYNTAX INTEGER       {
      lowLoadConditionTrueVM            (1),
      lowLoadConditionFalseVM           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return lowLoadConditionTrueVM (1)
       if the sPDUMasterConfigVMLowLoadWarningThreshold OID is
       violated.

       lowLoadConditionFalseVM (2) will be returned if the 
       sPDUMasterConfigVMHighLoadWarningThreshold OID is not
       violated. "
   ::= { sPDUMasterStatusVMEntry 5 }

sPDUMasterStatusVMCurrentLoad   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the total amount of power
       being consumed by the load. It is represented as a 
       percentage of full load."
   ::= { sPDUMasterStatusVMEntry 6 }

sPDUMasterStatusVMMaxLoad   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the total amount of power
       that this MasterSwitch VM can provide. It is represented
       in Amps."  
   ::= { sPDUMasterStatusVMEntry 7 }

sPDUMasterStatusVMOutletCount   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of controllable
       outlets for this MasterSwitch VM."
   ::= { sPDUMasterStatusVMEntry 8 }

sPDUMasterStatusVMRebootDuration   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the largest
       sPDUOutletConfigVMRebootDuration OID time 
       for this MasterSwitch VM."
   ::= { sPDUMasterStatusVMEntry 9 }

-- the sPDUOutletControlVM group

   
sPDUOutletControlVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletControlVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual outlet switches. The number of
       entries is contained in the sPDUMasterStatusOutletCount OID."
   ::= { sPDUOutletControlVM 1 }

sPDUOutletControlVMEntry OBJECT-TYPE
   SYNTAX OutletControlVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to control."
   INDEX  { sPDUOutletControlVMIndex, sPDUOutletControlVMOutletIndex }
   ::= { sPDUOutletControlVMTable 1 }

OutletControlVMEntry ::=
   SEQUENCE {
      sPDUOutletControlVMIndex         INTEGER,
      sPDUOutletControlVMName          DisplayString,   
      sPDUOutletControlVMOutletIndex   INTEGER,
      sPDUOutletControlVMOutletName    DisplayString,
      sPDUOutletControlVMOutletCommand INTEGER
   }      

sPDUOutletControlVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM."
   ::= { sPDUOutletControlVMEntry 1 }

sPDUOutletControlVMName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch VM. Maximum size is 23 characters.
       This OID is provided for informational purposes only."
   ::= { sPDUOutletControlVMEntry 2 }

sPDUOutletControlVMOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletControlVMEntry 3 }
   
sPDUOutletControlVMOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is 23 characters.
       This OID is provided for informational purposes only."
   ::= { sPDUOutletControlVMEntry 4 }

sPDUOutletControlVMOutletCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateOnVM             (1),
      immediateOffVM            (2),
      immediateRebootVM         (3),
      delayedOnVM               (4),
      delayedOffVM              (5),
      delayedRebootVM           (6),
      cancelPendingCommandVM    (7)

   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the immediateOnVM (1) value will be returned.
       If the outlet is off, the immediateOffVM (2) value will be
       returned. 
       
       
       Setting this variable to immediateOnVM (1) will immediately turn the outlet on.
       
       Setting this variable to immediateOffVM (2) will immediately turn the outlet off. 

       Setting this variable to immediateRebootVM (3) will immediately reboot the outlet.
      
       Setting this variable to delayedOnVM (4) will turn the outlet on
       after the sPDUOutletConfigVMPowerOnTime OID time has elapsed.   

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

       Setting this variable to delayedRebootVM  (6) will cause the 
       MasterSwitch VM to perform a delayedOffVM command, wait the 
       sPDUOutletConfigVMRebootDuration OID time, and then perform the
       immediateOnVM command.
       
       Setting this variable to cancelPendingCommandVM (7) will cause any
       pending command to this outlet to be canceled."
   ::= { sPDUOutletControlVMEntry 5 }

-- the sPDUOutletConfigVM group
  
sPDUOutletConfigVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletConfigVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual outlets. The number of
       entries is contained in the sPDUMasterStatusOutletCount OID."
   ::= { sPDUOutletConfigVM 1 }

sPDUOutletConfigVMEntry OBJECT-TYPE
   SYNTAX OutletConfigVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to configure."
   INDEX  { sPDUOutletConfigVMIndex, sPDUOutletConfigVMOutletIndex }
   ::= { sPDUOutletConfigVMTable 1 }

OutletConfigVMEntry ::=
   SEQUENCE {
      sPDUOutletConfigVMIndex          INTEGER,
      sPDUOutletConfigVMName           DisplayString,   
      sPDUOutletConfigVMOutletIndex    INTEGER,
      sPDUOutletConfigVMOutletName     DisplayString,
      sPDUOutletConfigVMPowerOnTime    INTEGER,
      sPDUOutletConfigVMPowerOffTime   INTEGER,
      sPDUOutletConfigVMRebootDuration INTEGER
   }      

sPDUOutletConfigVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM."
   ::= { sPDUOutletConfigVMEntry 1 }

sPDUOutletConfigVMName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch VM. Maximum size is 23 characters."
   ::= { sPDUOutletConfigVMEntry 2 }

sPDUOutletConfigVMOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletConfigVMEntry 3 }
   

sPDUOutletConfigVMOutletName   OBJECT-TYPE
   SYNTAX  DisplayString    ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is 23 characters."
   ::= { sPDUOutletConfigVMEntry 4 }

sPDUOutletConfigVMPowerOnTime 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.
       15 power on 15 seconds after being commanded.
       30 power on 30 seconds after being commanded.
       45 power on 45 seconds after being commanded.
       60 power on 60 seconds (1 minute) after being commanded.
       120 power on 120 seconds (2 minutes) after being commanded.
       300 power on 300 seconds (5 minutes) after being commanded.
       
       If a value other than a supported value is provided in a 
       set request, the MasterSwitch VM interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { sPDUOutletConfigVMEntry 5 }
   

sPDUOutletConfigVMPowerOffTime 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 automatically.
       0  power off immediately.
       15 power off 15 seconds after being commanded.
       30 power off 30 seconds after being commanded.
       45 power off 45 seconds after being commanded.
       60 power off 60 seconds (1 minute) after being commanded.
       120 power off 120 seconds (2 minutes) after being commanded.
       300 power off 300 seconds (5 minutes) after being commanded.
       
       If a value other than a supported value is provided in a 
       set request, the MasterSwitch VM interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { sPDUOutletConfigVMEntry 6 }

sPDUOutletConfigVMRebootDuration 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 values are:
       
       5 wait 5 seconds between off/on.
       10 wait 10 seconds between off/on.
       15 wait 15 seconds between off/on.
       20 wait 20 seconds between off/on.
       30 wait 30 seconds between off/on.
       45 wait 45 seconds between off/on.
       60 wait 60 seconds (1 minute) between off/on.
       
       If a value other than a supported value is provided in a 
       set request, the MasterSwitch VM interprets it as the next lower
       acceptable value.  If the provided value is lower than
       the lowest acceptable value, the lowest acceptable 
       value is used."
   ::= { sPDUOutletConfigVMEntry 7 }

-- the sPDUOutletStatusVM group
  
sPDUOutletStatusVMTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletStatusVMEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of individual outlets. The number of
       entries is contained in the sPDUMasterStatusOutletCount OID."
   ::= { sPDUOutletStatusVM 1 }

sPDUOutletStatusVMEntry OBJECT-TYPE
   SYNTAX OutletStatusVMEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to gather status from."
   INDEX  { sPDUOutletStatusVMIndex, sPDUOutletStatusVMOutletIndex }
   ::= { sPDUOutletStatusVMTable 1 }

OutletStatusVMEntry ::=
   SEQUENCE {
      sPDUOutletStatusVMIndex          INTEGER,
      sPDUOutletStatusVMName           DisplayString,   
      sPDUOutletStatusVMOutletIndex    INTEGER,
      sPDUOutletStatusVMOutletName     DisplayString,
      sPDUOutletStatusVMOutletState    INTEGER,
      sPDUOutletStatusVMCommandPending INTEGER
   }      

sPDUOutletStatusVMIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch VM."
   ::= { sPDUOutletStatusVMEntry 1 }

sPDUOutletStatusVMName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch VM. Maximum size is 23 characters."
   ::= { sPDUOutletStatusVMEntry 2 }

sPDUOutletStatusVMOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletStatusVMEntry 3 }
   
sPDUOutletStatusVMOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is 23 characters."
   ::= { sPDUOutletStatusVMEntry 4 }

sPDUOutletStatusVMOutletState OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusVMOn              (1),
        outletStatusVMOff             (2)
   }     

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

sPDUOutletStatusVMCommandPending    OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusVMCommandPending    (1),
        outletStatusVMNoCommandPending  (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 outletStatusVMCommandPending (1) value
        will be returned. If there is not a command pending
        on the outlet, the outletStatusVMNoCommandPending (2)
        will be returned."
   ::= { sPDUOutletStatusVMEntry 6 }

-- the sPDUIdentMSP group

sPDUIdentMSPTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch pluses controllable
       by this IP address."
   ::= { sPDUIdentMSP 1 }

   
sPDUIdentMSPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IdentMSPEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for query of the individual MasterSwitch pluses. 
       The number of entries is contained in the 
       sPDUIdentMSPTableSize OID."
   ::= { sPDUIdentMSP 2 }

sPDUIdentMSPEntry OBJECT-TYPE
   SYNTAX IdentMSPEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch pluses to query."
   INDEX  { sPDUIdentMSPIndex}
   ::= { sPDUIdentMSPTable 1 }

IdentMSPEntry ::=
   SEQUENCE {
      sPDUIdentMSPIndex                   INTEGER,
      sPDUIdentNameMSP                   DisplayString,
      sPDUIdentHardwareRevMSP            DisplayString,
      sPDUIdentFirmwareRevMSP            DisplayString,
      sPDUIdentDateOfManufactureMSP      DisplayString,
      sPDUIdentModelNumberMSP            DisplayString,
      sPDUIdentSerialNumberMSP           DisplayString
   }      

sPDUIdentMSPIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus entry."
   ::= { sPDUIdentMSPEntry 1 }

sPDUIdentNameMSP OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUIdentMSPEntry 2 }

sPDUIdentHardwareRevMSP OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware version of the MasterSwitch plus. 
       This value is set at the factory."
   ::= { sPDUIdentMSPEntry 3 }

sPDUIdentFirmwareRevMSP OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An 6-character ID string identifying the MasterSwitch plus 
       firmware version. This value is set at the factory." 
   ::= {  sPDUIdentMSPEntry 4 }

sPDUIdentDateOfManufactureMSP OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the MasterSwitch plus was manufactured in mm/dd/yyyy format.
       This value is set at the factory. " 
   ::= { sPDUIdentMSPEntry 5 }
   
sPDUIdentModelNumberMSP OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 17-character string identifying the model number of 
       the MasterSwitch plus. This value is set at the factory."
   ::= { sPDUIdentMSPEntry 6 }

sPDUIdentSerialNumberMSP OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 17-character string identifying the serial number of 
       the MasterSwitch plus. This value is set at the factory."
   ::= { sPDUIdentMSPEntry 7 }
   

-- the sPDUMasterControlMSP group

sPDUMasterControlMSPTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch pluses controllable
       by this IP address."
   ::= { sPDUMasterControlMSP 1 }

sPDUMasterControlMSPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MasterControlMSPEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of the individual MasterSwitch pluses.
       The number of entries is contained in the 
       sPDUMasterControlMSPTableSize OID."
   ::= { sPDUMasterControlMSP 2 }

sPDUMasterControlMSPEntry OBJECT-TYPE
   SYNTAX MasterControlMSPEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch pluses to control."
   INDEX  { sPDUMasterControlMSPIndex}
   ::= { sPDUMasterControlMSPTable 1 }

MasterControlMSPEntry ::=
   SEQUENCE {
      sPDUMasterControlMSPIndex           INTEGER,
      sPDUMasterControlMSPName            DisplayString,
      sPDUMasterControlMSPCommand         INTEGER
   }      

sPDUMasterControlMSPIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus entry."
   ::= { sPDUMasterControlMSPEntry 1 }

sPDUMasterControlMSPName  OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUMasterControlMSPEntry 2 }

sPDUMasterControlMSPCommand  OBJECT-TYPE
  SYNTAX INTEGER       {
      noCommandAllMSP              (1),
      immediateAllOnMSP            (2),
      sequencedAllOnMSP            (3),
      immediateAllOffMSP           (4),
      gracefulAllRebootMSP         (5),
      immediateAllRebootMSP        (6),
      gracefulAllShutdownMSP       (7),
      overrideAllBatCapThreshMSP   (8),
      cancelAllPendingCommandsMSP  (9),
      restoreFactoryDefaultsMSP   (10)
   }
   
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to immediateAllOnMSP (2) will turn all outlets
       on immediately.
       
       Setting this OID to sequencedAllOnMSP (3) will turn all outlets
       on as defined by each outlet's sPDUOutletConfigMSPPowerOnDelay OID value.

       Setting this OID to immediateAllOffMSP (4) will turn all outlets
       off immediately.
       
       Setting this OID to gracefulAllRebootMSP (5) will reboot all outlets
       (after the device running PowerChute confirms shutdown) as defined 
       by each outlet's sPDUOutletConfigMSPRebootDuration OID time value.

       Setting this OID to immediateAllRebootMSP (6) will reboot all outlets
       immediately.

       Setting this OID to gracefulAllShutdownMSP (7) will shutdown all outlets
       (after the device running PowerChute confirms shutdown) as defined 
       by each outlet's sPDUOutletConfigMSPPowerOffDelay OID time value.  Each 
       outlet will then turn on after the sum of its 
       sPDUOutletConfigMSPRestartDelay and sPDUOutletConfigMSPPowerOnDelay OID 
       values.

       Setting this OID to overrideAllBatCapThreshMSP (8) will cause the 
       outlet to ignore the Battery Capacity Threshold and proceed turning on
       the outlets as defined by each outlet's sPDUOutletConfigMSPPowerOnDelay 
       OID value.
                    
       Setting this OID to cancelAllPendingCommandsMSP (9) will cause all pending
       commands on the MasterSwitch plus to be canceled.

       Setting this OID to restoreFactoryDefaultsMSP (10) will cause the settings of
       the MasterSwitch plus to be restored to the factory defaults.

       Getting this OID will return the noCommandAllMSP (1) value."
   ::= { sPDUMasterControlMSPEntry 3 }


-- the sPDUMasterConfigMSP group

sPDUMasterConfigMSPTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch pluses configurable
       by this IP address."
   ::= { sPDUMasterConfigMSP 1 }
   
sPDUMasterConfigMSPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MasterConfigMSPEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of the individual MasterSwitch pluses.
       The number of entries is contained in the 
       sPDUMasterConfigMSPTableSize OID."
   ::= { sPDUMasterConfigMSP 2 }

sPDUMasterConfigMSPEntry OBJECT-TYPE
   SYNTAX MasterConfigMSPEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch pluses to configure."
   INDEX  { sPDUMasterConfigMSPIndex}
   ::= { sPDUMasterConfigMSPTable 1 }

MasterConfigMSPEntry ::=
   SEQUENCE {
      sPDUMasterConfigMSPIndex                     INTEGER,
      sPDUMasterConfigMSPName                      DisplayString,
      sPDUMasterConfigMSPPowerOnTimeDelay          INTEGER,
      sPDUMasterConfigMSPManualButton              INTEGER
   }      
   
sPDUMasterConfigMSPIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus entry."
   ::= { sPDUMasterConfigMSPEntry 1 }

sPDUMasterConfigMSPName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. Maximum size is 23 characters."
   ::= { sPDUMasterConfigMSPEntry 2 }

sPDUMasterConfigMSPPowerOnTimeDelay  OBJECT-TYPE
   SYNTAX INTEGER (0..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of delay, in seconds, between when
        power is provided to the MasterSwitch plus and 
        when the MasterSwitch plus provides basic master 
        power to the outlets.       
       
       Allowed values are:

       0 - 9999 seconds (0 - 2hrs, 46 mins, 39 secs).
       0 indicates to apply power immediately."
   ::= { sPDUMasterConfigMSPEntry 3 }
   

sPDUMasterConfigMSPManualButton  OBJECT-TYPE
   SYNTAX INTEGER       {
      manualButtonDisabled              (1),
      manualButtonEnabled               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to manualButtonDisabled (1) will disable
       the manual button on the MasterSwitch plus.

       Setting this OID to manualButtonEnabled (2) will enable
       the manual button on the MasterSwitch plus."
   ::= { sPDUMasterConfigMSPEntry 4 }
   
-- the sPDUMasterStatusMSP group

sPDUMasterStatusMSPTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of MasterSwitch pluses at
       this IP address."
   ::= { sPDUMasterStatusMSP 1 }

   
sPDUMasterStatusMSPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MasterStatusMSPEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for gathering of status from the individual 
       MasterSwitch pluses. The number of entries is contained 
       in the sPDUMasterStatusMSPTableSize OID."
   ::= { sPDUMasterStatusMSP 2 }

sPDUMasterStatusMSPEntry OBJECT-TYPE
   SYNTAX MasterStatusMSPEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The MasterSwitch pluses to gather status from."
   INDEX  { sPDUMasterStatusMSPIndex}
   ::= { sPDUMasterStatusMSPTable 1 }

MasterStatusMSPEntry ::=
   SEQUENCE {
      sPDUMasterStatusMSPIndex                     INTEGER,
      sPDUMasterStatusMSPName                      DisplayString,
      sPDUMasterStatusMSPOutletCount               INTEGER
   }      
   
sPDUMasterStatusMSPIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus entry."
   ::= { sPDUMasterStatusMSPEntry 1 }

sPDUMasterStatusMSPName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUMasterStatusMSPEntry 2 }

sPDUMasterStatusMSPOutletCount   OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the number of controllable
       outlets for this MasterSwitch plus."
   ::= { sPDUMasterStatusMSPEntry 3 }

-- the sPDUOutletControlMSP group
   
sPDUOutletControlMSPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletControlMSPEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual outlet switches. The number of
       entries is contained in the sPDUMasterStatusMSPOutletCount OID."
   ::= { sPDUOutletControlMSP 1 }

sPDUOutletControlMSPEntry OBJECT-TYPE
   SYNTAX OutletControlMSPEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to control."
   INDEX  { sPDUOutletControlMSPIndex, sPDUOutletControlMSPOutletIndex }
   ::= { sPDUOutletControlMSPTable 1 }

OutletControlMSPEntry ::=
   SEQUENCE {
      sPDUOutletControlMSPIndex         INTEGER,
      sPDUOutletControlMSPName          DisplayString,   
      sPDUOutletControlMSPOutletIndex   INTEGER,
      sPDUOutletControlMSPOutletName    DisplayString,
      sPDUOutletControlMSPOutletCommand INTEGER
   }      

sPDUOutletControlMSPIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus."
   ::= { sPDUOutletControlMSPEntry 1 }

sPDUOutletControlMSPName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUOutletControlMSPEntry 2 }

sPDUOutletControlMSPOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletControlMSPEntry 3 }
   
sPDUOutletControlMSPOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum size is 
       23 characters. The name is set by using the 
       sPDUOutletConfigMSPallOutletName OID.
       This OID is provided for informational purposes only."       
   ::= { sPDUOutletControlMSPEntry 4 }

sPDUOutletControlMSPOutletCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateOnMSP            (1),
      delayedOnMSP              (2),
      immediateOffMSP           (3),
      gracefulRebootMSP         (4),
      immediateRebootMSP        (5),
      gracefulshutdownMSP       (6),
      overrideBatCapThreshMSP   (7),
      cancelPendingCommandMSP   (8)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the immediateOnMSP (1) value will be returned.
       If the outlet is off, the immediateOffMSP (3) value will be
       returned.  
       
       Setting this variable to immediateOnMSP (1) will immediately turn the outlet on.
       
       Setting this variable to delayedOnMSP (2) will turn the outlet on
       after the sPDUOutletConfigMSPPowerOnDelay OID time has elapsed. 

       Setting this variable to immediateOffMSP (3) will immediately turn the outlet off. 

       Setting this variable to gracefulRebootMSP (4) will cause the outlet to wait for
       device confirmation (if applicable) and then turn the outlet off after the
       sPDUOutletConfigMSPPowerOffDelay OID time has elapsed.  The outlet will then turn
       on after the sPDUOutletConfigMSPRebootDuration OID time has elapsed. 

       Setting this variable to immediateRebootMSP (5) will immediately reboot the outlet.

       Setting this variable to gracefulshutdownMSP (6) will cause the outlet to wait for
       device confirmation (if applicable) and then turn the outlet off after the
       sPDUOutletConfigMSPPowerOffDelay OID time has elapsed.  The outlet will then turn
       on after the sum of the sPDUOutletConfigMSPRestartTime OID time and the 
       sPDUOutletConfigMSPPowerOnDelay OID time has elapsed. 
      
       Setting this variable to overrideBatCapThreshMSP (7) will cause the outlet to 
       ignore the Battery Capacity Threshold and proceed waiting on the
       sPDUOutletConfigMSPPowerOnDelay OID time before turning the outlet on.
           
       Setting this variable to cancelPendingCommandMSP (8) will cause any
       pending command to this outlet to be canceled."
   ::= { sPDUOutletControlMSPEntry 5 }

-- the sPDUOutletConfigMSPall group
  
sPDUOutletConfigMSPallTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletConfigMSPallEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual outlets. The number of
       entries is contained in the sPDUMasterStatusMSPOutletCount OID."
   ::= { sPDUOutletConfigMSPall 1 }

sPDUOutletConfigMSPallEntry OBJECT-TYPE
   SYNTAX OutletConfigMSPallEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to configure."
   INDEX  { sPDUOutletConfigMSPallIndex, sPDUOutletConfigMSPallOutletIndex }
   ::= { sPDUOutletConfigMSPallTable 1 }

OutletConfigMSPallEntry ::=
   SEQUENCE {
      sPDUOutletConfigMSPallIndex          INTEGER,
      sPDUOutletConfigMSPallName           DisplayString,   
      sPDUOutletConfigMSPallOutletIndex    INTEGER,
      sPDUOutletConfigMSPallOutletName     DisplayString,
      sPDUOutletConfigMSPallOutletCtrlMode INTEGER
   }      

sPDUOutletConfigMSPallIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus."
   ::= { sPDUOutletConfigMSPallEntry 1 }

sPDUOutletConfigMSPallName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUOutletConfigMSPallEntry 2 }

sPDUOutletConfigMSPallOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletConfigMSPallEntry 3 }
   
sPDUOutletConfigMSPallOutletName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is 23 characters."
   ::= { sPDUOutletConfigMSPallEntry 4 }

sPDUOutletConfigMSPallOutletCtrlMode  OBJECT-TYPE
   SYNTAX INTEGER       {
      modeGracefulShutdown              (1),
      modeAnnunciator                   (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to modeGracefulShutdown (1) will put this
       outlet into the Graceful Shutdown control mode.

       Setting this OID to modeAnnunciator (2) will put this outlet
       into the Annunciator control mode."
   ::= { sPDUOutletConfigMSPallEntry 5 }


-- the sPDUOutConfigMSPgs group

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

sPDUOutletConfigMSPgsEntry OBJECT-TYPE
   SYNTAX OutletConfigMSPgsEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to configure."
   INDEX  { sPDUOutletConfigMSPgsIndex, sPDUOutletConfigMSPgsOutletIndex }
   ::= { sPDUOutletConfigMSPgsTable 1 }

OutletConfigMSPgsEntry ::=
   SEQUENCE {
      sPDUOutletConfigMSPgsIndex          INTEGER,
      sPDUOutletConfigMSPgsName           DisplayString,   
      sPDUOutletConfigMSPgsOutletIndex    INTEGER,
      sPDUOutletConfigMSPgsOutletName     DisplayString,
      sPDUOutletConfigMSPgsOutletCtrlMode INTEGER,
      sPDUOutletConfigMSPgsDeviceConfirm  INTEGER,
      sPDUOutletConfigMSPgsLowBattWarning INTEGER,
      sPDUOutletConfigMSPgsLowBattMult    INTEGER,
      sPDUOutletConfigMSPgsRestartDelay   INTEGER,
      sPDUOutletConfigMSPgsPowerOnDelay   INTEGER,
      sPDUOutletConfigMSPgsPowerOffDelay  INTEGER,
      sPDUOutletConfigMSPgsBattCapThresh  INTEGER,
      sPDUOutletConfigMSPgsRebootDuration INTEGER
   }      

sPDUOutletConfigMSPgsIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus."
   ::= { sPDUOutletConfigMSPgsEntry 1 }

sPDUOutletConfigMSPgsName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUOutletConfigMSPgsEntry 2 }

sPDUOutletConfigMSPgsOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletConfigMSPgsEntry 3 }

sPDUOutletConfigMSPgsOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum size is 
       23 characters. The name is set by using the 
       sPDUOutletConfigMSPallOutletName OID.
       This OID is provided for informational purposes only."       
   ::= { sPDUOutletConfigMSPgsEntry 4 }

sPDUOutletConfigMSPgsOutletCtrlMode  OBJECT-TYPE
   SYNTAX INTEGER       {
      modeGracefulShutdown              (1),
      modeAnnunciator                   (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Control Mode of the outlet.
       This OID is provided for informational purposes only."
   ::= { sPDUOutletConfigMSPgsEntry 5 }

sPDUOutletConfigMSPgsDeviceConfirm  OBJECT-TYPE
   SYNTAX INTEGER       {
      deviceConfirmNo               (1),
      deviceConfirmYes              (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to deviceConfirmNo (1) cause the outlet to
       NOT wait for device confirmation while performing graceful
       operations.

       Setting this OID to deviceConfirmYes (2) cause the outlet to
       wait for device confirmation while performing graceful
       operations."
   ::= { sPDUOutletConfigMSPgsEntry 6 }

sPDUOutletConfigMSPgsLowBattWarning  OBJECT-TYPE
   SYNTAX INTEGER (-2..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of delay, in 6 second intervals, between 
        when the UPS goes on battery and the power down sequence for
        the outlet is initiated.     
       
       Allowed values are:

       -2 - Never initiate the power down sequence on low battery warning.
       -1 - Initiate power down sequence based on remaining runtime.
       1 - 9999 six second intervals (6 secs - 16hrs, 39 mins, 54 secs).
       0 indicates to immediately initiate power down sequence on low 
         battery warning."
   ::= { sPDUOutletConfigMSPgsEntry 7 }
   
sPDUOutletConfigMSPgsLowBattMult  OBJECT-TYPE
   SYNTAX INTEGER     (1..7)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
     " Only applicable if sPDUOutletConfigMSPgsLowBattWarning OID is 
       set to -1 (On Runtime Remaining).
        
       Allows you to set the value to stagger the shutdown sequence of the outlets.
       1 provides the longest delay (the outlet to shutoff first), and 7 would
       provide the shortest delay (the outlet to shut off last).
        
       Allowed values are:
       1 - 7."
   ::= { sPDUOutletConfigMSPgsEntry 8 }

sPDUOutletConfigMSPgsRestartDelay  OBJECT-TYPE
   SYNTAX INTEGER (-1..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of delay, in 6 minute intervals, between 
        when the outlet is turned off and the outlet is turned back on
        when performing a Graceful Shutdown.    
       
       Allowed values are:

       -1 - Never turn outlet back on after a Graceful shutdown.
       0 - 9999 six minute intervals (0 - 999hrs, 54 mins)."
   ::= { sPDUOutletConfigMSPgsEntry 9 }

sPDUOutletConfigMSPgsPowerOnDelay  OBJECT-TYPE
   SYNTAX INTEGER (-1..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of delay, in seconds, between the UPS entering
        normal (on-line) state and the outlet being powered on.
       
       Allowed values are:

       -1 - Remain Off when the UPS enters the on-line state.
       0 - 9999 seconds (0 - 2 hrs, 46 mins, 39 secs)."
   ::= { sPDUOutletConfigMSPgsEntry 10 }


sPDUOutletConfigMSPgsPowerOffDelay  OBJECT-TYPE
   SYNTAX INTEGER (0..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of delay, in seconds, between when the server
        shuts down and the outlet is powered off.
       
       Allowed values are:

       0 - 9999 seconds (0 - 2 hrs, 46 mins, 39 secs)."
   ::= { sPDUOutletConfigMSPgsEntry 11 }
   
sPDUOutletConfigMSPgsBattCapThresh  OBJECT-TYPE
   SYNTAX INTEGER (0..100)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The minimum battery capacity, as a percent (0-100%), required
        of the UPS before an outlet will be allowed to power on.
       
       Allowed values are:

       0 - 100 percent."
   ::= { sPDUOutletConfigMSPgsEntry 12 }

sPDUOutletConfigMSPgsRebootDuration  OBJECT-TYPE
   SYNTAX INTEGER (0..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of delay, in seconds, from outlet off until
        outlet on during a reboot.
        
       Allowed values are:

       0 - 9999 seconds (0 - 2 hrs, 46 mins, 39 secs)."
   ::= { sPDUOutletConfigMSPgsEntry 13 }


-- the sPDUOutConfigMSPannun group

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

sPDUOutletConfigMSPannunEntry OBJECT-TYPE
   SYNTAX OutletConfigMSPannunEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to configure."
   INDEX  { sPDUOutletConfigMSPannunIndex, sPDUOutletConfigMSPannunOutletIndex }
   ::= { sPDUOutletConfigMSPannunTable 1 }

OutletConfigMSPannunEntry ::=
   SEQUENCE {
      sPDUOutletConfigMSPannunIndex          INTEGER,
      sPDUOutletConfigMSPannunName           DisplayString,   
      sPDUOutletConfigMSPannunOutletIndex    INTEGER,
      sPDUOutletConfigMSPannunOutletName     DisplayString,
      sPDUOutletConfigMSPannunOutletCtrlMode INTEGER,     
      sPDUOutletConfigMSPannunInitialState   INTEGER,
      sPDUOutletConfigMSPannunAlarmActionDly INTEGER
   }      

sPDUOutletConfigMSPannunIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus."
   ::= { sPDUOutletConfigMSPannunEntry 1 }

sPDUOutletConfigMSPannunName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUOutletConfigMSPannunEntry 2 }

sPDUOutletConfigMSPannunOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletConfigMSPannunEntry 3 }

sPDUOutletConfigMSPannunOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum size is 
       23 characters. The name is set by using the 
       sPDUOutletConfigMSPallOutletName OID.
       This OID is provided for informational purposes only."       
   ::= { sPDUOutletConfigMSPannunEntry 4 }

sPDUOutletConfigMSPannunOutletCtrlMode  OBJECT-TYPE
   SYNTAX INTEGER       {
      modeGracefulShutdown              (1),
      modeAnnunciator                   (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Control Mode of the outlet.
       This OID is provided for informational purposes only."
   ::= { sPDUOutletConfigMSPannunEntry 5 }

sPDUOutletConfigMSPannunInitialState  OBJECT-TYPE
   SYNTAX INTEGER       {
      initialStateOff              (1),
      initialStateOn               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to initialStateOff (1) causes the outlet 
       to default to off when in the non-alarmed condition.

       Setting this OID to initialStateOn (2) causes the outlet 
       to default to on when in the non-alarmed condition."
   ::= { sPDUOutletConfigMSPannunEntry 6 }

sPDUOutletConfigMSPannunAlarmActionDly  OBJECT-TYPE
   SYNTAX INTEGER (0..9999)                
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      " The amount of time, in seconds, that an enabled Measure-UPS
        alarm must be asserted before an alarm condition is recognized.
       
       Allowed values are:

       0 - 9999 seconds (0 - 2 hrs, 46 mins, 39 secs)."
   ::= { sPDUOutletConfigMSPannunEntry 7 }


-- the sPDUOutConfigMSPmups group

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

sPDUOutletConfigMSPmupsEntry OBJECT-TYPE
   SYNTAX OutletConfigMSPmupsEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to configure."
   INDEX  { sPDUOutletConfigMSPmupsIndex, sPDUOutletConfigMSPmupsOutletIndex }
   ::= { sPDUOutletConfigMSPmupsTable 1 }

OutletConfigMSPmupsEntry ::=
   SEQUENCE {
      sPDUOutletConfigMSPmupsIndex          INTEGER,
      sPDUOutletConfigMSPmupsName           DisplayString,   
      sPDUOutletConfigMSPmupsOutletIndex    INTEGER,
      sPDUOutletConfigMSPmupsOutletName     DisplayString,
      sPDUOutletConfigMSPmupsZone1          INTEGER,
      sPDUOutletConfigMSPmupsZone2          INTEGER,
      sPDUOutletConfigMSPmupsZone3          INTEGER,
      sPDUOutletConfigMSPmupsZone4          INTEGER,
      sPDUOutletConfigMSPmupsP1LowHum       INTEGER,
      sPDUOutletConfigMSPmupsP1HiHum        INTEGER,
      sPDUOutletConfigMSPmupsP1LowTemp      INTEGER,
      sPDUOutletConfigMSPmupsP1HiTemp       INTEGER,
      sPDUOutletConfigMSPmupsP2LowHum       INTEGER,
      sPDUOutletConfigMSPmupsP2HiHum        INTEGER,
      sPDUOutletConfigMSPmupsP2LowTemp      INTEGER,
      sPDUOutletConfigMSPmupsP2HiTemp       INTEGER
   }      

sPDUOutletConfigMSPmupsIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch plus."
   ::= { sPDUOutletConfigMSPmupsEntry 1 }

sPDUOutletConfigMSPmupsName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUOutletConfigMSPmupsEntry 2 }

sPDUOutletConfigMSPmupsOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletConfigMSPmupsEntry 3 }

sPDUOutletConfigMSPmupsOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum size is 
       23 characters. The name is set by using the 
       sPDUOutletConfigMSPallOutletName OID.
       This OID is provided for informational purposes only."       
   ::= { sPDUOutletConfigMSPmupsEntry 4 }

sPDUOutletConfigMSPmupsZone1  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Zone 1 alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Zone 1 alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 5 }

sPDUOutletConfigMSPmupsZone2  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Zone 2 alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Zone 2 alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 6 }

sPDUOutletConfigMSPmupsZone3  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Zone 3 alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Zone 3 alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 7 }

sPDUOutletConfigMSPmupsZone4  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Zone 4 alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Zone 4 alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 8 }

sPDUOutletConfigMSPmupsP1LowHum  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 1 low humidity alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 1 low humidity alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 9 }

sPDUOutletConfigMSPmupsP1HiHum  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 1 high humidity alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 1 high humidity alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 10 }

sPDUOutletConfigMSPmupsP1LowTemp  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 1 low temperature alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 1 low temperature alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 11 }

sPDUOutletConfigMSPmupsP1HiTemp  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 1 high temperature alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 1 high temperature alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 12 }

sPDUOutletConfigMSPmupsP2LowHum  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 2 low humidity alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 2 low humidity alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 13 }

sPDUOutletConfigMSPmupsP2HiHum  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 2 high humidity alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 2 high humidity alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 14 }

sPDUOutletConfigMSPmupsP2LowTemp  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 2 low temperature alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 2 low temperature alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 15 }

sPDUOutletConfigMSPmupsP2HiTemp  OBJECT-TYPE
   SYNTAX INTEGER       {
      disableAlarm              (1),
      enableAlarm               (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this OID to disableAlarm (1) disables the
       Probe 2 high temperature alarm for this outlet.

       Setting this OID to enableAlarm (2) enables the
       Probe 2 high temperature alarm for this outlet."
   ::= { sPDUOutletConfigMSPmupsEntry 16 }

-- the sPDUOutletStatusMSP group
  
sPDUOutletStatusMSPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletStatusMSPEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting of status of individual outlets. The number of
       entries is contained in the sPDUMasterStatusOutletCount OID."
   ::= { sPDUOutletStatusMSP 1 }

sPDUOutletStatusMSPEntry OBJECT-TYPE
   SYNTAX OutletStatusMSPEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to gather status from."
   INDEX  { sPDUOutletStatusMSPIndex, sPDUOutletStatusMSPOutletIndex }
   ::= { sPDUOutletStatusMSPTable 1 }

OutletStatusMSPEntry ::=
   SEQUENCE {
      sPDUOutletStatusMSPIndex          INTEGER,
      sPDUOutletStatusMSPName           DisplayString,   
      sPDUOutletStatusMSPOutletIndex    INTEGER,
      sPDUOutletStatusMSPOutletName     DisplayString,
      sPDUOutletStatusMSPOutletState    INTEGER,
      sPDUOutletStatusMSPCommandPending INTEGER,
      sPDUOutletStatusMSPOutletCtrlMode INTEGER
   }      

sPDUOutletStatusMSPIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the MasterSwitch MSP."
   ::= { sPDUOutletStatusMSPEntry 1 }

sPDUOutletStatusMSPName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the MasterSwitch plus. The maximum 
       value is 23 characters. The name is set by
       using the sPDUMasterConfigMSPName OID."
   ::= { sPDUOutletStatusMSPEntry 2 }

sPDUOutletStatusMSPOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { sPDUOutletStatusMSPEntry 3 }
   
sPDUOutletStatusMSPOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. The maximum size is 
       23 characters. The name is set by using the 
       sPDUOutletConfigMSPallOutletName OID.
       This OID is provided for informational purposes only."       
   ::= { sPDUOutletStatusMSPEntry 4 }

sPDUOutletStatusMSPOutletState OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusMSPOn              (1),
        outletStatusMSPOff             (2)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the outletStatusMSPOn (1) value will be returned.
       If the outlet is off, the outletStatusMSPOff (2) value will be
       returned. "
   ::= { sPDUOutletStatusMSPEntry 5 }

sPDUOutletStatusMSPCommandPending    OBJECT-TYPE
   SYNTAX INTEGER {
        outletStatusMSPCommandPending    (1),
        outletStatusMSPNoCommandPending  (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 outletStatusMSPCommandPending (1) value
        will be returned. If there is not a command pending
        on the outlet, the outletStatusMSPNoCommandPending (2)
        will be returned."
   ::= { sPDUOutletStatusMSPEntry 6 }

sPDUOutletStatusMSPOutletCtrlMode  OBJECT-TYPE
   SYNTAX INTEGER       {
      modeGracefulShutdown              (1),
      modeAnnunciator                   (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The Control Mode of the outlet.
       This OID is provided for informational purposes only."
   ::= { sPDUOutletStatusMSPEntry 7 }


-- the rPDUIdent group

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

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

rPDUIdentFirmwareRev 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." 
   ::= {  rPDUIdent 3 }


rPDUIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the Rack PDU was manufactured in mm/dd/yy format.
       This value is set at the factory. The year 2000 will be 
       represented by 00." 
   ::= { rPDUIdent 4 }
   
rPDUIdentModelNumber 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."
   ::= { rPDUIdent 5 }

rPDUIdentSerialNumber 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."
   ::= { rPDUIdent 6 }

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

   ::= { rPDUIdent 7 } 

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

   ::= { rPDUIdent 8 } 

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

   ::= { rPDUIdent 9 } 

rPDUIdentDeviceNumBreakers 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."

   ::= { rPDUIdent 10 } 

rPDUIdentDeviceBreakerRating 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."

   ::= { rPDUIdent 11 } 

rPDUIdentDeviceOrientation 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."

   ::= { rPDUIdent 12 } 
   
rPDUIdentDeviceOutletLayout 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)."
   ::= { rPDUIdent 13 } 



-- the rPDULoadDevice group

rPDULoadDevMaxPhaseLoad   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."  
   ::= { rPDULoadDevice 1 }

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

rPDULoadDevMaxBankLoad   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.
       
       0 will be returned if the device does not have any banks."
       
   ::= { rPDULoadDevice 3 }

rPDULoadDevNumBanks 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 rPDU."
   ::= { rPDULoadDevice 4 }

-- the rPDULoadPhaseConfig group

rPDULoadPhaseConfigTable 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 
       rPDULoadDevNumPhases OID."
   ::= { rPDULoadPhaseConfig 1 }

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

LoadPhaseConfigEntry ::=
   SEQUENCE {
      rPDULoadPhaseConfigIndex                    INTEGER,
      rPDULoadPhaseConfigLowLoadThreshold         INTEGER,
      rPDULoadPhaseConfigNearOverloadThreshold    INTEGER,
      rPDULoadPhaseConfigOverloadThreshold        INTEGER
   }      

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

rPDULoadPhaseConfigLowLoadThreshold 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 rPDULoadPhaseConfigNearOverloadThreshold OID."  
   ::= { rPDULoadPhaseConfigEntry 2 }

rPDULoadPhaseConfigNearOverloadThreshold 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 rPDULoadPhaseConfigLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the rPDULoadPhaseConfigOverloadThreshold OID."
   ::= { rPDULoadPhaseConfigEntry 3 }

rPDULoadPhaseConfigOverloadThreshold 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 rPDULoadPhaseConfigNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the rPDULoadDevMaxPhaseLoad OID."
   ::= { rPDULoadPhaseConfigEntry 4 }


-- the rPDULoadStatus group

rPDULoadStatusTable 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 (rPDULoadDevNumPhases OID) and
       the number of banks of outlets (rPDULoadDevNumBanks)
       Number of entries = #phases + #banks.
       NOTE: If a device has phase and bank information, all phase information
       shall preceed the bank information."
   ::= { rPDULoadStatus 1 }

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

LoadStatusEntry ::=
   SEQUENCE {
      rPDULoadStatusIndex                 INTEGER,
      rPDULoadStatusLoad                  Gauge,
      rPDULoadStatusLoadState             INTEGER,
      rPDULoadStatusPhaseNumber           INTEGER,
      rPDULoadStatusBankNumber            INTEGER
   }      

rPDULoadStatusIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU phase/bank entry. All phase information will preceed
       any bank information"
   ::= { rPDULoadStatusEntry 1 }

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

rPDULoadStatusLoadState 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/bank load state.
       
       phaseLoadNormal(1) indicates that the phase/bank is 
       operating properly within the rPDULoadConfigLowLoadThreshold 
       and rPDULoadConfigNearOverloadThreshold OID values.
       
       phaseLoadLow(2) indicates that the phase/bank load has
       dropped below the rPDULoadConfigLowLoadThreshold OID value.
       An SNMP trap will occur when this state is entered or cleared.
       
       phaseLoadNearOverload(3) indicates that the phase/bank load
       is greater than or equal to the 
       rPDULoadConfigNearOverloadThreshold OID value.
       An SNMP trap will occur when this state is entered or cleared.
       
       phaseLoadOverload(4) indicates that the phase/bank load is
       greater than or equal to the rPDULoadConfigOverloadThreshold 
       OID value.
       An SNMP trap will occur when this state is entered or cleared."
   ::= { rPDULoadStatusEntry 3 } 

rPDULoadStatusPhaseNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The phase number to which this record refers.  A value of 0 will be returned if
       this is bank related information."
   ::= { rPDULoadStatusEntry 4 }

rPDULoadStatusBankNumber 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
       this is phase related information."
   ::= { rPDULoadStatusEntry 5 }
        
-- the rPDULoadBankConfig group

rPDULoadBankConfigTable 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 
       rPDULoadDevNumBanks OID."
   ::= { rPDULoadBankConfig 1 }

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

LoadBankConfigEntry ::=
   SEQUENCE {
      rPDULoadBankConfigIndex                    INTEGER,
      rPDULoadBankConfigLowLoadThreshold         INTEGER,
      rPDULoadBankConfigNearOverloadThreshold    INTEGER,
      rPDULoadBankConfigOverloadThreshold        INTEGER
   }      

rPDULoadBankConfigIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU bank entry."
   ::= { rPDULoadBankConfigEntry 1 }

rPDULoadBankConfigLowLoadThreshold 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 rPDULoadBankConfigNearOverloadThreshold OID.
   
       -1 will be returned if the device has no banks."

   ::= { rPDULoadBankConfigEntry 2 }

rPDULoadBankConfigNearOverloadThreshold 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 rPDULoadBankConfigLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the rPDULoadBankConfigOverloadThreshold OID.

       -1 will be returned if the device has no banks."

   ::= { rPDULoadBankConfigEntry 3 }

rPDULoadBankConfigOverloadThreshold 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 rPDULoadBankConfigNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the rPDULoadDevMaxBankLoad OID.

       -1 will be returned if the device has no banks."

   ::= { rPDULoadBankConfigEntry 4 }


-- the rPDUOutletDevice group

rPDUOutletDevCommand  OBJECT-TYPE
  SYNTAX INTEGER       {
      noCommandAll               (1),
      immediateAllOn             (2),
      immediateAllOff            (3),
      immediateAllReboot         (4),
      delayedAllOn               (5),
      delayedAllOff              (6),
      delayedAllReboot           (7),
      cancelAllPendingCommands   (8),
      gracefulAllOff             (9),
      gracefulAllReboot          (10)
   }
   
   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 rPDUOutletConfigPowerOnTime OID value. 
             
       Setting this OID to delayedAllOff (6) will turn all outlets 
       off as defined by each outlet's rPDUOutletConfigPowerOffTime 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 
       rPDUOutletConfigRebootDuration 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.

       Setting this variable to gracefulAllOff (9) will cause the
       Switched Rack PDU to shut all outlets off after it waits the 
       servers graceful shutdown time and each outlet's shutdown delay.

       Setting this variable to gracefulAllReboot (10) will cause the
       Switched Rack PDU to shut all outlets off after it waits the 
       servers graceful shutdown time and each outlet's shutdown delay.
       Once all outlet are off, it will wait until the UPS reaches the
       configured minimum return battery capacity, then each outlet's 
       return delay before it turns the outlet back on.

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

rPDUOutletDevColdstartDelay  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)."
   ::= { rPDUOutletDevice 2 }

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

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

-- the rPDUOutletPhase group

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

rPDUOutletPhaseEntry OBJECT-TYPE
   SYNTAX OutletPhaseEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The phase to manage."
   INDEX  { rPDUOutletPhaseIndex}
   ::= { rPDUOutletPhaseTable 1 }

OutletPhaseEntry ::=
   SEQUENCE {
      rPDUOutletPhaseIndex                INTEGER,
      rPDUOutletPhaseOverloadRestriction  INTEGER
   }      

rPDUOutletPhaseIndex 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."
   ::= { rPDUOutletPhaseEntry 1 }

rPDUOutletPhaseOverloadRestriction 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 
       rPDULoadConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding phase to turn on if the 
       rPDULoadConfigOverloadThreshold OID is exceeded."
   ::= { rPDUOutletPhaseEntry 2 }


-- the rPDUOutletControl group

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

rPDUOutletControlEntry OBJECT-TYPE
   SYNTAX RPDUOutletControlEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to control."
   INDEX  { rPDUOutletControlIndex}
   ::= { rPDUOutletControlTable 1 }

RPDUOutletControlEntry ::=
   SEQUENCE {
      rPDUOutletControlIndex         INTEGER,
      rPDUOutletControlOutletName    DisplayString,
      rPDUOutletControlOutletPhase   INTEGER,
      rPDUOutletControlOutletCommand INTEGER,
      rPDUOutletControlOutletBank    INTEGER
   }      

rPDUOutletControlIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { rPDUOutletControlEntry 1 }
   
rPDUOutletControlOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is dependent on device.
       An error will be returned if the set request exceeds the max size.
       This OID is provided for informational purposes only."
   ::= { rPDUOutletControlEntry 2 }

rPDUOutletControlOutletPhase    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."
   ::= { rPDUOutletControlEntry 3 }

rPDUOutletControlOutletCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateOn             (1),
      immediateOff            (2),
      immediateReboot         (3),
      delayedOn               (4),
      delayedOff              (5),
      delayedReboot           (6),
      cancelPendingCommand    (7),
      gracefulOff             (8),
      gracefulReboot          (9)

   }     

   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 rPDUOutletConfigPowerOnTime OID time has elapsed.   

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

        Setting this variable to delayedReboot  (6) will cause the 
        Switched Rack PDU to perform a delayedOff command, wait the 
        rPDUOutletConfigRebootDuration 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 gracefulOff (8) will cause the
        Switched Rack PDU to shut the outlet off after it waits the 
        servers graceful shutdown time and the outlets shutdown delay.

        Setting this variable to gracefulReboot (9) will cause the
        Switched Rack PDU to shut the outlet off after it waits the 
        servers graceful shutdown time and the outlets shutdown delay.
        Once the outlet is off, it will wait until the UPS reaches the
        configured minimum return battery capacity, then the outlets 
        return delay before it turns the outlet back on."

    ::= { rPDUOutletControlEntry 4 }

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


-- the rPDUOutletConfig group

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

rPDUOutletConfigEntry OBJECT-TYPE
   SYNTAX RPDUOutletConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to configure."
   INDEX  { rPDUOutletConfigIndex}
   ::= { rPDUOutletConfigTable 1 }

RPDUOutletConfigEntry ::=
   SEQUENCE {
      rPDUOutletConfigIndex          INTEGER,
      rPDUOutletConfigOutletName     DisplayString,
      rPDUOutletConfigOutletPhase    INTEGER,
      rPDUOutletConfigPowerOnTime    INTEGER,
      rPDUOutletConfigPowerOffTime   INTEGER,
      rPDUOutletConfigRebootDuration INTEGER,
      rPDUOutletConfigOutletBank     INTEGER
   }      

rPDUOutletConfigIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { rPDUOutletConfigEntry 1 }
   
rPDUOutletConfigOutletName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is dependent on device.
       An error will be returned if the set request exceeds the max size."
   ::= { rPDUOutletConfigEntry 2 }

rPDUOutletConfigOutletPhase    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."
   ::= { rPDUOutletConfigEntry 3 }

rPDUOutletConfigPowerOnTime 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 300 - power on up to 300 seconds (5 minutes) after being
                  commanded."
   ::= { rPDUOutletConfigEntry 4 }

rPDUOutletConfigPowerOffTime 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 300 - power off up to 300 seconds (5 minutes) after being
                  commanded."
   ::= { rPDUOutletConfigEntry 5 }

rPDUOutletConfigRebootDuration 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)."
   ::= { rPDUOutletConfigEntry 6 }

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


-- the rPDUOutletStatus group

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

rPDUOutletStatusEntry OBJECT-TYPE
   SYNTAX RPDUOutletStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlet to gather status from."
   INDEX  { rPDUOutletStatusIndex}
   ::= { rPDUOutletStatusTable 1 }

RPDUOutletStatusEntry ::=
   SEQUENCE {
      rPDUOutletStatusIndex          INTEGER,
      rPDUOutletStatusOutletName     DisplayString,
      rPDUOutletStatusOutletPhase    INTEGER,
      rPDUOutletStatusOutletState    INTEGER,
      rPDUOutletStatusCommandPending INTEGER,
      rPDUOutletStatusOutletBank     INTEGER
   }      

rPDUOutletStatusIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { rPDUOutletStatusEntry 1 }
   
rPDUOutletStatusOutletName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet. Maximum size is dependent on device.
       An error will be returned if the set request exceeds the max size.
       This OID is provided for informational purposes only."
   ::= { rPDUOutletStatusEntry 2 }

rPDUOutletStatusOutletPhase    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."
   ::= { rPDUOutletStatusEntry 3 }

rPDUOutletStatusOutletState 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. "
   ::= { rPDUOutletStatusEntry 4 }

rPDUOutletStatusCommandPending    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."
   ::= { rPDUOutletStatusEntry 5 }

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


-- the rPDUOutletBank group

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

rPDUOutletBankEntry OBJECT-TYPE
   SYNTAX OutletBankEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The bank to manage."
   INDEX  { rPDUOutletBankIndex}
   ::= { rPDUOutletBankTable 1 }

OutletBankEntry ::=
   SEQUENCE {
      rPDUOutletBankIndex                INTEGER,
      rPDUOutletBankOverloadRestriction  INTEGER
   }      

rPDUOutletBankIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Switched Rack PDU bank entry."
   ::= { rPDUOutletBankEntry 1 }

rPDUOutletBankOverloadRestriction 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 
       rPDULoadConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding bank to turn on if the 
       rPDULoadConfigOverloadThreshold OID is exceeded."
   ::= { rPDUOutletBankEntry 2 }

-- the rPDUPowerSupplyDevice group

rPDUPowerSupply1Status   OBJECT-TYPE
   SYNTAX INTEGER       {
      powerSupply1Ok             (1),
      powerSupply1Failed         (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)."  
   ::= { rPDUPowerSupplyDevice 1 }

rPDUPowerSupply2Status   OBJECT-TYPE
   SYNTAX INTEGER       {
      powerSupply2Ok             (1),
      powerSupply2Failed         (2)
   }
   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)."  
   ::= { rPDUPowerSupplyDevice 2 }



-- the dm3IdentSystem group
 
dm3IdentSysDescriptionTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC description records."
   ::= { dm3IdentSystem 1 }

dm3IdentSysDescriptionTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IdentSysDescriptionEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing description records of the powerplant. The number of
       entries is contained in the dm3IdentSysDescriptionTableSize OID."
   ::= { dm3IdentSystem 2 }    

dm3IdentSysDescriptionEntry OBJECT-TYPE
   SYNTAX IdentSysDescriptionEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The powerplant description record to reference."
   INDEX { dm3IdentSysDescriptionIndex }
   ::= { dm3IdentSysDescriptionTable 1 }
   
IdentSysDescriptionEntry ::=
   SEQUENCE {
      dm3IdentSysDescriptionIndex   INTEGER,
      dm3IdentSysDescriptionText    DisplayString
   }

dm3IdentSysDescriptionIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant description record."
   ::= { dm3IdentSysDescriptionEntry 1 }

dm3IdentSysDescriptionText OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A 16 character text field describing the DC power plant device.
      This field can be configured from the dm3ConfigSysDescriptionText OID."
   ::= { dm3IdentSysDescriptionEntry 2 }

dm3IdentSysModel OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Model type of the DC power plant."
   ::= { dm3IdentSystem 3 }

dm3IdentSysCntrlRev OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Integer representation of the hardware revision of the Master Controller board."
   ::= { dm3IdentSystem 4 }

dm3IdentSysFWVersion OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Integer representation of the power plant Master Controller firmware revision."
   ::= { dm3IdentSystem 5 }
   
-- the dm3ConfigSystem group

dm3ConfigSysDescriptionTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC description records."
   ::= { dm3ConfigSystem 1 }

dm3ConfigSysDescriptionTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigSysDescriptionEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing description records of the powerplant. The number of
       entries is contained in the dm3ConfigSysDescriptionTableSize OID."
   ::= { dm3ConfigSystem 2 }       

dm3ConfigSysDescriptionEntry OBJECT-TYPE
   SYNTAX ConfigSysDescriptionEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The powerplant description record to reference."
   INDEX { dm3ConfigSysDescriptionIndex }
   ::= { dm3ConfigSysDescriptionTable 1 }
   
ConfigSysDescriptionEntry ::=
   SEQUENCE {
      dm3ConfigSysDescriptionIndex   INTEGER,
      dm3ConfigSysDescriptionText    DisplayString
   }

dm3ConfigSysDescriptionIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant description record."

   ::= { dm3ConfigSysDescriptionEntry 1 }

dm3ConfigSysDescriptionText OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "16 character text field describing the DC power plant device."

   ::= { dm3ConfigSysDescriptionEntry 2 }

dm3ConfigSysHighTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Ambient high temperature threshold.  Temperature sensor located on Master
      Controller board.

      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dm3StatusSysTempUnits' OID (Celsius or Fahrenheit).
      
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigSystem 3 }

dm3ConfigSysHighTempAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the System High Temperature Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."
   ::= { dm3ConfigSystem 4 }
   
dm3ConfigSysLowTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Ambient low temperature threshold.  Temperature sensor located on Master
      Controller board.
      
      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dm3StatusSysTempUnits' OID (Celsius or Fahrenheit).

      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigSystem 5 }
   
dm3ConfigSysLowTempAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the System Low Temperature Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."
   ::= { dm3ConfigSystem 6 }

dm3ConfigSysHardwareTempAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the System Hardware Temperature Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."
   ::= { dm3ConfigSystem 7 }

dm3ConfigSysRemoteAccess OBJECT-TYPE
   SYNTAX INTEGER       {
      accessEnabled               (1),
      accessDisabled              (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "
      This OID is used to disable remote write access to the power plant.
      Setting this OID to accessEnabled (1) will have no affect.
      Setting this OID to accessDisabled (2) will disable the ability to 
      remotely configure the DC powerplant.
      
      Once remote access is disabled, it can only be restored from the front
      panel of the DC power plant."
   ::= { dm3ConfigSystem 8 }
    

-- the dm3ConfigLVD group

dm3ConfigLVDTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant LVDs controllable
       by this IP address."
   ::= { dm3ConfigLVD 1 }

dm3ConfigLVDTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the LVDs. The number of
       entries is contained in the dm3ConfigLVDTableSize OID."
   ::= { dm3ConfigLVD 2 }      

dm3ConfigLVDEntry OBJECT-TYPE
   SYNTAX ConfigLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The LVD to configure."
   INDEX { dm3ConfigLVDIndex }
   ::= { dm3ConfigLVDTable 1 }
   
ConfigLVDEntry ::=
   SEQUENCE {
      dm3ConfigLVDIndex               INTEGER,
      dm3ConfigLVDName                DisplayString,
      dm3ConfigLVDEnable              INTEGER,
      dm3ConfigLVDTripThresh          INTEGER,
      dm3ConfigLVDResetThresh         INTEGER,
      dm3ConfigLVDOpenAlarm           INTEGER,
      dm3ConfigLVDHWAlarm             INTEGER
   }
   
dm3ConfigLVDIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant LVD."
   ::= { dm3ConfigLVDEntry 1 }

dm3ConfigLVDName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the LVD. The maximum value is 16 characters."
   ::= { dm3ConfigLVDEntry 2 }
   
dm3ConfigLVDEnable OBJECT-TYPE
   SYNTAX INTEGER       {
      enabledYes               (1),
      enabledNo                (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID is used to control and indicate if the LVD is on or off.
      Setting this OID to enabledYes (1) will enable (turn on) the LVD.
      Setting this OID to enabledNo (2) will disable (turn off) the LVD."
   ::= { dm3ConfigLVDEntry 3 }

dm3ConfigLVDTripThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "LVD Trip threshold.  If voltage exceeds threshold, the LVD will trip.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigLVDEntry 4 }

dm3ConfigLVDResetThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "LVD Reset threshold.  If voltage exceeds threshold, the LVD will reset.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigLVDEntry 5 }
   
dm3ConfigLVDOpenAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the LVD Open Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."
   ::= { dm3ConfigLVDEntry 6 }
   
dm3ConfigLVDHWAlarm OBJECT-TYPE   
SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the LVD Hardware Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."
   ::= { dm3ConfigLVDEntry 7 }


-- the dm3ConfigBattery group

dm3ConfigBattFloatVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery Float Voltage.  This setting controls the power plant voltage.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 1 }

dm3ConfigBattMaxRecharge OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery Maximum Recharge Rate.  This setting controls the battery max
      recharge rate.  The value is based on C/20 for 240 AHr battery string.
      
      Values are represented in thousandths of Amps (mA).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 2 }

dm3ConfigBattDischargeThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery discharge threshold.  If battery output current exceeds threshold
      a battery discharge alarm will occur.
      
      Values are represented in thousandths of Amps (mA).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 3 }
   
dm3ConfigBattDischargeAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery Discharge Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 4 }

dm3ConfigBattHighVoltThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high voltage threshold.  If system battery voltage exceeds threshold
      a battery high voltage alarm will occur.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 5 }
   
dm3ConfigBattHighVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery High Voltage Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 6 }
   
dm3ConfigBattLowVoltThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low voltage threshold.  If system battery voltage is under threshold
      a battery low voltage alarm will occur.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 7 }
   
dm3ConfigBattLowVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery Low Voltage Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 8 }
   
dm3ConfigBattHighTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery high temperature threshold.  If system battery temperature exceeds threshold
      a battery high temperature alarm will occur.
      
      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dm3StatusSysTempUnits' OID (Celsius or Fahrenheit).

      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
      
   ::= { dm3ConfigBattery 9 }
   
dm3ConfigBattHighTempAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery High Temperature Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 10 }
   
dm3ConfigBattLowTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery low temperature threshold.  If system battery temperature is under threshold
      a battery low temperature alarm will occur.
      
      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dm3StatusSysTempUnits' OID (Celsius or Fahrenheit).

      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
      
   ::= { dm3ConfigBattery 11 }
   
dm3ConfigBattLowTempAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery Low Temperature Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 12 }

dm3ConfigBattAmpHour OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery Amp-Hour Size.  Units are thousandths of Amp hours (mAHr).

      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 13 }

dm3ConfigCompMethod OBJECT-TYPE
   SYNTAX INTEGER       {
      tempcompOn          (1),
      tempcompOff         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID is used to configure and get the state of the battery
      temperature compensation.
      
      Setting this OID to tempcompOn (1) will enable/turn on the battery temperature compensation.
      Setting this OID to tempcompOff (2) will disable/turn off the battery temperature compensation."
   ::= { dm3ConfigBattery 14 }

dm3ConfigCompTempCoeff OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Compensation Temperature Coefficient. (uV/degC/cell).
      
      Units are presented in microvolts.
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 15 }

dm3ConfigHighKneeTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "High Knee for temperature compensation:  Compensation temperature coefficient 
      becomes 0mV/degC/cell.
      
      Values are represented in thousandths of degrees Celcius.
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 16 }

dm3ConfigLowKneeTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Low Knee for temperature compensation:  Compensation temperature coefficient 
      becomes 0mV/degC/cell.
      
      Values are represented in thousandths of degrees Celcius.
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigBattery 17 }
   
dm3ConfigBattHwCurrentAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery Current Hardware Alarm (indicating current is outside realistic
       limits, or a possible measurement fault;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 18 }
   
dm3ConfigBattHwTempAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Battery Temperature Hardware Alarm (indicating temperature is outside realistic
       limits, or a possible measurement fault;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBattery 19 }


-- the dm3ConfigRectThresh group
dm3ConfigRectHighVoltThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Rectifier high voltage threshold.  If rectifier voltage exceeds threshold
      a rectifier high voltage alarm will occur.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigRectThresh 1 }


dm3ConfigRectLowVoltThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Rectifier low voltage threshold.  If rectifier voltage is under threshold
      a rectifier low voltage alarm will occur.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigRectThresh 2 }

dm3ConfigRectFailSafe OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Rectifier Fail Safe point.  This OID represents the value sent to rectifier controllers
      to use in the event of communications loss with the Master Controller or Master Controller
      board failure.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigRectThresh 3 }

dm3ConfigRectFailComm OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Rectifier Communication Fail timeout.  This OID represents the time interval in which there is no 
      communication between the rectifier and the master controller at which the rectifier will reset 
      all its values to default.
      
      Values are represented in hundredths of Seconds.
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigRectThresh 4 }

-- the dm3ConfigRectAlarms group

dm3ConfigRectHighVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier High Voltage Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 1 }

dm3ConfigRectLowVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Low Voltage Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 2 }
   
dm3ConfigRectConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This alarm is activated when a new rectifier is detected;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 3 }
   
dm3ConfigRect1ofNAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This setting indicates the action if ONE rectifier of a N+1 system has failed;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 4 }

dm3ConfigRect2ofNAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This setting indicates the action if TWO OR MORE rectifiers of a N+1 system have failed;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 5 }

dm3ConfigRectDiagAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Controller Diagnostics Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigRect1ofNAlarm OID
      to be activated if ONE rectifier fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigRect2ofNAlarm OID to be activated if TWO OR MORE rectifiers fail in an N+1 system."

   ::= { dm3ConfigRectAlarms 6 }

dm3ConfigRectImbalanceAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Imbalance Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 7 }

dm3ConfigRectCurrLimitAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Current Limit Alarm (indicating rectifier in the Current Limit state);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigRect1ofNAlarm OID
      to be activated if ONE rectifier fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigRect2ofNAlarm OID to be activated if TWO OR MORE rectifiers fail in an N+1 system."

   ::= { dm3ConfigRectAlarms 8 }

dm3ConfigRectStandbyAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Standby Alarm (indicating output DC has been turned off);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigRect1ofNAlarm OID
      to be activated if ONE rectifier fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigRect2ofNAlarm OID to be activated if TWO OR MORE rectifiers fail in an N+1 system."

   ::= { dm3ConfigRectAlarms 9 }
   
dm3ConfigRectFanFailAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Fan Fail Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigRect1ofNAlarm OID
      to be activated if ONE rectifier fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigRect2ofNAlarm OID to be activated if TWO OR MORE rectifiers fail in an N+1 system."

   ::= { dm3ConfigRectAlarms 10 }

dm3ConfigRectFailAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Fail Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigRect1ofNAlarm OID
      to be activated if ONE rectifier fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigRect2ofNAlarm OID to be activated if TWO OR MORE rectifiers fail in an N+1 system."

   ::= { dm3ConfigRectAlarms 11 }

dm3ConfigRectHwVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Rectifier Hardware Voltage Alarm (indicating voltage outside realistic limits,
      or a possible measurement fault);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigRectAlarms 12 }


-- the dm3ConfigConvThresh group

dm3ConfigConvHighVoltThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter high voltage threshold.  If converter voltage exceeds threshold
      a converter high voltage alarm will occur.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."

   ::= { dm3ConfigConvThresh 1 }
   
dm3ConfigConvLowVoltThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter low voltage threshold.  If converter voltage exceeds threshold
      a converter low voltage alarm will occur.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigConvThresh 2 }

dm3ConfigConvFailSafe OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter Fail Safe point.  This OID represents the value sent to converter controllers
      to use in the event of communications loss with the Master Controller or Master Controller
      board failure.
      
      Values are represented in thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigConvThresh 3 }

dm3ConfigConvSetPoint OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter Set point.  This OID represents the initial set point used in the
      voltage control loop.
      
      Units are thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigConvThresh 4 }

dm3ConfigConvFailMax OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter Fail Maximum limit.  This OID represents the value sent to the converter
      controllers to define the maximum set point allowed.
      
      Units are thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigConvThresh 5 }

dm3ConfigConvFailMin OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter Fail Minimum limit.  This OID represents the value sent to the converter
      controllers to define the minimum set point allowed.
      
      Units are thousandths of Volts (mV).
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigConvThresh 6 }

dm3ConfigConvFailComm OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Converter Communication Fail timeout.  This OID represents the time interval in which there is no 
      communication between the converter and the master controller at which the converter will reset 
      all its values to default.
      
      Values are represented in hundredths of Seconds.
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigConvThresh 7 }

-- the dm3ConfigConvAlarms group
dm3ConfigConvHighVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter High Voltage Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigConvAlarms 1 }

dm3ConfigConvLowVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Low Voltage Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigConvAlarms 2 }

dm3ConfigConvConfigAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Configuration Alarm (indicating a new converter has been detected);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigConvAlarms 3 }

dm3ConfigConv1ofNAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter 1ofN Alarm (indicating action if ONE converter of a N+1 system has failed);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigConvAlarms 4 }

dm3ConfigConv2ofNAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter 2ofN Alarm (indicating action if TWO OR MORE converters of a N+1 system has failed);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigConvAlarms 5 }

dm3ConfigConvDiagAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Diagnostics Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 6 }

dm3ConfigConvImbalanceAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Imbalance Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 7 }

dm3ConfigConvCurrLimitAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Current Limit Alarm (indicating the converter is in the Current Limit state);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 8 }

dm3ConfigConvStandbyAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Standby Alarm (indicating the converter is in the Standby state);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 9 }

dm3ConfigConvFanFailAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Fan Fail Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 10 }
   
dm3ConfigConvFailAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Fail Alarm;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 11 }
   
dm3ConfigConvHwVoltAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9),
      alarmNofN                (10)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "For the Converter Voltage Alarm (indicating voltage outside realistic limits, or a
      possible measurement fault);
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      Setting this OID to alarmNofN (10) causes the alarm specified in the dm3ConfigConv1ofNAlarm OID
      to be activated if ONE converter fails in an N+1 system.  It causes the alarm specified in the 
      dm3ConfigConv2ofNAlarm OID to be activated if TWO OR MORE converters fail in an N+1 system."

   ::= { dm3ConfigConvAlarms 12 }


-- the dm3ConfigOutputRelays group

dm3ConfigOutRlyTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant Output Relays controllable
       by this IP address."
   ::= { dm3ConfigOutputRelays 1 }

dm3ConfigOutRlyTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigOutRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the Output Relays. The number of
       entries is contained in the dm3ConfigOutRlyTableSize OID."
   ::= { dm3ConfigOutputRelays 2 }     
 
dm3ConfigOutRlyEntry OBJECT-TYPE
   SYNTAX ConfigOutRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The output relay to configure."
   INDEX { dm3ConfigOutRlyIndex }
   ::= { dm3ConfigOutRlyTable 1 }
   
ConfigOutRlyEntry ::=
   SEQUENCE {
      dm3ConfigOutRlyIndex            INTEGER,
      dm3ConfigOutRlyName             DisplayString,
      dm3ConfigOutRlyDelay            INTEGER,
      dm3ConfigOutRlyAlarm            INTEGER
   }
   
dm3ConfigOutRlyIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant output relay."
   ::= { dm3ConfigOutRlyEntry 1 }
   
dm3ConfigOutRlyName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the output relay. The maximum value is 16 characters."
   ::= { dm3ConfigOutRlyEntry 2 }
   
dm3ConfigOutRlyDelay OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Output Relay Delay.  This OID represents the time delay from the initiation of an
      output relay action to when the output relay action does occur.  If the alarm condition
      disappears before the end of the delay, no action will occur.  Delay for Major 
      and Minor alarms is not configurable and is always set to 0.
      
      Values are represented in hundredths of seconds.
      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigOutRlyEntry 3 }
   
dm3ConfigOutRlyAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Output Relay Alarm.  This setting indicates what action to perform in the event of
      an output relay alarm condition;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition.
      
      Relay Alarm for Major and Minor alarms is not configurable and is always set to 
      alarmMajor and alarmMinor respectively."

   ::= { dm3ConfigOutRlyEntry 4 }


-- the dm3ConfigInputRelays group

dm3ConfigInRlyTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant Input Relays controllable
       by this IP address."
   ::= { dm3ConfigInputRelays 1 }

dm3ConfigInRlyTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigInRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the Input Relays. The number of
       entries is contained in the dm3ConfigInRlyTableSize OID."
   ::= { dm3ConfigInputRelays 2 }      

dm3ConfigInRlyEntry OBJECT-TYPE
   SYNTAX ConfigInRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The input relay to configure."
   INDEX { dm3ConfigInRlyIndex }
   ::= { dm3ConfigInRlyTable 1 }
   
ConfigInRlyEntry ::=
   SEQUENCE { 
      dm3ConfigInRlyIndex             INTEGER,
      dm3ConfigInRlyName              DisplayString,
      dm3ConfigInRlyDelay             INTEGER,
      dm3ConfigInRlyAlarm             INTEGER
   }
   
dm3ConfigInRlyIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant input relay."
   ::= { dm3ConfigInRlyEntry 1 }
   
dm3ConfigInRlyName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the input relay. The maximum value is 16 characters."

   ::= { dm3ConfigInRlyEntry 2 }
   
dm3ConfigInRlyDelay OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Input Relay Delay.  This OID represents the time delay from the initiation of an
      input relay action to when the input relay action does occur.   If the alarm condition
      disappears before the end of the delay, no action will occur.
      
      Values are represented in hundredths of seconds.

      Attempts to set the value above or below the acceptable range of the powerplant
       will cause the value to be set at the high or low point of the range respectively."
   ::= { dm3ConfigInRlyEntry 3 }
   
dm3ConfigInRlyAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Input Relay Alarm.  This setting indicates what action to perform in the event of
      an input relay alarm condition;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigInRlyEntry 4 }

-- the dm3ConfigBreakers group

dm3ConfigBreakersTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant circuit breakers controllable
       by this IP address."
   ::= { dm3ConfigBreakers 1 }

dm3ConfigBreakersTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigBreakersEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the circuit breakers. The number of
       entries is contained in the dm3ConfigBreakersTableSize OID."
   ::= { dm3ConfigBreakers 2 }     

dm3ConfigBreakersEntry OBJECT-TYPE
   SYNTAX ConfigBreakersEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The circuit breaker to configure."
   INDEX { dm3ConfigBreakersIndex }
   ::= { dm3ConfigBreakersTable 1 }
   
ConfigBreakersEntry ::=
   SEQUENCE {
      dm3ConfigBreakersIndex         INTEGER,
      dm3ConfigBreakersName          DisplayString,
      dm3ConfigBreakersAlarm         INTEGER
   }
   
dm3ConfigBreakersIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant circuit breaker."
   ::= { dm3ConfigBreakersEntry 1 }
   
dm3ConfigBreakersName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the circuit breaker. The maximum value is 16 characters."
   ::= { dm3ConfigBreakersEntry 2 }
   
dm3ConfigBreakersAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Circuit Breaker Alarm.  This setting indicates what action to perform in the event of
      a circuit breaker alarm condition;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigBreakersEntry 3 }

-- the dm3ConfigFuses group

dm3ConfigFusesTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant Fuses controllable
       by this IP address."
   ::= { dm3ConfigFuses 1 }

dm3ConfigFusesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigFusesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the Fuses. The number of
       entries is contained in the dm3ConfigFusesTableSize OID."
   ::= { dm3ConfigFuses 2 }    
   
dm3ConfigFusesEntry OBJECT-TYPE
   SYNTAX ConfigFusesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The fuse to configure."
   INDEX { dm3ConfigFusesIndex }
   ::= { dm3ConfigFusesTable 1 }
   
ConfigFusesEntry ::=
   SEQUENCE {
      dm3ConfigFusesIndex              INTEGER,
      dm3ConfigFusesName               DisplayString,
      dm3ConfigFusesAlarm              INTEGER
   }
   
dm3ConfigFusesIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant fuse."
   ::= { dm3ConfigFusesEntry 1 }
   
dm3ConfigFusesName OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the fuse. The maximum value is 16 characters."
   ::= { dm3ConfigFusesEntry 2 }
   
dm3ConfigFusesAlarm OBJECT-TYPE
   SYNTAX INTEGER       {
      alarmIgnore               (1),
      alarmRelay1               (2),
      alarmRelay2               (3),
      alarmRelay3               (4),
      alarmRelay4               (5),
      alarmRelay5               (6),
      alarmRelay6               (7),
      alarmMinor                (8),
      alarmMajor                (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Fuses Alarm.  This setting indicates what action to perform in the event of
      a Fuse alarm condition;
      Setting this OID to alarmIgnore (1) results in the alarm condition being ignored.
      Setting this OID to alarmRelay1 (2) causes relay 1 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay2 (3) causes relay 2 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay3 (4) causes relay 3 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay4 (5) causes relay 4 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay5 (6) causes relay 5 to be activated for an
      alarm condition.
      Setting this OID to alarmRelay6 (7) causes relay 6 to be activated for an
      alarm condition.
      Setting this OID to alarmMinor (8) causes the Minor relay to be activated for an
      alarm condition.
      Setting this OID to alarmMajor (9) causes the Major relay to be activated for an
      alarm condition."

   ::= { dm3ConfigFusesEntry 3 }

-- the dm3StatusSystem group

dm3StatusSystemTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "System temperature based on sensor on Master Controller PCB.

      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dm3StatusSysTempUnits' OID (Celsius or Fahrenheit)."

   ::= { dm3StatusSystem 1 }

dm3StatusSystemStart OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Time stamp at DC powerplant initialization.
       The time is represented as MMM,DD,YYYY,HH:MM:SS."
   ::= { dm3StatusSystem 2 }

dm3StatusSysRemoteAccess OBJECT-TYPE
   SYNTAX INTEGER       {
      accessEnabled              (1),
      accessDisabled             (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Remote Access indicator
      This setting indicates if configuration (write) access to the powerplant is enabled or 
      disabled at the powerplant level.
      This value will be accessEnabled (1) if remote configuration is enabled, and 
      accessDisabled (2) if remote configuration is disabled."
   ::= { dm3StatusSystem 3 }

dm3StatusSysSecurityLevel OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This variable shows the current active security access level of controller.  This
      can only be changed directly from the front panel."
   ::= { dm3StatusSystem 4 }

dm3StatusSysTempSanity OBJECT-TYPE
   SYNTAX INTEGER{
      saneYES              (1),
      saneNO               (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "System temperature sanity indicator.  Indicates if the system temperature is 
      reasonable.  Reasonable is defined based on powerplant type.  A value of saneYes (1)
      indicates temperature is reasonable, a value of saneNo (2) indicates it is not."
   ::= { dm3StatusSystem 5 }

dm3StatusSysAlarmState OBJECT-TYPE
   SYNTAX INTEGER{
      alarmMinor           (1),
      alarmMajor           (2),
      alarmBoth            (3),
      alarmNone            (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "System Alarm State.  Reflects the alarm status of the overall DC system.
      If a minor alarm is present, the value will be alarmMinor(1).
      If a major alarm is present, the value will be alarmMajor(2).
      If both minor and a major alarm is present, the value will be alarmBoth(3).
      If no alarm is present, the value will be alarmNone(4)."
   ::= { dm3StatusSystem 6 }

dm3StatusSysTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       in the DC system, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { dm3StatusSystem 7 }


-- the dm3StatusAlarms group

dm3StatusAlarmsTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant alarms viewable
       by this IP address."
   ::= { dm3StatusAlarms 1 }

dm3StatusAlarmsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusAlarmsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing system alarms. The number of
       entries is contained in the dm3StatusAlarmsTableSize OID."
   ::= { dm3StatusAlarms 2 }       

dm3StatusAlarmsEntry OBJECT-TYPE
   SYNTAX StatusAlarmsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The alarm to display."
   INDEX { dm3StatusAlarmsIndex }
   ::= { dm3StatusAlarmsTable 1 }
   
StatusAlarmsEntry ::=
   SEQUENCE {   
      dm3StatusAlarmsIndex               INTEGER,
      dm3StatusAlarmsText                DisplayString
   }

dm3StatusAlarmsIndex OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index of the system alarm."       
   ::= { dm3StatusAlarmsEntry 1 }
   
dm3StatusAlarmsText OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The 16 character text describing the active alarm condition."
   ::= { dm3StatusAlarmsEntry 2 }
   
-- the dm3StatusBattery group

dm3StatusBattCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery Current:  This OID shows the battery current in thousandths of Amps (mA)."
   ::= { dm3StatusBattery 1 }

dm3StatusBattTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery Temperature:
      
      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dm3StatusSysTempUnits' OID (Celsius or Fahrenheit)."

   ::= { dm3StatusBattery 2 }

dm3StatusBattCurrentSanity OBJECT-TYPE
   SYNTAX INTEGER{
      saneYES              (1),
      saneNO               (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery current sanity indicator.  Indicates if the battery current is 
      reasonable.  Reasonable is defined based on powerplant type.  A value of saneYes (1)
      indicates current is reasonable, a value of saneNo (2) indicates it is not."
   ::= { dm3StatusBattery 3 }

dm3StatusBattTempSanity OBJECT-TYPE
   SYNTAX INTEGER{
      saneYES              (1),
      saneNO               (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery temperature sanity indicator.  Indicates if the battery temperature is 
      reasonable.  Reasonable is defined based on powerplant type.  A value of saneYes (1)
      indicates temperature is reasonable, a value of saneNo (2) indicates it is not."
   ::= { dm3StatusBattery 4 }

-- the dm3StatusOEM group

dm3StatusOEMrectOffset OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier offset value in thousandths of Volts (mV)."
   ::= { dm3StatusOEM 1 }

dm3StatusOEMrectGain OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier gain value in thousandths of Volts (mV/V)."
   ::= { dm3StatusOEM 2 }

dm3StatusOEMconvOffset OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter offset value in thousandths of Volts (mV)."
   ::= { dm3StatusOEM 3 }

dm3StatusOEMconvGain OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter gain value in thousandths of Volts (mV/V)."
   ::= { dm3StatusOEM 4 }

dm3StatusOEMshuntOffset OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the shunt offset value in thousandths of Amps (mA)."
   ::= { dm3StatusOEM 5 }

dm3StatusOEMshuntGain OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the shunt gain value in thousandths of Amps (mA/A)."
   ::= { dm3StatusOEM 6 }

-- the dm3StatusLVD group

dm3StatusLVDTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant LVDs viewable
       by this IP address."
   ::= { dm3StatusLVD 1 }

dm3StatusLVDTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the LVDs. The number of
       entries is contained in the dm3StatusLVDTableSize OID."
   ::= { dm3StatusLVD 2 }      
   
dm3StatusLVDEntry OBJECT-TYPE
   SYNTAX StatusLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The LVD to gather status from."
   INDEX { dm3StatusLVDIndex }
   ::= { dm3StatusLVDTable 1 }
   
StatusLVDEntry ::=
   SEQUENCE {
      dm3StatusLVDIndex               INTEGER,
      dm3StatusLVDName                DisplayString,
      dm3StatusLVDState               INTEGER,
      dm3StatusLVDHwFault             INTEGER
   }
   
dm3StatusLVDIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant LVD."
   ::= { dm3StatusLVDEntry 1 }
   
dm3StatusLVDName OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the LVD. The maximum size is 
       16 characters. The name is set by using the 
       dm3ConfigLVDName OID.
       This OID is provided for informational purposes only."       
   ::= { dm3StatusLVDEntry 2 }
   
dm3StatusLVDState OBJECT-TYPE
   SYNTAX INTEGER       {
      statusClosed             (1),
      statusOpened             (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusClosed (1) if the LVD is closed.
       statusOpened (2) will be returned if the LVD is opened." 
   ::= { dm3StatusLVDEntry 3 }

dm3StatusLVDHwFault OBJECT-TYPE
   SYNTAX INTEGER       {
      statusFault               (1),
      statusNofault             (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusFault (1) if the LVD is faulted.
       statusNofault (2) will be returned if the LVD is not faulted." 
   ::= { dm3StatusLVDEntry 4 }

-- the dm3StatusRectifier group

dm3StatusRectTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant rectifiers viewable
       by this IP address."
   ::= { dm3StatusRectifier 1 }

dm3StatusRectTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusRectEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the rectifiers. The number of
       entries is contained in the dm3StatusRectTableSize OID."
   ::= { dm3StatusRectifier 2 }    

dm3StatusRectEntry OBJECT-TYPE
   SYNTAX StatusRectEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The rectifier to gather status from."
   INDEX { dm3StatusRectIndex }
   ::= { dm3StatusRectTable 1 }
   
StatusRectEntry ::=
   SEQUENCE {
      dm3StatusRectIndex            INTEGER,
      dm3StatusRectID               INTEGER,
      dm3StatusRectDesc             DisplayString,
      dm3StatusRectCurrent          INTEGER,
      dm3StatusRectCurrentLimit     INTEGER,
      dm3StatusRectStandby          INTEGER,
      dm3StatusRectFanFail          INTEGER,
      dm3StatusRectFail             INTEGER,
      dm3StatusRectDevType          INTEGER,
      dm3StatusRectPhyAddr          INTEGER,
      dm3StatusRectCfg              INTEGER,
      dm3StatusRectPcbRev           INTEGER,
      dm3StatusRectFwVer            INTEGER,
      dm3StatusRectPresent          INTEGER,
      dm3StatusRectDiagPass         INTEGER,
      dm3StatusRectState            INTEGER
   }

dm3StatusRectIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant rectifier."
   ::= { dm3StatusRectEntry 1 }

dm3StatusRectID OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier ID.  This enumerates the number of the rectifier within 
       a group of rectifiers."
   ::= { dm3StatusRectEntry 2 }

dm3StatusRectDesc OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the 16-character rectifier description."
   ::= { dm3StatusRectEntry 3 }

dm3StatusRectCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier current in thousandths of Amps (mA)."
   ::= { dm3StatusRectEntry 4 }

dm3StatusRectCurrentLimit OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier is in the Current Limit state.
       statusFalse (2) will be returned if the rectifier is not in the Current Limit state." 
   ::= { dm3StatusRectEntry 5 }

dm3StatusRectStandby OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier is in the Standby state.
       statusFalse (2) will be returned if the rectifier is not in the Standby state." 
   ::= { dm3StatusRectEntry 6 }

dm3StatusRectFanFail OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier Fan has failed.
       statusFalse (2) will be returned if the rectifier Fan has not failed." 
   ::= { dm3StatusRectEntry 7 }

dm3StatusRectFail    OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier has failed.
       statusFalse (2) will be returned if the rectifier has not failed." 
   ::= { dm3StatusRectEntry 8 }

dm3StatusRectDevType OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier device type."
   ::= { dm3StatusRectEntry 9 }

dm3StatusRectPhyAddr OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier physical address (the address on the bus)."
   ::= { dm3StatusRectEntry 10 }

dm3StatusRectCfg OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier is present after
      power-up or set-configuration.
       statusFalse (2) will be returned if the rectifier is not configured." 
   ::= { dm3StatusRectEntry 11 }

dm3StatusRectPcbRev OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier device PCB serial number."
   ::= { dm3StatusRectEntry 12 }

dm3StatusRectFwVer OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier device firmware revision."
   ::= { dm3StatusRectEntry 13 }

dm3StatusRectPresent OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier is present.
       statusFalse (2) will be returned if the rectifier is not present." 
   ::= { dm3StatusRectEntry 14 }

dm3StatusRectDiagPass OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier diagnostics have passed.
       statusFalse (2) will be returned if the rectifier diagnostics have not passed." 
   ::= { dm3StatusRectEntry 15 }

dm3StatusRectState OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier device state as defined by the device status register."
   ::= { dm3StatusRectEntry 16 }

dm3StatusSysRectVoltSanity OBJECT-TYPE
   SYNTAX INTEGER {
      saneYES              (1),
      saneNO               (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Rectifier voltage sanity indicator.  Indicates if the rectifier voltage is 
      reasonable.  Reasonable is defined based on powerplant type.  A value of saneYes (1)
      indicates voltage is reasonable, a value of saneNo (2) indicates it is not."
   ::= { dm3StatusRectifier 3 }

dm3StatusSysRectAvailable OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier is available.
       statusFalse (2) will be returned if the rectifier is not available." 
   ::= { dm3StatusRectifier 4 }

dm3StatusSysRectType OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the type of rectifier the system has.  There can only be a single type of
      rectifier in the power plant"
   ::= { dm3StatusRectifier 5 }

dm3StatusSysRectVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the system level rectifier voltage in thousandths of Volts (mV)."
   ::= { dm3StatusRectifier 6 }

dm3StatusSysRectCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the system level rectifier current in thousandths of Amps (mA)."
   ::= { dm3StatusRectifier 7 }


-- the dm3StatusConverter group

dm3StatusConvTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant converters viewable
       by this IP address."
   ::= { dm3StatusConverter 1 }

dm3StatusConvTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusConvEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for viewing status of the converters. The number of
       entries is contained in the dm3StatusConvTableSize OID."
   ::= { dm3StatusConverter 2 }    
 
dm3StatusConvEntry OBJECT-TYPE
   SYNTAX StatusConvEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The converter to gather status from."
   INDEX { dm3StatusConvIndex }
   ::= { dm3StatusConvTable 1 }
   
StatusConvEntry ::=
   SEQUENCE {
      dm3StatusConvIndex            INTEGER,
      dm3StatusConvID               INTEGER,
      dm3StatusConvDesc             DisplayString,
      dm3StatusConvCurrent          INTEGER,
      dm3StatusConvCurrentLimit     INTEGER,
      dm3StatusConvStandby          INTEGER,
      dm3StatusConvFanFail          INTEGER,
      dm3StatusConvFail             INTEGER,
      dm3StatusConvDevType          INTEGER,
      dm3StatusConvPhyAddr          INTEGER,
      dm3StatusConvCfg              INTEGER,
      dm3StatusConvPcbRev           INTEGER,
      dm3StatusConvFwVer            INTEGER,
      dm3StatusConvPresent          INTEGER,
      dm3StatusConvDiagPass         INTEGER,
      dm3StatusConvState            INTEGER
   }

dm3StatusConvIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant converter."
   ::= { dm3StatusConvEntry 1 }
   
dm3StatusConvID OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter ID.  This enumerates the number of the converter within 
       a group of converters."
   ::= { dm3StatusConvEntry 2 }

dm3StatusConvDesc OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the 16 character converter description."
   ::= { dm3StatusConvEntry 3 }

dm3StatusConvCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter current in thousandths of Amps (mA)."
   ::= { dm3StatusConvEntry 4 }

dm3StatusConvCurrentLimit OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter is in the Current Limit state.
       statusFalse (2) will be returned if the converter is not in the Current Limit state." 
   ::= { dm3StatusConvEntry 5 }

dm3StatusConvStandby OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter is in the Standby state.
       statusFalse (2) will be returned if the converter is not in the Standby state." 
   ::= { dm3StatusConvEntry 6 }

dm3StatusConvFanFail OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter Fan has failed.
       statusFalse (2) will be returned if the converter Fan has not failed." 
   ::= { dm3StatusConvEntry 7 }

dm3StatusConvFail OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter has failed.
       statusFalse (2) will be returned if the converter has not failed." 
   ::= { dm3StatusConvEntry 8 }

dm3StatusConvDevType OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter device type."
   ::= { dm3StatusConvEntry 9 }

dm3StatusConvPhyAddr OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter physical address (the address on the bus)."
   ::= { dm3StatusConvEntry 10 }

dm3StatusConvCfg OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter is present after
      power-up or set-configuration.
       statusFalse (2) will be returned if the converter is not configured." 
   ::= { dm3StatusConvEntry 11 }

dm3StatusConvPcbRev OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter device PCB serial number."
   ::= { dm3StatusConvEntry 12 }

dm3StatusConvFwVer OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter device firmware version."
   ::= { dm3StatusConvEntry 13 }

dm3StatusConvPresent OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter is present.
       statusFalse (2) will be returned if the converter is not present." 
   ::= { dm3StatusConvEntry 14 }

dm3StatusConvDiagPass OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter diagnostics have passed.
       statusFalse (2) will be returned if the converter diagnostics have not passed." 
   ::= { dm3StatusConvEntry 15 }

dm3StatusConvState OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter state as defined by the device status register."
   ::= { dm3StatusConvEntry 16 }

dm3StatusSysConvVoltSanity OBJECT-TYPE
   SYNTAX INTEGER{
      saneYES              (1),
      saneNO               (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Converter voltage sanity indicator.  Indicates if the converter voltage is 
      reasonable.  Reasonable is defined based on powerplant type.  A value of saneYes (1)
      indicates voltage is reasonable, a value of saneNo (2) indicates it is not."
   ::= { dm3StatusConverter 3 }
   
dm3StatusSysConvAvailable OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the converter is available.
       statusFalse (2) will be returned if the converter is not available." 
   ::= { dm3StatusConverter 4 }
   
dm3StatusSysConvType OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the converter type."
   ::= { dm3StatusConverter 5 }
   
dm3StatusSysConvVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the system level converter voltage in thousandths of volts (mV)."
   ::= { dm3StatusConverter 6 }
   
dm3StatusSysConvCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the system level converter current in thousandths of Amps (mA)."
   ::= { dm3StatusConverter 7 }

-- the dm3StatusOutputRelays group

dm3StatusOutRlyTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant output relays viewable
       by this IP address."
   ::= { dm3StatusOutputRelays 1 }

dm3StatusOutRlyTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusOutRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for viewing status of the output relays. The number of
       entries is contained in the dm3StatusOutRlyTableSize OID."
   ::= { dm3StatusOutputRelays 2 }     
   
dm3StatusOutRlyEntry OBJECT-TYPE
   SYNTAX StatusOutRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The output relay to gather status from."
   INDEX { dm3StatusOutRlyIndex }
   ::= { dm3StatusOutRlyTable 1 }

StatusOutRlyEntry ::=
   SEQUENCE {
      dm3StatusOutRlyIndex            INTEGER,
      dm3StatusOutRlyName             DisplayString,
      dm3StatusOutRlyStatus           INTEGER
   }
   
dm3StatusOutRlyIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant output relay."
   ::= { dm3StatusOutRlyEntry 1 }
   
dm3StatusOutRlyName OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the output relay. The maximum size is 
       16 characters. The name is set by using the 
       dm3ConfigOutRlyName OID.
       This OID is provided for informational purposes only."       
   ::= { dm3StatusOutRlyEntry 2 }
   
dm3StatusOutRlyStatus OBJECT-TYPE
   SYNTAX INTEGER       {
      statusOn          (1),
      statusOff         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusOn (1) if the output relay is enabled/on.
       statusOff (2) will be returned if the output relay is disabled/off." 
   ::= { dm3StatusOutRlyEntry 3 }


-- the dm3StatusInputRelays group

dm3StatusInRlyTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant input relays viewable
       by this IP address."
   ::= { dm3StatusInputRelays 1 }

dm3StatusInRlyTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusInRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for viewing status of the input relays. The number of
       entries is contained in the dm3StatusInRlyTableSize OID."
   ::= { dm3StatusInputRelays 2 }      

   
dm3StatusInRlyEntry OBJECT-TYPE
   SYNTAX StatusInRlyEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The input relays to gather status from."
   INDEX { dm3StatusInRlyIndex }
   ::= { dm3StatusInRlyTable 1 }
   
StatusInRlyEntry ::=
   SEQUENCE {
      dm3StatusInRlyIndex           INTEGER,
      dm3StatusInRlyName            DisplayString,
      dm3StatusInRlyStatus          INTEGER
   }
   
dm3StatusInRlyIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant input relay."
   ::= { dm3StatusInRlyEntry 1 }
   
dm3StatusInRlyName OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the input relay. The maximum size is 
       16 characters. The name is set by using the 
       dm3ConfigInRlyName OID.
       This OID is provided for informational purposes only."       
   ::= { dm3StatusInRlyEntry 2 }
   
dm3StatusInRlyStatus OBJECT-TYPE
   SYNTAX INTEGER       {
      statusOn          (1),
      statusOff         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusOn (1) if the input relay is enabled/on.
       statusOff (2) will be returned if the input relay is disabled/off." 
   ::= { dm3StatusInRlyEntry 3 }

-- the dm3StatusBreakers group

dm3StatusBreakersTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant circuit breakers viewable
       by this IP address."
   ::= { dm3StatusBreakers 1 }

dm3StatusBreakersTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusBreakersEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for viewing status of the circuit breakers. The number of
       entries is contained in the dm3StatusBreakersTableSize OID."
   ::= { dm3StatusBreakers 2 }     

dm3StatusBreakersEntry OBJECT-TYPE
   SYNTAX StatusBreakersEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The circuit breaker to gather status from."
   INDEX { dm3StatusBreakersIndex }
   ::= { dm3StatusBreakersTable 1 }

StatusBreakersEntry ::=
   SEQUENCE {
      dm3StatusBreakersIndex               INTEGER,
      dm3StatusBreakersName                DisplayString,
      dm3StatusBreakersStatus              INTEGER
   }
   
dm3StatusBreakersIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant circuit breaker."
   ::= { dm3StatusBreakersEntry 1 }
   
dm3StatusBreakersName OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the circuit breaker. The maximum size is 
       16 characters. The name is set by using the 
       dm3ConfigBreakersName OID.
       This OID is provided for informational purposes only."       
   ::= { dm3StatusBreakersEntry 2 }
   
dm3StatusBreakersStatus OBJECT-TYPE
   SYNTAX INTEGER       {
      statusClosed          (1),
      statusOpen            (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusClosed (1) if the circuit breaker is closed.
       statusOpen (2) will be returned if the circuit breaker is open." 
   ::= { dm3StatusBreakersEntry 3 }
   
-- the dm3StatusFuses group

dm3StatusFusesTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant fuses controllable
       by this IP address."
   ::= { dm3StatusFuses 1 }

dm3StatusFusesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusFusesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for viewing status of the fuses. The number of
       entries is contained in the dm3StatusFusesTableSize OID."
   ::= { dm3StatusFuses 2 }    
   
dm3StatusFusesEntry OBJECT-TYPE
   SYNTAX StatusFusesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The fuse to gather status from."
   INDEX { dm3StatusFusesIndex }
   ::= { dm3StatusFusesTable 1 }
   
StatusFusesEntry ::=
   SEQUENCE {
      dm3StatusFusesIndex               INTEGER,
      dm3StatusFusesName                DisplayString,
      dm3StatusFusesStatus              INTEGER
   }

dm3StatusFusesIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant fuse."
   ::= { dm3StatusFusesEntry 1 }
   
dm3StatusFusesName OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the fuse. The maximum size is 
       16 characters. The name is set by using the 
       dm3ConfigFuseName OID.
       This OID is provided for informational purposes only."       
   ::= { dm3StatusFusesEntry 2 }

dm3StatusFusesStatus OBJECT-TYPE
   SYNTAX INTEGER       {
      statusClosed          (1),
      statusOpen            (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusClosed (1) if the fuse is closed.
       statusOpen (2) will be returned if the fuse is open." 
   ::= { dm3StatusFusesEntry 3 }

-- the atsIdent group

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

atsIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A string identifying the Automatic Transfer Switch 
       firmware version." 
   ::= {  atsIdent 2 }

atsIdentFirmwareDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of release for this Automatic Transfer Switch 
       firmware version. " 
   ::= {  atsIdent 3 }

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 4 }
   
atsIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A string identifying the model number of the Automatic Transfer Switch. 
       This value is set at the factory."
   ::= { atsIdent 5 }

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 6 }

atsIdentNominalLineVoltage OBJECT-TYPE
       SYNTAX     INTEGER 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
         "RMS Utility Voltage measured in V."
       ::= { atsIdent 7 }

atsIdentNominalLineFrequency OBJECT-TYPE
       SYNTAX     INTEGER 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Utility Power Frequency measured in Hz."
       ::= { atsIdent 8 }

--  the atsCalibration group  
 
-- Input Voltage Calibration Factor table

   atsCalibrationNumInputs OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of inputs to this device."
       ::= { atsCalibrationInput 1 }

   atsCalibrationNumInputPhases OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of phases per input for this device."
       ::= { atsCalibrationInput 2 }

   atsCalibrationInputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSCalibrationInputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "The number of phases per input line to this device."
       ::= { atsCalibrationInput 3 }

   atsCalibrationInputPhaseEntry OBJECT-TYPE
       SYNTAX     ATSCalibrationInputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing calibration information applicable to a
               particular input phase."
       INDEX { atsCalibrationInputTableIndex, atsCalibrationInputPhaseTableIndex }
       ::= { atsCalibrationInputTable 1 }

   ATSCalibrationInputPhaseEntry ::= SEQUENCE {
       atsCalibrationInputTableIndex         INTEGER,
       atsCalibrationInputPhaseTableIndex    INTEGER,
       atsLineVoltageCalibrationFactor       INTEGER
   }

   atsCalibrationInputTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input identifier."
       ::= { atsCalibrationInputPhaseEntry 1 }

   atsCalibrationInputPhaseTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input phase identifier."
       ::= { atsCalibrationInputPhaseEntry 2 }

   atsLineVoltageCalibrationFactor  OBJECT-TYPE
       SYNTAX INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The Line Voltage Calibration factor.
                This value is set at the factory."
       ::= { atsCalibrationInputPhaseEntry 3 }

-- Power Supply Voltage Calibration table

   atsCalibrationPowerSupplyVoltages OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of power supply voltages supported by this device.
                This variable indicates the number of rows in the
                atsCalibrationPowerSupplyTable. There is one entry per
                supported voltage: 24V, 12V and 5V"
       ::= { atsCalibrationPowerSupply 1 }

   atsCalibrationPowerSupplyVoltageTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSCalibrationPowerSupplyVoltageEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of Power Supply table entries."
       ::= { atsCalibrationPowerSupply 2 }

   atsCalibrationPowerSupplyVoltageEntry OBJECT-TYPE
       SYNTAX     ATSCalibrationPowerSupplyVoltageEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular Power Supply Voltage."
       INDEX { atsCalibrationPowerSupplyVoltageTableIndex }
       ::= { atsCalibrationPowerSupplyVoltageTable 1 }

   ATSCalibrationPowerSupplyVoltageEntry ::= SEQUENCE {
       atsCalibrationPowerSupplyVoltageTableIndex     INTEGER,
       atsCalibrationPowerSupplyVoltage               INTEGER,
       atsPowerSupplyVoltageCalibrationFactor         INTEGER
   }

   atsCalibrationPowerSupplyVoltageTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
           "The power supply voltage identifier.
            Three power supply voltages are supported by the ATS:
             24V , 12V and 5V .
            The value of this index indicates the power supply voltage:
             1 = 24V
             2 = 12V
             3 = 5V"
       ::= { atsCalibrationPowerSupplyVoltageEntry 1 }

  atsCalibrationPowerSupplyVoltage OBJECT-TYPE
    SYNTAX INTEGER  {
      powerSupply24V(1),
      powerSupply12V(2),
      powerSupply(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This value describes the power supply voltage."
   ::= { atsCalibrationPowerSupplyVoltageEntry 2 } 

   atsPowerSupplyVoltageCalibrationFactor  OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The Line Voltage Calibration factor.
                This value is set at the factory."
       ::= { atsCalibrationPowerSupplyVoltageEntry 3 }

-- Output Current Calibration table

   atsCalibrationNumOutputs OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of output lines from this device.
               This variable indicates the number of rows in the
               atsCalibrationOutputTable."
       ::= { atsCalibrationOutput 1 }

   atsCalibrationNumOutputPhases OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of output phases utilized in this
               device."
       ::= { atsCalibrationOutput 2 }

   atsCalibrationOutputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSCalibrationOutputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of output table entries."
       ::= { atsCalibrationOutput 3 }

   atsCalibrationOutputEntry OBJECT-TYPE
       SYNTAX     ATSCalibrationOutputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
                particular output."
       INDEX { atsCalibrationOutputTableIndex, atsCalibrationOutputPhasesTableIndex }
       ::= { atsCalibrationOutputTable 1 }

   ATSCalibrationOutputEntry ::= SEQUENCE {
       atsCalibrationOutputTableIndex       INTEGER,
       atsCalibrationOutputPhasesTableIndex INTEGER,
       atsOutputCurrentCalibrationFactor    INTEGER
   }

   atsCalibrationOutputTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output identifier."
       ::= { atsCalibrationOutputEntry 1 }

   atsCalibrationOutputPhasesTableIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3),
          neutral(4)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "Description of each calibration factor for each 
                output phase utilized in this device and one for neutral. "
       ::= { atsCalibrationOutputEntry 2 }

   atsOutputCurrentCalibrationFactor OBJECT-TYPE
       SYNTAX     INTEGER 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output current calibration factor measured in Amps."
       ::= { atsCalibrationOutputEntry 3 }


--  the atsControl group  
           
atsControlResetATS OBJECT-TYPE
    SYNTAX INTEGER  {
          none(1),
          reset(2) 
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable will cause the Automatic Transfer Switch to 
       perform a power-on reset."
   ::= { atsControl 1 }

atsControlClearAllAlarms OBJECT-TYPE
    SYNTAX INTEGER  {
          none(1),
          clear(2) 
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable will clear all alarms in the Automatic Transfer Switch."
   ::= { atsControl 2 }  

--  the atsConfig group
  
atsConfigProductName OBJECT-TYPE
       SYNTAX     DisplayString
       ACCESS     read-write
       STATUS     mandatory
       DESCRIPTION
               "A configurable character string."
       ::= { atsConfig 1 }
           
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 2 } 

atsConfigFrontPanelLockout OBJECT-TYPE
   SYNTAX INTEGER  {
      disableFrontPanel(1),
      enableFrontPanel(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Setting this variable to disableFrontPanel(1) will disallow source 
       preference configuration of the Automatic Transfer Switch via the
       Front Panel. Once this value is set, it can only be re-enabled through
       the serial interface of the ATS.
       When this variable is set to enableFrontPanel(2), source preference 
       configuration of the Automatic Transfer Switch via the Front Panel
       is allowed."
   ::= { atsConfig 3 }

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

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 5 }

atsConfigCurrentLimit OBJECT-TYPE
   SYNTAX INTEGER (0..20)
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The threshold (in Amps) at which an Over Current Alarm will be generated."
      
   ::= { atsConfig 6 }


atsConfigResetValues OBJECT-TYPE
   SYNTAX INTEGER {
      none(1),
      reset(2) 
   }
   ACCESS     read-write
   STATUS     mandatory
   DESCRIPTION
      "Resets the ATS configuration to its default values."

   ::= { atsConfig 7 }

-- the 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
       of the Automatic Transfer Switch. "
   ::= { atsStatusDeviceStatus 1 }

   atsStatusSelectedSource OBJECT-TYPE
    SYNTAX INTEGER  {
      sourceA(1),
      sourceB(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This variable returns the current source of power. "
   ::= { atsStatusDeviceStatus 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."
   ::= { atsStatusDeviceStatus 3 }

  atsStatusOverCurrentState OBJECT-TYPE
    SYNTAX INTEGER  {
        atsOverCurrent(1),
        atsCurrentOK(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This variable returns the output current state of the ATS.
      atsOverCurrent(1) indicates that the ATS has exceeded the output 
      current threshold and will not allow a switch over to the alternate power
      source if the current source fails.
      atsCurrentOK(2) indicates that the output current is below the 
      output current threshold."
   ::= { atsStatusDeviceStatus 4 }

  atsStatus5VPowerSupply OBJECT-TYPE
    SYNTAX INTEGER {
        atsPowerSupplyFailure(1), 
        atsPowerSupplyOK(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This variable returns the current state of the ATS 5-volt power supply.
       atsPowerSupplyFailure(1) indicates the 5-volt power supply has failed
       and that the ATS serial port Configuration Menu is not accessible .
       atsPowerSupplyOK(2) indicates that the ATS 5-volt power supply
       is operating within tolerance."
   ::= { atsStatusDeviceStatus 5 }

  atsStatus24VPowerSupply OBJECT-TYPE
    SYNTAX INTEGER  {
        atsPowerSupplyFailure(1),
        atsPowerSupplyOK(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This variable returns the current state of the ATS 24-volt power supply.
       atsPowerSupplyFailure(1) indicates the 24-volt power supply has failed
       and the ATS is unable to switch over to the alternate power source if 
       the current source fails.
       atsPowerSupplyOK(2) indicates that the ATS 24-volt power supply
       is operating within tolerance."
   ::= { atsStatusDeviceStatus 6 }

   atsStatusResetMaxMinValues OBJECT-TYPE
       SYNTAX INTEGER {
          none(1),
          reset(2) 
       }
       ACCESS     read-write
       STATUS     mandatory
       DESCRIPTION
               "Resets the maximum and minimum ATS values:
                atsInputMaxVoltage,       atsInputMinVoltage,
                atsInputMaxCurrent,       atsInputMinCurrent,
                atsInputMaxPower,         atsInputMinPower,
                atsOutputMaxCurrent,      atsOutputMinCurrent,
                atsOutputMaxLoad,         atsOutputMinLoad,
                atsOutputMaxPercentLoad,  atsOutputMinPercentLoad,
                atsOutputMaxPower,        atsOutputMinPower,
                atsOutputMaxPercentPower, atsOutputMinPercentPower.
                These variables represent the maximum and minimum ATS values
                since the last time they were read or reset by this OID.
                Values unsupported by this ATS will return (-1)."
       ::= { atsStatusResetValues 1 }

--
-- Input Group
--

-- Number of Inputs

   atsNumInputs 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
               input table."
       ::= { atsStatusInput 1 }

-- Input Table

   atsInputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSPhaseInputEntry
       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 }

   atsInputEntry OBJECT-TYPE
       SYNTAX     ATSPhaseInputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular input."
       INDEX { atsInputTableIndex }
       ::= { atsInputTable 1 }

   ATSPhaseInputEntry ::= SEQUENCE {
       atsInputTableIndex         INTEGER,
       atsNumInputPhases          INTEGER,
       atsInputVoltageOrientation INTEGER,
       atsInputFrequency          INTEGER,
       atsInputType               INTEGER,
       atsInputName               DisplayString
   }

   atsInputTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input identifier."
       ::= { atsInputEntry 1 }

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

   atsInputVoltageOrientation 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 Phase2.
               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 Phase3 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."
       ::= { atsInputEntry 3 }

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

   atsInputType OBJECT-TYPE
       SYNTAX     INTEGER {
          unknown(1),
          main(2),
          bypass(3)
       }
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input type."
       ::= { atsInputEntry 5 }

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

-- Input Phase Table

   atsInputPhaseTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSPhaseInputPhaseEntry
       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 }

   atsInputPhaseEntry OBJECT-TYPE
       SYNTAX     ATSPhaseInputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular input phase."
       INDEX { atsInputPhaseTableIndex, atsInputPhaseIndex }
       ::= { atsInputPhaseTable 1 }

   ATSPhaseInputPhaseEntry ::= SEQUENCE {
       atsInputPhaseTableIndex    INTEGER,
       atsInputPhaseIndex         INTEGER,
       atsInputVoltage            INTEGER,
       atsInputMaxVoltage         INTEGER,
       atsInputMinVoltage         INTEGER,
       atsInputCurrent            INTEGER,
       atsInputMaxCurrent         INTEGER,
       atsInputMinCurrent         INTEGER,
       atsInputPower              INTEGER,
       atsInputMaxPower           INTEGER,
       atsInputMinPower           INTEGER
   }

   atsInputPhaseTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input identifier."
       ::= { atsInputPhaseEntry 1 }

   atsInputPhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The input phase identifier."
       ::= { atsInputPhaseEntry 2 }

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

   atsInputMaxVoltage OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum input voltage in VAC measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsInputPhaseEntry 4 }

   atsInputMinVoltage OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum input voltage in VAC measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsInputPhaseEntry 5 }

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

   atsInputMaxCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum input current in amperes measured
                 since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsInputPhaseEntry 7 }

   atsInputMinCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum input current in amperes measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsInputPhaseEntry 8 }

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

   atsInputMaxPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum input power in Watts measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsInputPhaseEntry 10 }

   atsInputMinPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum input power in Watts measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsInputPhaseEntry 11 }

   --
   -- The Output group.
   --

   -- Number of Outputs

   atsNumOutputs OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of output feeds to this device.
               This variable indicates the number of rows in the
               output table."
       ::= { atsStatusOutput 1 }

   -- Output Table

   atsOutputTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSPhaseOutputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of output table entries.  The number of entries
               is given by the value of atsOutputNumPhases."
       ::= { atsStatusOutput 2 }

   atsOutputEntry OBJECT-TYPE
       SYNTAX     ATSPhaseOutputEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular output."
       INDEX { atsOutputTableIndex }
       ::= { atsOutputTable 1 }

   ATSPhaseOutputEntry ::= SEQUENCE {
       atsOutputTableIndex         INTEGER,
       atsNumOutputPhases          INTEGER,
       atsOutputVoltageOrientation INTEGER,
       atsOutputFrequency          INTEGER
   }

   atsOutputTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output identifier."
       ::= { atsOutputEntry 1 }

   atsNumOutputPhases OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The number of output phases utilized in this
               device.  The sum of all the atsNumOutputPhases
               variable indicates the number of rows in the 
               output phase table."
       ::= { atsOutputEntry 2 }

   atsOutputVoltageOrientation OBJECT-TYPE
       SYNTAX INTEGER {
          unknown(1),
          singlePhase(2),
          splitPhase(3),
          threePhasePhaseToNeutral(4),
          threePhasePhaseToPhase(5)
       }
       ACCESS read-only
       STATUS     mandatory
       DESCRIPTION
               "The output voltage orientation: 
               1: unknown for this ATS
               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 Phase2.
               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 Phase3 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."
       ::= { atsOutputEntry 3 }

   atsOutputFrequency OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output frequency in Hertz, or -1 if it's
               unsupported by this ATS."
       ::= { atsOutputEntry 4 }

   -- Output Phase Table

   atsOutputPhaseTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF ATSPhaseOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "A list of output table entries.  The number of
               entries is given by the sum of the atsNumOutputPhases."
       ::= { atsStatusOutput 3 }

   atsOutputPhaseEntry OBJECT-TYPE
       SYNTAX     ATSPhaseOutputPhaseEntry
       ACCESS     not-accessible
       STATUS     mandatory
       DESCRIPTION
               "An entry containing information applicable to a
               particular output phase."
       INDEX { atsOutputPhaseTableIndex, atsOutputPhaseIndex }
       ::= { atsOutputPhaseTable 1 }

   ATSPhaseOutputPhaseEntry ::= SEQUENCE {
       atsOutputPhaseTableIndex INTEGER,
       atsOutputPhaseIndex      INTEGER,
       atsOutputVoltage         INTEGER,
       atsOutputCurrent         INTEGER,
       atsOutputMaxCurrent      INTEGER,
       atsOutputMinCurrent      INTEGER,
       atsOutputLoad            INTEGER,
       atsOutputMaxLoad         INTEGER,
       atsOutputMinLoad         INTEGER,
       atsOutputPercentLoad     INTEGER,
       atsOutputMaxPercentLoad  INTEGER,
       atsOutputMinPercentLoad  INTEGER,       
       atsOutputPower           INTEGER,
       atsOutputMaxPower        INTEGER,
       atsOutputMinPower        INTEGER,
       atsOutputPercentPower    INTEGER,
       atsOutputMaxPercentPower INTEGER,
       atsOutputMinPercentPower INTEGER
   }

   atsOutputPhaseTableIndex OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output identifier."
       ::= { atsOutputPhaseEntry 1 }

   atsOutputPhaseIndex OBJECT-TYPE
       SYNTAX     INTEGER{
          phase1(1),
          phase2(2),
          phase3(3),
          neutral(4)
         } 
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
              "Description of each output phase utilized in 
               this device and one for neutral. "
       ::= { atsOutputPhaseEntry 2 }

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

   atsOutputCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output current in 0.1 amperes drawn 
               by the load on the ATS, or -1 if it's unsupported
               by this ATS."
       ::= { atsOutputPhaseEntry 4 }

   atsOutputMaxCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum output current in 0.1 amperes measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 5 }

   atsOutputMinCurrent OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum output current in 0.1 amperes measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 6 }

   atsOutputLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output load in VA, or -1 if it's unsupported
               by this ATS."
       ::= { atsOutputPhaseEntry 7 }

   atsOutputMaxLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum output load in VA measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1)  if unsupported."
       ::= { atsOutputPhaseEntry 8 }

   atsOutputMinLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum output load in VA measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 9 }

   atsOutputPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The percentage of the ATS load capacity in VA at 
               redundancy @ (n + x) presently being used on this 
               output phase, or -1 if it's unsupported by this ATS."
       ::= { atsOutputPhaseEntry 10 }

   atsOutputMaxPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum percentage of the ATS load capacity in 
               VA measured at redundancy @ (n + x) presently 
               being used on this output phase since the last time
               this variable was read or reset (atsStatusResetMaxMinValues).
               Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 11 }

   atsOutputMinPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum percentage of the ATS load capacity in 
               VA measured at redundancy @ (n + x) presently 
               being used on this output phase since the last time
               this variable was read or reset (atsStatusResetMaxMinValues).
               Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 12 }

   atsOutputPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The output power in Watts, or -1 if it's
               unsupported by this ATS."
       ::= { atsOutputPhaseEntry 13 }

   atsOutputMaxPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum output power in Watts measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 14 }

   atsOutputMinPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum output power in Watts measured
                since the last time this variable was read 
                or reset (atsStatusResetMaxMinValues).
                Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 15 }

   atsOutputPercentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The percentage of the ATSpower capacity in Watts at 
               redundancy @ (n + x) presently being used on this 
               output phase, or -1 if it's unsupported by this ATS."
       ::= { atsOutputPhaseEntry 16 }

   atsOutputMaxPercentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The maximum percentage of the ATSpower capacity
               in Watts measured at redundancy @ (n + x) presently
               being used on this output phase since the last time
               this variable was read or reset (atsStatusResetMaxMinValues).
               Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 17 }

   atsOutputMinPercentPower OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
               "The minimum percentage of the ATSpower capacity
               in Watts measured at redundancy @ (n + x) presently
               being used on this output phase since the last time
               this variable was read or reset (atsStatusResetMaxMinValues).
               Returns (-1) if unsupported."
       ::= { atsOutputPhaseEntry 18 }

-- the dcmim2IdentSystem group
 
dcmim2IdentSysFWVersion OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Integer representation of the power plant Master Controller firmware revision."
   ::= { dcmim2IdentSystem 1 }


-- the dcmim2ControlSystem group

dcmim2ControlRunFunctBatteryTest OBJECT-TYPE
   SYNTAX INTEGER {
      battTestOff             (1),
      battTestOn              (2)
}     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this OID will return the battery functional test state. If 
       the test is off, the battTestOff (1) value will be returned.
       If the test is on, the battTestOn (2) value will be
       returned.  
       
       Setting this OID to battTestOff (1) will turn the battery functional test off.
       Setting this OID to battTestOn (2) will turn the battery functional test on."

   ::= { dcmim2ControlSystem 1 }

dcmim2ControlRunCapacityBatteryTest OBJECT-TYPE
   SYNTAX INTEGER {
      battTestOff             (1),
      battTestOn              (2)
}     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this OID will return the battery capacity test state. If 
       the test is off, the battTestOff (1) value will be returned.
       If the test is on, the battTestOn (2) value will be
       returned.  
       
       Setting this OID to battTestOff (1) will turn the battery capacity test off.
       Setting this OID to battTestOn (2) will turn the battery capacity test on."

   ::= { dcmim2ControlSystem 2 }


-- the dcmim2ConfigSystem group

dcmim2ConfigSysHighTempTrip OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Trip level (threshold) at which System High Temp alarm condition is created. 
       Range 28 to 100 (degC).

       Values are represented in thousandths of a degree.
       Units are displayed in the scale shown in
       the 'dcmim2StatusSysTempUnits' OID (Celsius or Fahrenheit)."
       
      
   ::= { dcmim2ConfigSystem 1 }

dcmim2ConfigSysHighTempReset OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Level at which System High Temp alarm condition is reset (cleared). 
       Range 25 to (upper temp - 3) (degC).
       
       Values are represented in thousandths of a degree.
       Units are displayed in the scale shown in
       the 'dcmim2StatusSysTempUnits' OID (Celsius or Fahrenheit)."
       
   ::= { dcmim2ConfigSystem 2 }
      
dcmim2ConfigSysLowTempTrip OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Trip level (threshold) at which System Low Temp alarm condition is created. 
       Range -100 to 10 (degC).
       Values are represented in thousandths of a degree.
       Units are displayed in the scale shown in
       the 'dcmim2StatusSysTempUnits' OID (Celsius or Fahrenheit)."
      
   ::= { dcmim2ConfigSystem 3 }

dcmim2ConfigSysLowTempReset OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Level at which System Low Temp alarm condition is reset (cleared). 
       Range (lower temp + 3) to 13 (degC).
       Values are represented in thousandths of a degree.
       Units are displayed in the scale shown in
       the 'dcmim2StatusSysTempUnits' OID (Celsius or Fahrenheit)."
      
   ::= { dcmim2ConfigSystem 4 }

-- the dcmim2ConfigBattery group

dcmim2ConfigBattFloatVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery Float Voltage defined at 25 degrees Celsius.
      
      Values are represented in thousandths of Volts (mV)."
      
   ::= { dcmim2ConfigBattery 1 }

dcmim2ConfigBattMaxRecharge OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery Maximum Recharge Rate.  This is the maximum current used
       during battery charging.  
      
      Values are represented in thousandths of Amps (mA)."
      
   ::= { dcmim2ConfigBattery 2 }

dcmim2ConfigBattMfgCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Battery capacity (Amp-Hour Size) as specified by the battery manufacturer.
  
      Values are represented in thousandths of Amp hours (mAHr)."
      
   ::= { dcmim2ConfigBattery 3 }
   
dcmim2ConfigBattType OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Type of battery in the powerplant
      
      Valid values range from 0 to 254."
      
   ::= { dcmim2ConfigBattery 4 }
   
dcmim2ConfigBattFunctTestDuration OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Duration of the battery functional test.
      
      Values are represented in thousandths of seconds (mSecs)."
      
   ::= { dcmim2ConfigBattery 5 }
   
dcmim2ConfigBattFunctTestThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold the battery voltage of the system must remain above
       in order to pass the battery functional test.
      
      Values are represented in thousandths of Volts (mV)."
      
   ::= { dcmim2ConfigBattery 6 }
   
dcmim2ConfigBattCapacityTestPercent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold for good battery capacity test results.
      
      Values range from 0 to 100 percent."
      
   ::= { dcmim2ConfigBattery 7 }
   
dcmim2ConfigBattCapacityTestEndThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Safeguard voltage at which battery capacity test will end 
       if there is a battery problem.
      
      Values are represented in thousandths of Volts (mV)."
      
   ::= { dcmim2ConfigBattery 8 }
   
dcmim2ConfigBattCapacityTestCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Constant current value used during battery capacity testing.
      
      Values are represented in thousandths of Amps (mA)."
      
   ::= { dcmim2ConfigBattery 9 }


-- the dcmim2ConfigLVD group

dcmim2ConfigLVDTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant LVDs controllable
       by this IP address."
   ::= { dcmim2ConfigLVD 1 }

dcmim2ConfigLVDTable OBJECT-TYPE
   SYNTAX SEQUENCE OF DC2ConfigLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the LVDs. The number of
       entries is contained in the dcmim2ConfigLVDTableSize OID."
   ::= { dcmim2ConfigLVD 2 }      

dcmim2ConfigLVDEntry OBJECT-TYPE
   SYNTAX DC2ConfigLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The LVD to configure."
   INDEX { dcmim2ConfigLVDIndex }
   ::= { dcmim2ConfigLVDTable 1 }
   
DC2ConfigLVDEntry ::=
   SEQUENCE {
      dcmim2ConfigLVDIndex               INTEGER,
      dcmim2ConfigLVDTrip                INTEGER,
      dcmim2ConfigLVDReset               INTEGER,
      dcmim2ConfigLVDState               INTEGER
   }
   
dcmim2ConfigLVDIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant LVD."
   ::= { dcmim2ConfigLVDEntry 1 }

dcmim2ConfigLVDTrip OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "LVD Trip threshold.  System bus voltage at which LVD will trip (open)
       during a battery backup operation.
      
      Values are represented in thousandths of Volts (mV)."
   ::= { dcmim2ConfigLVDEntry 2 }

dcmim2ConfigLVDReset OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "LVD Reset threshold.  System bus voltage at which LVD will reset (close)
       after AC power has been restored.
      
      Values are represented in thousandths of Volts (mV)."
   ::= { dcmim2ConfigLVDEntry 3 }
   
dcmim2ConfigLVDState OBJECT-TYPE
   SYNTAX INTEGER       {
      statusClosed             (1),
      statusOpened             (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusClosed (1) if the LVD is closed.
       statusOpened (2) will be returned if the LVD is opened." 
   ::= { dcmim2ConfigLVDEntry 4 }


-- the dcmim2StatusSystem group

dcmim2StatusSysRectCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "System (Total Rectifier) current in thousandths of Amps (mA)."
   ::= { dcmim2StatusSystem 1 }

dcmim2StatusSysLoadCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Load current in thousandths of Amps (mA)."
   ::= { dcmim2StatusSystem 2 }

dcmim2StatusSysBusVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "System bus voltage in thousandths of Volts (mV)."
   ::= { dcmim2StatusSystem 3 }

dcmim2StatusSysAmbientTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "System temperature based on sensor on Master Controller PCB.
      
      Values are represented in thousandths of a degree.
      Units are displayed in the scale shown in
      the 'dcmim2StatusSysTempUnits' OID (Celsius or Fahrenheit)."
   ::= { dcmim2StatusSystem 4 }

dcmim2StatusSysUpTime OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Length of time since the DC Powerplant controller has been powered up."
   ::= { dcmim2StatusSystem 5 }

dcmim2StatusSysTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       in the DC system, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { dcmim2StatusSystem 6 }


-- the dcmim2StatusRectifier group

dcmim2StatusRectTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant rectifiers viewable
       by this IP address."
   ::= { dcmim2StatusRectifier 1 }

dcmim2StatusRectTable OBJECT-TYPE
   SYNTAX SEQUENCE OF DC2StatusRectEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing settings of the rectifiers. The number of
       entries is contained in the dcmim2StatusRectTableSize OID."
   ::= { dcmim2StatusRectifier 2 }    

dcmim2StatusRectEntry OBJECT-TYPE
   SYNTAX DC2StatusRectEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The rectifier to gather status from."
   INDEX { dcmim2StatusRectIndex }
   ::= { dcmim2StatusRectTable 1 }
   
DC2StatusRectEntry ::=
   SEQUENCE {
      dcmim2StatusRectIndex            INTEGER,
      dcmim2StatusRectDevType          INTEGER,
      dcmim2StatusRectID               INTEGER,
      dcmim2StatusRectPhyAddr          INTEGER,
      dcmim2StatusRectFail             INTEGER,
      dcmim2StatusRectCurrent          INTEGER
   }

dcmim2StatusRectIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant rectifier."
   ::= { dcmim2StatusRectEntry 1 }

dcmim2StatusRectDevType OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier device type."
   ::= { dcmim2StatusRectEntry 2 }

dcmim2StatusRectID OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier ID.  This enumerates the number of the rectifier within 
       a group of rectifiers."
   ::= { dcmim2StatusRectEntry 3 }

dcmim2StatusRectPhyAddr OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the rectifier physical address (the address on the bus)."
   ::= { dcmim2StatusRectEntry 4 }

dcmim2StatusRectFail    OBJECT-TYPE
   SYNTAX INTEGER       {
      statusTrue          (1),
      statusFalse         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusTrue (1) if the rectifier has failed.
       statusFalse (2) will be returned if the rectifier has not failed." 
   ::= { dcmim2StatusRectEntry 5 }

dcmim2StatusRectCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID shows the individual rectifier current in thousandths of Amps (mA)."
   ::= { dcmim2StatusRectEntry 6 }


-- the dcmim2StatusBattery group

dcmim2StatusBattFloatVolt OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery Float Voltage represented in thousandths of Volts (mV)."   
   ::= { dcmim2StatusBattery 1 }

dcmim2StatusBattCurrent OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery Current:  This OID shows the battery current in thousandths of Amps (mA)."
   ::= { dcmim2StatusBattery 2 }

dcmim2StatusBattTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery Temperature:  
      
       Values are represented in thousandths of a degree.
       Units are displayed in the scale shown in
       the 'dcmim2StatusSysTempUnits' OID (Celsius or Fahrenheit)."
   ::= { dcmim2StatusBattery 3 }

dcmim2StatusBattMfgCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery capacity (Amp-Hour Size) as specified by the battery manufacturer.
      Values are represented in thousandths of Amp hours (mAHr)."
   ::= { dcmim2StatusBattery 4 }

dcmim2StatusBattTestCapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Battery capacity (Amp-Hour Size) as determined by the battery capacity test.  
      Values are represented in thousandths of Amp hours (mAHr)."     
   ::= { dcmim2StatusBattery 5 }

dcmim2StatusBattFunctTestResult OBJECT-TYPE
   SYNTAX INTEGER{
      functTestNotPerformed   (1),
      functTestInProcess      (2),
      functTestInterrupted    (3),
      functTestPass           (4),
      functTestFail           (5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Results of the last battery functional test that was run."
   ::= { dcmim2StatusBattery 6 }

dcmim2StatusBattCapacityTestResult OBJECT-TYPE
   SYNTAX INTEGER{
      capacityTestNotPerformed   (1),
      capacityTestInProcess      (2),
      capacityTestInterrupted    (3),
      capacityTestPass           (4),
      capacityTestFail            (5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Results of the last battery capacity test that was run."
   ::= { dcmim2StatusBattery 7 }


-- the dcmim2StatusLVD group

dcmim2StatusLVDTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant LVDs accessible
       by this IP address."
   ::= { dcmim2StatusLVD 1 }

dcmim2StatusLVDTable OBJECT-TYPE
   SYNTAX SEQUENCE OF DC2StatusLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing the LVDs. The number of
       entries is contained in the dcmim2StatusLVDTableSize OID."
   ::= { dcmim2StatusLVD 2 }      

dcmim2StatusLVDEntry OBJECT-TYPE
   SYNTAX DC2StatusLVDEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The LVD to access."
   INDEX { dcmim2StatusLVDIndex }
   ::= { dcmim2StatusLVDTable 1 }
   
DC2StatusLVDEntry ::=
   SEQUENCE {
      dcmim2StatusLVDIndex               INTEGER,
      dcmim2StatusLVDState               INTEGER
   }
   
dcmim2StatusLVDIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the DC powerplant LVD."
   ::= { dcmim2StatusLVDEntry 1 }
  
dcmim2StatusLVDState OBJECT-TYPE
   SYNTAX INTEGER       {
      statusClosed             (1),
      statusOpened             (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return statusClosed (1) if the LVD is closed.
       statusOpened (2) will be returned if the LVD is opened." 
   ::= { dcmim2StatusLVDEntry 2 }


-- the dcmim2StatusAlarms group

dcmim2StatusAlarmsTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of DC powerplant alarms viewable
       by this IP address."
   ::= { dcmim2StatusAlarms 1 }

dcmim2StatusAlarmsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF DC2StatusAlarmsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for accessing system alarms. The number of
       entries is contained in the dcmim2StatusAlarmsTableSize OID."
   ::= { dcmim2StatusAlarms 2 }       

dcmim2StatusAlarmsEntry OBJECT-TYPE
   SYNTAX DC2StatusAlarmsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The alarm to display."
   INDEX { dcmim2StatusAlarmsIndex }
   ::= { dcmim2StatusAlarmsTable 1 }
   
DC2StatusAlarmsEntry ::=
   SEQUENCE {   
      dcmim2StatusAlarmsIndex               INTEGER,
      dcmim2StatusAlarmsText                DisplayString
   }

dcmim2StatusAlarmsIndex OBJECT-TYPE
   SYNTAX  INTEGER
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index of the system alarm."       
   ::= { dcmim2StatusAlarmsEntry 1 }
   
dcmim2StatusAlarmsText OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The 16 character text describing the active alarm condition."
   ::= { dcmim2StatusAlarmsEntry 2 }

-- External Environmental Monitor

emIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Environmental Monitor."
   ::= { emIdent 1 }

emConfigProbesNumProbes OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of temperature and humidity probes available."
   ::= { emConfig 1 }

emConfigProbesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EmConfigProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of probes supported by the Environmental Monitor
       and their configurations."
   ::= { emConfig 2 }

emConfigProbesEntry OBJECT-TYPE
   SYNTAX EmConfigProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Environmental Monitor probe configurations."
   INDEX  { emConfigProbeNumber }
   ::= { emConfigProbesTable 1 }

EmConfigProbesEntry ::=
   SEQUENCE {
      emConfigProbeNumber
         INTEGER,
      emConfigProbeName
         DisplayString,
      emConfigProbeHighTempThreshold
         INTEGER,
      emConfigProbeLowTempThreshold
         INTEGER,
      emConfigProbeTempUnits
         INTEGER,
      emConfigProbeHighHumidThreshold
         INTEGER,
      emConfigProbeLowHumidThreshold
         INTEGER,
      emConfigProbeHighTempEnable
         INTEGER,
      emConfigProbeLowTempEnable
         INTEGER,
      emConfigProbeHighHumidEnable
         INTEGER,
      emConfigProbeLowHumidEnable
         INTEGER
   }

emConfigProbeNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index into an Environmental Monitor probe entry."
   ::= { emConfigProbesEntry 1 }

emConfigProbeName OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive name of the probe set by the user,
       possibly denoting its location or purpose."
   ::= { emConfigProbesEntry 2 }

emConfigProbeHighTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high temperature alarm threshold for the probe.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { emConfigProbesEntry 3 }

emConfigProbeLowTempThreshold OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low temperature alarm threshold for the probe.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { emConfigProbesEntry 4 }

emConfigProbeTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       thresholds of the probe, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { emConfigProbesEntry 5 }

emConfigProbeHighHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { emConfigProbesEntry 6 }

emConfigProbeLowHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { emConfigProbesEntry 7 }

emConfigProbeHighTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high temperature alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { emConfigProbesEntry 8 }

emConfigProbeLowTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low temperature alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { emConfigProbesEntry 9 }

emConfigProbeHighHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high humidity alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { emConfigProbesEntry 10 }

emConfigProbeLowHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low humidity alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { emConfigProbesEntry 11 }

emConfigContactsNumContacts OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts supported by the Environmental
       Monitor."
   ::= { emConfig 3 }

emConfigContactsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EmConfigContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the Environmental Monitor
       and their configurations."
   ::= { emConfig 4 }

emConfigContactsEntry OBJECT-TYPE
   SYNTAX EmConfigContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Environmental Monitor contact configurations."
   INDEX  { emConfigContactNumber }
   ::= { emConfigContactsTable 1 }

EmConfigContactsEntry ::=
   SEQUENCE {
       emConfigContactNumber
           INTEGER,
       emConfigContactName
           DisplayString,
       emConfigContactEnable
           INTEGER
   }

emConfigContactNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of an Environmental Monitor contact."
   ::= { emConfigContactsEntry 1 }

emConfigContactName OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for an Environmental Monitor
      contact set by the user, possibly denoting its
      location or purpose."
   ::= { emConfigContactsEntry 2 }

emConfigContactEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An Environmental Monitor contact alarm enable/disable.
       No alarm will be generated if the contact is disabled(1).
       An alarm will be generated if the contact is enabled(2)
       and the contact has been faulted."
   ::= { emConfigContactsEntry 3 }

emStatusCommStatus OBJECT-TYPE
   SYNTAX INTEGER {
      noComm(1),
      comm(2),
      commLost(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The communication status between the agent
       and the Environmental Monitor.
       
       noComm(1),   Communication has never been established.
       comm(2),     Communication has been established.
       commLost(3), Communication was established, but was lost."
   ::= { emStatus 1 }

emStatusProbesNumProbes OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of available probes on the Environmental
       Monitor."
   ::= { emStatus 2 }

emStatusProbesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EmStatusProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of probes supported by the Environmental Monitor
       and their status."
   ::= { emStatus 3 }

emStatusProbesEntry OBJECT-TYPE
   SYNTAX EmStatusProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of the probe."
   INDEX  { emStatusProbeNumber }
   ::= { emStatusProbesTable 1 }

EmStatusProbesEntry ::=
   SEQUENCE {
      emStatusProbeNumber
         INTEGER,
      emStatusProbeName
         DisplayString,
      emStatusProbeStatus
         INTEGER,
      emStatusProbeCurrentTemp
         INTEGER,
      emStatusProbeTempUnits
         INTEGER,
      emStatusProbeCurrentHumid
         INTEGER,
      emStatusProbeHighTempViolation
         INTEGER,
      emStatusProbeLowTempViolation
         INTEGER,
      emStatusProbeHighHumidViolation
         INTEGER,
      emStatusProbeLowHumidViolation
         INTEGER
   }

emStatusProbeNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the probe."
   ::= { emStatusProbesEntry 1 }

emStatusProbeName OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the probe set by the user,
       possibly denoting its location or purpose."
   ::= { emStatusProbesEntry 2 }

emStatusProbeStatus OBJECT-TYPE
   SYNTAX INTEGER {
      disconnected(1),
      connected(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The connected status of the probe, either      
      disconnected(1) or connected(2)."
   ::= { emStatusProbesEntry 3 }

emStatusProbeCurrentTemp OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current temperature reading from the probe displayed
       in the units shown in the 'emStatusProbeTempUnits' OID
       (Celsius or Fahrenheit)."
   ::= { emStatusProbesEntry 4 }

emStatusProbeTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       thresholds of the probe, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { emStatusProbesEntry 5 }

emStatusProbeCurrentHumid OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current humidity reading from the probe in
       percent relative humidity."
   ::= { emStatusProbesEntry 6 }

emStatusProbeHighTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      highTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The high temperature violation status of the probe
       temperature reading. This OID will show a highTempViolation(2)
       if the current temperature reading shown in the
       'emStatusProbeCurrentTemp' OID is greater than or equal to
       the high temperature threshold value, the 
       'emConfigProbeHighTempThreshold' OID, and the value of the
       'emConfigProbeHighTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'emConfigProbeHighTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { emStatusProbesEntry 7 }

emStatusProbeLowTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      lowTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The high temperature violation status of the probe
       temperature reading. This OID will show a lowTempViolation(2)
       if the current temperature reading shown in the
       'emStatusProbeCurrentTemp' OID is less than or equal to
       the low temperature threshold value, the 
       'emConfigProbeLowTempThreshold' OID, and the value of the
       'emConfigProbeLowTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'emConfigProbeLowTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { emStatusProbesEntry 8 }

emStatusProbeHighHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      highHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The high humidity violation status of the probe humidity
       reading. This OID will show a highTempViolation(2)
       if the current humidity reading shown in the
       'emStatusProbeCurrentHumid' OID is greater than or equal to
       the high humidity threshold value, the 
       'emConfigProbeHighHumidThreshold' OID, and the value of the
       'emConfigProbeHighHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1).  If the 'emConfigProbeHighHumidEnable' OID is
       disabled, this OID will show disabled(3)"
   ::= { emStatusProbesEntry 9 }

emStatusProbeLowHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      lowHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The low humidity violation status of the probe humidity
       reading. This OID will show a lowTempViolation(2)
       if the current humidity reading shown in the
       'emStatusProbeCurrentHumid' OID is less than or equal to
       the low humidity threshold value, the 
       'emConfigProbeLowHumidThreshold' OID, and the value of the
       'emConfigProbeLowHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1). If the 'emConfigProbeLowHumidEnable' OID is
       disabled, this OID will show disabled(3)."
   ::= { emStatusProbesEntry 10 }

emStatusContactsNumContacts OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts supported by the
       Environmental Monitor."
   ::= { emStatus 4 }

emStatusContactsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EmStatusContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the Environmental Monitor
       and their status."
   ::= { emStatus 5 }

emStatusContactsEntry OBJECT-TYPE
   SYNTAX EmStatusContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of the contact."
   INDEX  { emStatusContactNumber }
   ::= { emStatusContactsTable 1 }

EmStatusContactsEntry ::=
   SEQUENCE {
      emStatusContactNumber
         INTEGER,
      emStatusContactName
         DisplayString,
      emStatusContactStatus
         INTEGER
   }

emStatusContactNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the Environmental Monitor contact."
   ::= { emStatusContactsEntry 1 }

emStatusContactName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the Environmental Monitor contact
       set by the user, possibly denoting its location or purpose."
   ::= { emStatusContactsEntry 2 }

emStatusContactStatus OBJECT-TYPE
   SYNTAX INTEGER {
      noFault(1),
      fault(2),
      disabled(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Environmental Monitor contact. The status
       will show noFault(1) if the contact is in the normal state
       and the 'emConfigContactEnable' OID is enabled. The status will
       show a fault(2) if the contact is faulted and the 
       'emContactEnable' OID is enabled. If the 'emConfigContactEnable'
       OID is disabled, the status will show disabled(3)."
   ::= { emStatusContactsEntry 3 }

-- Integrated Environmental Monitor (IEM)

iemIdentHardwareRevision OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Integrated Environmental
       Monitor."
   ::= { iemIdent 1 }

iemConfigProbesNumProbes OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of temperature and humidity probes available."
   ::= { iemConfig 1 }

iemConfigProbesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IemConfigProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of probes supported by the Environmental Monitor
       and their configurations."
   ::= { iemConfig 2 }

iemConfigProbesEntry OBJECT-TYPE
   SYNTAX IemConfigProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Environmental Monitor probe configurations."
   INDEX  { iemConfigProbeNumber }
   ::= { iemConfigProbesTable 1 }

IemConfigProbesEntry ::=
   SEQUENCE {
      iemConfigProbeNumber
         INTEGER,
      iemConfigProbeName
         DisplayString,
      iemConfigProbeHighTempThreshold
         INTEGER,
      iemConfigProbeLowTempThreshold
         INTEGER,
      iemConfigProbeTempUnits
         INTEGER,
      iemConfigProbeHighHumidThreshold
         INTEGER,
      iemConfigProbeLowHumidThreshold
         INTEGER,
      iemConfigProbeHighTempEnable
         INTEGER,
      iemConfigProbeLowTempEnable
         INTEGER,
      iemConfigProbeHighHumidEnable
         INTEGER,
      iemConfigProbeLowHumidEnable
         INTEGER
   }

iemConfigProbeNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to a Environmental Monitor probe entry."
   ::= { iemConfigProbesEntry 1 }

iemConfigProbeName OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the probe set by the user,
       possibly denoting its location or purpose."
   ::= { iemConfigProbesEntry 2 }

iemConfigProbeHighTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high temperature alarm threshold for the probe.
       Units are displayed in the scale selected in the
       'iemConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { iemConfigProbesEntry 3 }

iemConfigProbeLowTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low temperature alarm threshold for the probe.
       Units are displayed in the scale selected in the
       'iemConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { iemConfigProbesEntry 4 }

iemConfigProbeTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       thresholds of the probe, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { iemConfigProbesEntry 5 }

iemConfigProbeHighHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { iemConfigProbesEntry 6 }

iemConfigProbeLowHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { iemConfigProbesEntry 7 }

iemConfigProbeHighTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high temperature alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { iemConfigProbesEntry 8 }

iemConfigProbeLowTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low temperature alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { iemConfigProbesEntry 9 }

iemConfigProbeHighHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The high humidity alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { iemConfigProbesEntry 10 }

iemConfigProbeLowHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The low humidity alarm enable/disable for the
       probe. No alarm will be generated if this value
       is set to disabled(1). The alarm will be 
       generated if this value is set to enabled(2) and
       the threshold has been violated."
   ::= { iemConfigProbesEntry 11 }

iemConfigContactsNumContacts OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts available on the Environmental
       Monitor."
   ::= { iemConfig 3 }

iemConfigContactsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IemConfigContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the Environmental Monitor
       and their configurations."
   ::= { iemConfig 4 }

iemConfigContactsEntry OBJECT-TYPE
   SYNTAX IemConfigContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The Environmental Monitor contact configurations."
   INDEX  { iemConfigContactNumber }
   ::= { iemConfigContactsTable 1 }

IemConfigContactsEntry ::=
   SEQUENCE {
       iemConfigContactNumber
           INTEGER,
       iemConfigContactName
           DisplayString,
       iemConfigContactEnable
           INTEGER
   }

iemConfigContactNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of an Environmental Monitor contact."
   ::= { iemConfigContactsEntry 1 }

iemConfigContactName OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the Environmental Monitor contact
       set by the user, possibly denoting its location or purpose."
   ::= { iemConfigContactsEntry 2 }

iemConfigContactEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "An Environmental Monitor contact alarm enable/disable."
   ::= { iemConfigContactsEntry 3 }


iemStatusProbesNumProbes OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of available probes on the Environmental
       Monitor."
   ::= { iemStatus 1 }

iemStatusProbesTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IemStatusProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of probes supported by the Environmental Monitor
       and their status."
   ::= { iemStatus 2 }

iemStatusProbesEntry OBJECT-TYPE
   SYNTAX IemStatusProbesEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of the probe."
   INDEX  { iemStatusProbeNumber }
   ::= { iemStatusProbesTable 1 }

IemStatusProbesEntry ::=
   SEQUENCE {
      iemStatusProbeNumber
         INTEGER,
      iemStatusProbeName
         DisplayString,
      iemStatusProbeStatus
         INTEGER,
      iemStatusProbeCurrentTemp
         INTEGER,
      iemStatusProbeTempUnits
         INTEGER,
      iemStatusProbeCurrentHumid
         INTEGER,
      iemStatusProbeHighTempViolation
         INTEGER,
      iemStatusProbeLowTempViolation
         INTEGER,
      iemStatusProbeHighHumidViolation
         INTEGER,
      iemStatusProbeLowHumidViolation
         INTEGER
   }

iemStatusProbeNumber OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the probe."
   ::= { iemStatusProbesEntry 1 }

iemStatusProbeName OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the probe set by the user,
       denoting its location or purpose."
   ::= { iemStatusProbesEntry 2 }

iemStatusProbeStatus OBJECT-TYPE
   SYNTAX INTEGER {
      disconnected(1),
      connected(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The connected status of the probe, either      
      disconnected(1) or connected(2)."
   ::= { iemStatusProbesEntry 3 }

iemStatusProbeCurrentTemp OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current temperature reading from the probe displayed
       in the units shown in the 'iemStatusProbeTempUnits' OID
       (Celsius or Fahrenheit)."
   ::= { iemStatusProbesEntry 4 }

iemStatusProbeTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)     
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       thresholds of the probe, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { iemStatusProbesEntry 5 }

iemStatusProbeCurrentHumid OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current humidity reading from the probe in percent
      relative humidity."
   ::= { iemStatusProbesEntry 6 }

iemStatusProbeHighTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      highTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The high temperature violation status of the probe
       temperature reading. This OID will show a highTempViolation(2)
       if the current temperature reading shown in the
       'iemStatusProbeCurrentTemp' OID is greater than or equal to
       the high temperature threshold value, the 
       'iemConfigProbeHighTempThreshold' OID, and the value of the
       'iemConfigProbeHighTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'iemConfigProbeHighTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 7 }

iemStatusProbeLowTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      lowTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The high temperature violation status of the probe
       temperature reading. This OID will show a lowTempViolation(2)
       if the current temperature reading shown in the
       'iemStatusProbeCurrentTemp' OID is less than or equal to
       the low temperature threshold value, the 
       'iemConfigProbeLowTempThreshold' OID, and the value of the
       'iemPConfigrobeLowTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'iemConfigProbeLowTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 8 }

iemStatusProbeHighHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      highHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The high humidity violation status of the probe humidity
       reading. This OID will show a highTempViolation(2)
       if the current humidity reading shown in the
       'iemStatusProbeCurrentHumid' OID is greater than or equal to
       the high humidity threshold value, the 
       'iemConfigProbeHighHumidThreshold' OID, and the value of the
       'iemConfigProbeHighHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1). If the 'iemConfigProbeHighHumidEnable' OID is
       disabled, this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 9 }

iemStatusProbeLowHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      lowHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The low humidity violation status of the probe humidity
       reading. This OID will show a lowTempViolation(2)
       if the current humidity reading shown in the
       'iemStatusProbeCurrentHumid' OID is less than or equal to
       the low humidity threshold value, the 
       'iemConfigProbeLowHumidThreshold' OID, and the value of the
       'iemConfigProbeLowHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1). If the 'iemConfigProbeLowHumidEnable' OID is
       disabled, this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 10 }

iemStatusContactsNumContacts OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of contacts supported on the
       Environmental Monitor."
   ::= { iemStatus 3 }

iemStatusContactsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IemStatusContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of contacts supported by the Environmental Monitor
       and their status."
   ::= { iemStatus 4 }

iemStatusContactsEntry OBJECT-TYPE
   SYNTAX IemStatusContactsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of the contact."
   INDEX  { iemStatusContactNumber }
   ::= { iemStatusContactsTable 1 }

IemStatusContactsEntry ::=
   SEQUENCE {
      iemStatusContactNumber
         INTEGER,
      iemStatusContactName
         DisplayString,
      iemStatusContactStatus
         INTEGER
   }

iemStatusContactNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the Environmental Monitor contact."
   ::= { iemStatusContactsEntry 1 }

iemStatusContactName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the Environmental Monitor contact
       set by the user, denoting its location or purpose."
   ::= { iemStatusContactsEntry 2 }

iemStatusContactStatus OBJECT-TYPE
   SYNTAX INTEGER {
      noFault(1),
      fault(2),
      disabled(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the Environmental Monitor contact. The status
       will show noFault(1) if the contact is in the normal state
       and the 'iemConfigContactEnable' OID is enabled. The status will
       show a fault(2) if the contact is faulted and the 
       'iemConfigContactEnable' OID is enabled. If the
       'iemConfigContactEnable' OID is disabled, the status will show
       disabled(3)."
   ::= { iemStatusContactsEntry 3 }

iemStatusRelaysNumRelays OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of output relays supported on the
       Environmental Monitor."
   ::= { iemStatus 6 }

iemStatusRelaysTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IemStatusRelaysEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "A list of output relays supported by the
       Environmental Monitor and their status."
   ::= { iemStatus 7 }

iemStatusRelaysEntry OBJECT-TYPE
   SYNTAX IemStatusRelaysEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The status of the relay."
   INDEX  { iemStatusRelayNumber }
   ::= { iemStatusRelaysTable 1 }

IemStatusRelaysEntry ::=
   SEQUENCE {
      iemStatusRelayNumber
         INTEGER,
      iemStatusRelayName
         DisplayString,
      iemStatusRelayStatus
         INTEGER
   }

iemStatusRelayNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the output relay."
   ::= { iemStatusRelaysEntry 1 }

iemStatusRelayName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the output relay set by the
       user, denoting its location or purpose."
   ::= { iemStatusRelaysEntry 2 }

iemStatusRelayStatus OBJECT-TYPE
   SYNTAX INTEGER {
      faultState(1),
      normalState(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the output relay, either faultState(1) or
      normalState(2)."
   ::= { iemStatusRelaysEntry 3 }

-- Environmental Management System (EMS)

--  EMS IDENT

emsIdentEMSName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       device. "
   ::= { emsIdent 1 }

emsIdentProductNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the model number of 
       the device. This value is set at the factory."
   ::= { emsIdent 2 }

emsIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the device."
   ::= { emsIdent 3 }

emsIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the device. 
       This value is set at the factory."
   ::= { emsIdent 4 }

emsIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date when the device was manufactured in mm/dd/yyyy format.
       This value is set at the factory. " 
   ::= { emsIdent 5 }
   
emsIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the serial number of 
       the device. This value is set at the factory."
   ::= { emsIdent 6 }

--  EMS CONTROL

-- EMS OUTPUT RELAY CONTROL STATUS TABLE

emsOutputRelayControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutputRelayControlEMSEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual output relays. The number of
       entries is contained in the emsStatusOutputRelayCount OID."
   ::= { emsOutputRelayControl 1 }

emsOutputRelayControlEntry OBJECT-TYPE
   SYNTAX OutputRelayControlEMSEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The output relays to control."
   INDEX  { emsOutputRelayControlOutputRelayIndex }
   ::= { emsOutputRelayControlTable 1 }

OutputRelayControlEMSEntry ::=
   SEQUENCE {
      emsOutputRelayControlOutputRelayIndex   INTEGER,
      emsOutputRelayControlOutputRelayName    DisplayString,
      emsOutputRelayControlOutputRelayCommand INTEGER
   }      

emsOutputRelayControlOutputRelayIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the output relay entry."
   ::= { emsOutputRelayControlEntry 1 }
   
emsOutputRelayControlOutputRelayName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the output relay.
       This OID is provided for informational purposes only."
   ::= { emsOutputRelayControlEntry 2 }

emsOutputRelayControlOutputRelayCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateCloseEMS           (1),
      immediateOpenEMS            (2)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the output relay state. If 
       the output relay is closed, the immediateCloseEMS (1) value will be returned.
       If the output relay is open, the immediateOpenEMS (2) value will be
       returned. 
              
       Setting this variable to immediateCloseEMS (1) will immediately close the relay.
       
       Setting this variable to immediateOpenEMS (2) will immediately open the relay."
   ::= { emsOutputRelayControlEntry 3 }

-- EMS OUTLET CONTROL TABLE
 
emsOutletControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF OutletControlEMSEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual outlet switches. The number of
       entries is contained in the emsStatusOutletCount OID."
   ::= { emsOutletControl 1 }

emsOutletControlEntry OBJECT-TYPE
   SYNTAX OutletControlEMSEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to control."
   INDEX  { emsOutletControlOutletIndex }
   ::= { emsOutletControlTable 1 }

OutletControlEMSEntry ::=
   SEQUENCE {
      emsOutletControlOutletIndex   INTEGER,
      emsOutletControlOutletName    DisplayString,
      emsOutletControlOutletCommand INTEGER
   }      

emsOutletControlOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { emsOutletControlEntry 1 }
   
emsOutletControlOutletName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet.
       This OID is provided for informational purposes only."
   ::= { emsOutletControlEntry 2 }

emsOutletControlOutletCommand OBJECT-TYPE
   SYNTAX INTEGER {
      immediateOnEMS             (1),
      immediateOffEMS            (2)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the outlet state. If 
       the outlet is on, the immediateOnEMS (1) value will be returned.
       If the outlet is off, the immediateOffEMS (2) value will be
       returned. 
       
       Setting this variable to immediateOnEMS (1) will immediately turn the outlet on.
       
       Setting this variable to immediateOffEMS (2) will immediately turn the outlet off."
   ::= { emsOutletControlEntry 3 }

-- EMS SENSOR CONTROL TABLE

emsSensorControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSSensorControlEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control/reset of individual sensors. The number of
       entries is contained in the emsStatusSensorCount OID."
   ::= { emsSensorControl 1 }

emsSensorControlEntry OBJECT-TYPE
   SYNTAX EMSSensorControlEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The sensors to control/reset."
   INDEX  { emsSensorControlSensorIndex }
   ::= { emsSensorControlTable 1 }

EMSSensorControlEntry ::=
   SEQUENCE {
      emsSensorControlSensorIndex         INTEGER,
      emsSensorControlSensorSystemName    DisplayString,
      emsSensorControlSensorUserName      DisplayString,
      emsSensorControlSensorCommand       INTEGER
   }      

emsSensorControlSensorIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the sensor entry."
   ::= { emsSensorControlEntry 1 }
   
emsSensorControlSensorSystemName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The system name of the sensor.  This describes the hardware system
       intent of this sensor."
   ::= { emsSensorControlEntry 2 }

emsSensorControlSensorUserName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the sensor as given by the system user."
   ::= { emsSensorControlEntry 3 }
   
emsSensorControlSensorCommand OBJECT-TYPE
   SYNTAX INTEGER {
      noCommandEMS        (1),
      resetCommandEMS     (2)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return noCommandEMS(1).  
              
       Setting this variable to resetCommandEMS(2) will issue a reset command to the
       sensor.  Some sensors cannot be manually reset and will not be affected 
       by this command."
   ::= { emsSensorControlEntry 4 }

-- EMS ALARM DEVICE CONTROL TABLE
 
emsAlarmDeviceControlTable OBJECT-TYPE
   SYNTAX SEQUENCE OF AlarmDeviceControlEMSEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for control of individual alarm devices. 
       Note: Some alarm devices are not controllable.  The number of
       entries is contained in the emsStatusAlarmDeviceCount OID."
   ::= { emsAlarmDeviceControl 1 }

emsAlarmDeviceControlEntry OBJECT-TYPE
   SYNTAX AlarmDeviceControlEMSEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The alarm devices to control."
   INDEX  { emsAlarmDeviceControlDeviceIndex }
   ::= { emsAlarmDeviceControlTable 1 }

AlarmDeviceControlEMSEntry ::=
   SEQUENCE {
      emsAlarmDeviceControlDeviceIndex   INTEGER,
      emsAlarmDeviceControlDeviceName    DisplayString,
      emsAlarmDeviceControlDeviceCommand INTEGER
   }      

emsAlarmDeviceControlDeviceIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the alarm device entry."
   ::= { emsAlarmDeviceControlEntry 1 }
   
emsAlarmDeviceControlDeviceName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the alarm device.
       This OID is provided for informational purposes only."
   ::= { emsAlarmDeviceControlEntry 2 }

emsAlarmDeviceControlDeviceCommand OBJECT-TYPE
   SYNTAX INTEGER {
      alarmDeviceOnEMS             (1),
      alarmDeviceOffEMS            (2),
      alarmDeviceNotInstalledEMS   (3)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the device state. If 
       the device is active, the alarmDeviceOnEMS (1) value will be returned.
       If the device is inactive, the alarmDeviceOffEMS (2) value will be
       returned. If the device is not installed, the 
       alarmDeviceNotInstalledEMS (3) value will be returned.
       
       Actions resulting from setting this variable are device-dependent.

       Setting this variable to alarmDeviceOnEMS (1) will turn that device (ex. Beacon) on.       
       Setting this variable to alarmDeviceOffEMS (2) will turn that device off."

   ::= { emsAlarmDeviceControlEntry 3 }


--  EMS CONFIG

emsConfigName   OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the device."
   ::= { emsConfig 1 }

emsConfigCheckLogLight   OBJECT-TYPE
   SYNTAX INTEGER       {
      lightDisabled          (1),
      lightOnInformational   (2),
      lightOnWarning         (3),
      lightOnSevere          (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The setting of this OID determines the level of event that will
       trigger the check-log light on the EMS. This is not available on the EMU2.

      lightDisabled (1) disables the check-log light.
      lightOnInformational (2) lights check-log for any event of 
        informational severity or above.
      lightOnWarning (3) lights check-log for any event of 
        warning severity or above.
      lightOnSevere (4) lights check-log for any event of severe severity."

   ::= { emsConfig 2 }
   
-- EMS PROBE CONFIG TABLE

emsProbeConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSProbeConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual probes. The number of
       entries is contained in the emsStatusProbeCount OID."
   ::= { emsProbeConfig 1 }

emsProbeConfigEntry OBJECT-TYPE
   SYNTAX EMSProbeConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The probes to configure."
   INDEX  { emsProbeConfigProbeIndex }
   ::= { emsProbeConfigTable 1 }

EMSProbeConfigEntry ::=
   SEQUENCE {
      emsProbeConfigProbeIndex                INTEGER,
      emsProbeConfigProbeName                 DisplayString,
      emsProbeConfigProbeHighTempThresh       INTEGER,
      emsProbeConfigProbeLowTempThresh        INTEGER,
      emsProbeConfigProbeHighHumidityThresh   INTEGER,
      emsProbeConfigProbeLowHumidityThresh    INTEGER,
      emsProbeConfigProbeMaxTempThresh        INTEGER,
      emsProbeConfigProbeMinTempThresh        INTEGER,
      emsProbeConfigProbeDeltaTemp            INTEGER,
      emsProbeConfigProbeMaxHumidityThresh    INTEGER,
      emsProbeConfigProbeMinHumidityThresh    INTEGER,
      emsProbeConfigProbeDeltaHumidity        INTEGER,
      emsProbeConfigProbeSTIncTempVariance    INTEGER,
      emsProbeConfigProbeSTIncTempTime        INTEGER,
      emsProbeConfigProbeSTDecTempVariance    INTEGER,
      emsProbeConfigProbeSTDecTempTime        INTEGER,
      emsProbeConfigProbeLTIncTempVariance    INTEGER,
      emsProbeConfigProbeLTIncTempTime        INTEGER,
      emsProbeConfigProbeLTDecTempVariance    INTEGER,
      emsProbeConfigProbeLTDecTempTime        INTEGER
   }      

emsProbeConfigProbeIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the probe entry."
   ::= { emsProbeConfigEntry 1 }
   
emsProbeConfigProbeName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the probe."
   ::= { emsProbeConfigEntry 2 }

emsProbeConfigProbeHighTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe high temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 3 }
   
emsProbeConfigProbeLowTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe low temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 4 }
   
emsProbeConfigProbeHighHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe high humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeConfigEntry 5 }
   
emsProbeConfigProbeLowHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe low humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeConfigEntry 6 }

emsProbeConfigProbeMaxTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe maximum temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 7 }
   
emsProbeConfigProbeMinTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe minimum temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 8 }
   
emsProbeConfigProbeDeltaTemp OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe delta temperature. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 9 }
   
emsProbeConfigProbeMaxHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe maximum humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeConfigEntry 10 }
   
emsProbeConfigProbeMinHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe minimum humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeConfigEntry 11 }
   
emsProbeConfigProbeDeltaHumidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe delta humidity. 

      Values are represented in whole number percentage."
   ::= { emsProbeConfigEntry 12 }
   
emsProbeConfigProbeSTIncTempVariance OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe short-term increasing temperature variance used for rate of change alarms. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 13 }
   
emsProbeConfigProbeSTIncTempTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe short-term increasing temperature time used for rate of change alarms. 

      Values are represented in whole number minutes."
   ::= { emsProbeConfigEntry 14 }
   
emsProbeConfigProbeSTDecTempVariance OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe short-term decreasing temperature variance used for rate of change alarms. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 15 }
   
emsProbeConfigProbeSTDecTempTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe short-term decreasing temperature time used for rate of change alarms. 

      Values are represented in whole number minutes."
   ::= { emsProbeConfigEntry 16 }
   
emsProbeConfigProbeLTIncTempVariance OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe long-term increasing temperature variance used for rate of change alarms. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 17 }
   
emsProbeConfigProbeLTIncTempTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe long-term increasing temperature time used for rate of change alarms. 

      Values are represented in whole number hours."
   ::= { emsProbeConfigEntry 18 }
   
emsProbeConfigProbeLTDecTempVariance OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe long-term decreasing temperature variance used for rate of change alarms. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeConfigEntry 19 }
   
emsProbeConfigProbeLTDecTempTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Probe long-term decreasing temperature time used for rate of change alarms. 

      Values are represented in whole number hours."
   ::= { emsProbeConfigEntry 20 }
   

-- EMS INPUT CONTACT CONFIG STATUS TABLE

emsInputContactConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSInputContactConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual input contacts. The number of
       entries is contained in the emsStatusInputContactCount OID."
   ::= { emsInputContactConfig 1 }

emsInputContactConfigEntry OBJECT-TYPE
   SYNTAX EMSInputContactConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The input contacts to configure."
   INDEX  { emsInputContactConfigInputContactIndex }
   ::= { emsInputContactConfigTable 1 }

EMSInputContactConfigEntry ::=
   SEQUENCE {
      emsInputContactConfigInputContactIndex         INTEGER,
      emsInputContactConfigInputContactName          DisplayString,
      emsInputContactConfigInputContactNormalState   INTEGER
   }      

emsInputContactConfigInputContactIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the input contact entry."
   ::= { emsInputContactConfigEntry 1 }
   
emsInputContactConfigInputContactName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the input contact."
   ::= { emsInputContactConfigEntry 2 }

emsInputContactConfigInputContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyClosedEMS        (1),
      normallyOpenEMS          (2)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the input contact. If 
       the normal state is closed, the normallyClosedEMS (1) value will be returned.
       If the normal state is closed, the normallyOpenEMS (2) value will be
       returned.
       
       Setting this variable will change the normal state of the input contact"
   ::= { emsInputContactConfigEntry 3 }
   
-- EMS OUTPUT RELAY CONFIG STATUS TABLE

emsOutputRelayConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSOutputRelayConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual output relays. The number of
       entries is contained in the emsStatusOutputRelayCount OID."
   ::= { emsOutputRelayConfig 1 }

emsOutputRelayConfigEntry OBJECT-TYPE
   SYNTAX EMSOutputRelayConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The output relays to configure."
   INDEX  { emsOutputRelayConfigOutputRelayIndex }
   ::= { emsOutputRelayConfigTable 1 }

EMSOutputRelayConfigEntry ::=
   SEQUENCE {
      emsOutputRelayConfigOutputRelayIndex          INTEGER,
      emsOutputRelayConfigOutputRelayName           DisplayString,
      emsOutputRelayConfigOutputRelayNormalState    INTEGER
   }      

emsOutputRelayConfigOutputRelayIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the output relay entry."
   ::= { emsOutputRelayConfigEntry 1 }
   
emsOutputRelayConfigOutputRelayName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the output relay."
   ::= { emsOutputRelayConfigEntry 2 }

emsOutputRelayConfigOutputRelayNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyClosedEMS        (1),
      normallyOpenEMS          (2)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the output relay. If 
       the normal state is closed, the normallyClosedEMS (1) value will be returned.
       If the normal state is closed, the normallyOpenEMS (2) value will be
       returned.
              
       Setting this variable will change the normal state of the output relay"
   ::= { emsOutputRelayConfigEntry 3 }
   
-- EMS OUTLET CONFIG TABLE
  
emsOutletConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSOutletConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual outlets. The number of
       entries is contained in the emsStatusOutletCount OID."
   ::= { emsOutletConfig 1 }

emsOutletConfigEntry OBJECT-TYPE
   SYNTAX EMSOutletConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to configure."
   INDEX  { emsOutletConfigOutletIndex }
   ::= { emsOutletConfigTable 1 }

EMSOutletConfigEntry ::=
   SEQUENCE {
      emsOutletConfigOutletIndex          INTEGER,
      emsOutletConfigOutletName           DisplayString,
      emsOutletConfigOutletNormalState    INTEGER
   }      

emsOutletConfigOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { emsOutletConfigEntry 1 }
   
emsOutletConfigOutletName   OBJECT-TYPE
   SYNTAX  DisplayString    ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet."
   ::= { emsOutletConfigEntry 2 }

emsOutletConfigOutletNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyOnEMS             (1),
      normallyOffEMS            (2)
   }     

   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the outlet. If 
       the normal state is on, the normallyOnEMS (1) value will be returned.
       If the normal state is off, the normallyOffEMS (2) value will be
       returned. 
       
       Setting this variable will change the normal state of the outlet"
   ::= { emsOutletConfigEntry 3 }
   
-- EMS SENSOR CONFIG TABLE

emsSensorConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSSensorConfigEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual sensors. The number of
       entries is contained in the emsStatusSensorCount OID."
   ::= { emsSensorConfig 1 }

emsSensorConfigEntry OBJECT-TYPE
   SYNTAX EMSSensorConfigEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The sensors to configure."
   INDEX  { emsSensorConfigSensorIndex }
   ::= { emsSensorConfigTable 1 }

EMSSensorConfigEntry ::=
   SEQUENCE {
      emsSensorConfigSensorIndex         INTEGER,
      emsSensorConfigSensorSystemName    DisplayString,
      emsSensorConfigSensorUserName      DisplayString,
      emsSensorConfigSensorNormalState   INTEGER,
      emsSensorConfigSensorAlarmDelay    INTEGER
   }      

emsSensorConfigSensorIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the sensor entry."
   ::= { emsSensorConfigEntry 1 }
   
emsSensorConfigSensorSystemName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The system name of the sensor.  This describes the hardware system
       intent of this sensor."
   ::= { emsSensorConfigEntry 2 }

emsSensorConfigSensorUserName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the sensor as given by the system user."
   ::= { emsSensorConfigEntry 3 }
   
emsSensorConfigSensorNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyClosedEMS        (1),
      normallyOpenEMS          (2)
   }     
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the sensor. If 
       the normal state is closed, the normallyClosedEMS (1) value will be returned.
       If the normal state is closed, the normallyOpenEMS (2) value will be
       returned.
       
       Setting this variable will change the normal state of the sensor.  Note:
       Only the AUX sensor in the EMS has a configurable Normal State"
   ::= { emsSensorConfigEntry 4 }

emsSensorConfigSensorAlarmDelay   OBJECT-TYPE
   SYNTAX  INTEGER 
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The delay (in seconds) after a sensor detects an alarm condition before the
       condition is reported."
   ::= { emsSensorConfigEntry 5 }

--  EMS STATUS
--- EMS MASTER status

emsStatusEMSName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       device. "
   ::= { emsStatus 1 }

emsStatusCommStatus OBJECT-TYPE
   SYNTAX INTEGER {
      noComm(1),
      comm(2),
      commLost(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The communication status between the agent
       and the device.
       
       noComm(1),   Communication has never been established.
       comm(2),     Communication has been established.
       commLost(3), Communication was established, but was lost."
   ::= { emsStatus 2 }

emsStatusProbeCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of T/H probes (both local and remote) that
       is supported by this device."
   ::= { emsStatus 3 }

emsStatusInputContactCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of Input Contacts that
       is supported by this device."
   ::= { emsStatus 4 }

emsStatusOutputRelayCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of Output Relays that
       is supported by this device."
   ::= { emsStatus 5 }

emsStatusOutletCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of  AC Outlets that
       is supported by this device."
   ::= { emsStatus 6 }

emsStatusSensorCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of Sensors that
       is supported by this device."
   ::= { emsStatus 7 }
   
emsStatusAlinkAruDeviceCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of remote Aru's supported by this device."
   ::= { emsStatus 8 }

emsStatusAlinkProbeDeviceCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of remote T/H probes supported by this device."
   ::= { emsStatus 9 }

emsStatusAlarmDeviceCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of alarm devices supported by this device."
   ::= { emsStatus 10 }

emsStatusSysTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       in the system, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { emsStatus 11 }

emsStatusCheckLogLight   OBJECT-TYPE
   SYNTAX INTEGER       {
      lightOff         (1),
      lightOn          (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the check-log light on the device.
      For the EMU2, this will always indicate lightOff(1).

      lightOff (1) indicates the light is off (no new log entries).
      lightOn (2) indicates the light is on (new log entries present)."

   ::= { emsStatus 12 }

emsStatusHardwareStatus   OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the EMS hardware.  This integer should be interpreted
       as a bit map, with each bit representing the presence or absence of
       a specific hardware error condition.
       
       0 indicates there are no error conditions detected in the EMS hardware.
       1 indicates a Current Limit error condition related to the Alink port.
       2 indicates incorrect hardware is plugged into an EMS port.
       3 indicates that both of these error conditions are present."

   ::= { emsStatus 13 }

-- EMS PROBE STATUS TABLE

emsProbeStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSProbeStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual probes. The number of
       entries is contained in the emsStatusProbeCount OID."
   ::= { emsProbeStatus 1 }

emsProbeStatusEntry OBJECT-TYPE
   SYNTAX EMSProbeStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The probes to access."
   INDEX  { emsProbeStatusProbeIndex }
   ::= { emsProbeStatusTable 1 }

EMSProbeStatusEntry ::=
   SEQUENCE {
      emsProbeStatusProbeIndex                INTEGER,
      emsProbeStatusProbeName                 DisplayString,
      emsProbeStatusProbeTemperature          INTEGER,
      emsProbeStatusProbeHighTempThresh       INTEGER,
      emsProbeStatusProbeLowTempThresh        INTEGER,
      emsProbeStatusProbeHumidity             INTEGER,
      emsProbeStatusProbeHighHumidityThresh   INTEGER,
      emsProbeStatusProbeLowHumidityThresh    INTEGER,
      emsProbeStatusProbeSerialNumber         DisplayString,
      emsProbeStatusProbeCommStatus           INTEGER,
      emsProbeStatusProbeAlarmStatus          INTEGER,
      emsProbeStatusProbeMaxTempThresh        INTEGER,
      emsProbeStatusProbeMinTempThresh        INTEGER,
      emsProbeStatusProbeMaxHumidityThresh    INTEGER,
      emsProbeStatusProbeMinHumidityThresh    INTEGER
   }      

emsProbeStatusProbeIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the probe entry."
   ::= { emsProbeStatusEntry 1 }
   
emsProbeStatusProbeName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the probe."
   ::= { emsProbeStatusEntry 2 }

emsProbeStatusProbeTemperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe temperature reading. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeStatusEntry 3 }

emsProbeStatusProbeHighTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe high temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeStatusEntry 4 }
   
emsProbeStatusProbeLowTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe low temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeStatusEntry 5 }
   
emsProbeStatusProbeHumidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe humidity reading. 

      Values are represented in whole number percentage."
   ::= { emsProbeStatusEntry 6 }

emsProbeStatusProbeHighHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe high humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeStatusEntry 7 }
   
emsProbeStatusProbeLowHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe low humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeStatusEntry 8 }

emsProbeStatusProbeSerialNumber   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "A label indicating the type (Local[L] or Remote[R]) and Number
       of the probe.  For example, the first local probe would be L1 and
       the third remote probe would be R3."
   ::= { emsProbeStatusEntry 9 }

emsProbeStatusProbeCommStatus OBJECT-TYPE
   SYNTAX INTEGER {
      commsNeverDiscovered(1),
      commsEstablished(2),
      commsLost(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      " The state of communications to the probe.
      commNeverDiscovered(1) indicates there has never been communications with this device.
      commsEstablished(2) indicates communication is normal and active with this device.
      commsLost(3) indicates communication had been established, but is no longer."
   ::= { emsProbeStatusEntry 10 }

emsProbeStatusProbeAlarmStatus   OBJECT-TYPE
   SYNTAX INTEGER       
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The alarm status of the probe.  This integer should be interpreted
       as a bit map, with each bit representing the presence or absence of
       the specific alarm conditions listed below.  The bit will be '1' if
       the condition is present, and '0' if the condition is not present.
       
       Bit  Hex. Value  Description
       1    0x0001      Maximum temperature exceeded.
       2    0x0002      High temperature exceeded.
       3    0x0004      Low temperature exceeded.
       4    0x0008      Minimum temperature exceeded.
       5    0x0010      Short-term increasing temperature rate exceeded.
       6    0x0020      Short-term decreasing temperature rate exceeded.
       7    0x0040      Long-term increasing temperature rate exceeded.
       8    0x0080      Long-term decreasing temperature rate exceeded.
       9    0x0100      Maximum humidity exceeded.
       10   0x0200      High humidity exceeded.
       11   0x0400      Low humidity exceeded.
       12   0x0800      Minimum humidity exceeded."
   ::= { emsProbeStatusEntry 11 }

emsProbeStatusProbeMaxTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe maximum temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeStatusEntry 12 }
   
emsProbeStatusProbeMinTempThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe minimum temperature threshold. 

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the emsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { emsProbeStatusEntry 13 }
   
emsProbeStatusProbeMaxHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe maximum humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeStatusEntry 14 }
   
emsProbeStatusProbeMinHumidityThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Probe minimum humidity threshold. 

      Values are represented in whole number percentage."
   ::= { emsProbeStatusEntry 15 }
   

-- EMS INPUT CONTACT STATUS TABLE

emsInputContactStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSInputContactStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual input contacts. The number of
       entries is contained in the emsStatusInputContactCount OID."
   ::= { emsInputContactStatus 1 }

emsInputContactStatusEntry OBJECT-TYPE
   SYNTAX EMSInputContactStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The input contacts to access."
   INDEX  { emsInputContactStatusInputContactIndex }
   ::= { emsInputContactStatusTable 1 }

EMSInputContactStatusEntry ::=
   SEQUENCE {
      emsInputContactStatusInputContactIndex         INTEGER,
      emsInputContactStatusInputContactName          DisplayString,
      emsInputContactStatusInputContactState         INTEGER,
      emsInputContactStatusInputContactNormalState   INTEGER
   }      

emsInputContactStatusInputContactIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the input contact entry."
   ::= { emsInputContactStatusEntry 1 }
   
emsInputContactStatusInputContactName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the input contact."
   ::= { emsInputContactStatusEntry 2 }
   
emsInputContactStatusInputContactState OBJECT-TYPE
   SYNTAX INTEGER {
      contactClosedEMS         (1),
      contactOpenEMS           (2)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the state of the input contact. If 
       the input contact is closed, the contactClosedEMS (1) value will be returned.
       If the input contact state is open, the contactOpenEMS (2) value will be
       returned. "
       
   ::= { emsInputContactStatusEntry 3 }

emsInputContactStatusInputContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyClosedEMS         (1),
      normallyOpenEMS           (2)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the input contact. If 
       the normal state is closed, the normallyClosedEMS (1) value will be returned.
       If the normal state is open, the normallyOpenEMS (2) value will be
       returned. "
       
   ::= { emsInputContactStatusEntry 4 }


-- EMS OUTPUT RELAY STATUS TABLE

emsOutputRelayStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSOutputRelayStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual output relays. The number of
       entries is contained in the emsStatusOutputRelayCount OID."
   ::= { emsOutputRelayStatus 1 }

emsOutputRelayStatusEntry OBJECT-TYPE
   SYNTAX EMSOutputRelayStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The output relays to access."
   INDEX  { emsOutputRelayStatusOutputRelayIndex }
   ::= { emsOutputRelayStatusTable 1 }

EMSOutputRelayStatusEntry ::=
   SEQUENCE {
      emsOutputRelayStatusOutputRelayIndex          INTEGER,
      emsOutputRelayStatusOutputRelayName           DisplayString,
      emsOutputRelayStatusOutputRelayState          INTEGER,
      emsOutputRelayStatusOutputRelayNormalState    INTEGER
   }      

emsOutputRelayStatusOutputRelayIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the output relay entry."
   ::= { emsOutputRelayStatusEntry 1 }
   
emsOutputRelayStatusOutputRelayName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the output relay."
   ::= { emsOutputRelayStatusEntry 2 }

emsOutputRelayStatusOutputRelayState OBJECT-TYPE
   SYNTAX INTEGER {
      relayClosedEMS         (1),
      relayOpenEMS           (2)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the state of the output relay. If 
       the output relay is closed, the relayClosedEMS (1) value will be returned.
       If the output relay is open, the relayOpenEMS (2) value will be
       returned. "
       
   ::= { emsOutputRelayStatusEntry 3 }

emsOutputRelayStatusOutputRelayNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyClosedEMS         (1),
      normallyOpenEMS           (2)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the output relay. If 
       the normal state is closed, the normallyClosedEMS (1) value will be returned.
       If the normal state is open, the normallyOpenEMS (2) value will be
       returned. "
       
   ::= { emsOutputRelayStatusEntry 4 }
   
-- EMS OUTLET STATUS TABLE
  
emsOutletStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSOutletStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual outlets. The number of
       entries is contained in the emsStatusOutletCount OID."
   ::= { emsOutletStatus 1 }

emsOutletStatusEntry OBJECT-TYPE
   SYNTAX EMSOutletStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The outlets to access."
   INDEX  { emsOutletStatusOutletIndex }
   ::= { emsOutletStatusTable 1 }

EMSOutletStatusEntry ::=
   SEQUENCE {
      emsOutletStatusOutletIndex          INTEGER,
      emsOutletStatusOutletName           DisplayString,
      emsOutletStatusOutletState          INTEGER,
      emsOutletStatusOutletNormalState    INTEGER
   }      

emsOutletStatusOutletIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the outlet entry."
   ::= { emsOutletStatusEntry 1 }
   
emsOutletStatusOutletName   OBJECT-TYPE
   SYNTAX  DisplayString    ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the outlet."
   ::= { emsOutletStatusEntry 2 }

emsOutletStatusOutletState OBJECT-TYPE
   SYNTAX INTEGER {
      outletOnEMS             (1),
      outletOffEMS            (2)
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the state of the outlet. If 
       the outlet is on, the outletOnEMS (1) value will be returned.
       If the outlet is off, the outletOffEMS (2) value will be
       returned. "
       
   ::= { emsOutletStatusEntry 3 }

emsOutletStatusOutletNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyOnEMS             (1),
      normallyOffEMS            (2)
   }     

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

-- EMS ALARM DEVICE STATUS TABLE
 
emsAlarmDeviceStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSAlarmDeviceStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual alarm devices. The number of
       entries is contained in the emsStatusAlarmDeviceCount OID."
   ::= { emsAlarmDeviceStatus 1 }

emsAlarmDeviceStatusEntry OBJECT-TYPE
   SYNTAX EMSAlarmDeviceStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The alarm devices to access."
   INDEX  { emsAlarmDeviceStatusDeviceIndex }
   ::= { emsAlarmDeviceStatusTable 1 }

EMSAlarmDeviceStatusEntry ::=
   SEQUENCE {
      emsAlarmDeviceStatusDeviceIndex   INTEGER,
      emsAlarmDeviceStatusDeviceName    DisplayString,
      emsAlarmDeviceStatusDeviceState   INTEGER
   }      

emsAlarmDeviceStatusDeviceIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the alarm device entry."
   ::= { emsAlarmDeviceStatusEntry 1 }
   
emsAlarmDeviceStatusDeviceName    OBJECT-TYPE
   SYNTAX  DisplayString
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the alarm device.
       This OID is provided for informational purposes only."
   ::= { emsAlarmDeviceStatusEntry 2 }

emsAlarmDeviceStatusDeviceState OBJECT-TYPE
   SYNTAX INTEGER {
      alarmDeviceOnEMS             (1),
      alarmDeviceOffEMS            (2),
      alarmDeviceNotInstalledEMS   (3)   
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the device state. If 
       the device is active, the alarmDeviceOnEMS (1) value will be returned.
       If the device is inactive, the alarmDeviceOffEMS (2) value will be
       returned.  If the device is not installed, the 
       alarmDeviceNotInstalledEMS (3) value will be returned."

   ::= { emsAlarmDeviceStatusEntry 3 }

   
-- EMS SENSOR STATUS TABLE

emsSensorStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EMSSensorStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual sensors. The number of
       entries is contained in the emsStatusSensorCount OID."
   ::= { emsSensorStatus 1 }

emsSensorStatusEntry OBJECT-TYPE
   SYNTAX EMSSensorStatusEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The sensors to access."
   INDEX  { emsSensorStatusSensorIndex }
   ::= { emsSensorStatusTable 1 }

EMSSensorStatusEntry ::=
   SEQUENCE {
      emsSensorStatusSensorIndex         INTEGER,
      emsSensorStatusSensorSystemName    DisplayString,
      emsSensorStatusSensorName          DisplayString,
      emsSensorStatusSensorState         INTEGER,
      emsSensorStatusSensorNormalState   INTEGER,
      emsSensorStatusSensorAlarmDelay    INTEGER
   }      

emsSensorStatusSensorIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the sensor entry."
   ::= { emsSensorStatusEntry 1 }
 
emsSensorStatusSensorSystemName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The system name of the sensor.  This describes the hardware system
       intent of this sensor."
   ::= { emsSensorStatusEntry 2 }
  
emsSensorStatusSensorName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the sensor as given by the system user."
   ::= { emsSensorStatusEntry 3 }

emsSensorStatusSensorState OBJECT-TYPE
   SYNTAX INTEGER {
      sensorFaultedEMS       (1),
      sensorOKEMS            (2),
      sensorNotInstalledEMS  (3)   
   }     

   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the sensor state. If the sensor is faulted, 
       the sensorFaultedEMS (1) value will be returned.
       If the sensor is not faulted, the sensorOKEMS (2) value will be
       returned. If the sensor is not installed, the  sensorNotInstalledEMS (3) 
       value will be returned."
   ::= { emsSensorStatusEntry 4 }
 
emsSensorStatusSensorNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      normallyClosedEMS        (1),
      normallyOpenEMS          (2)
   }     
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "Getting this variable will return the normal state of the sensor. If 
       the normal state is closed, the normallyClosedEMS (1) value will be returned.
       If the normal state is closed, the normallyOpenEMS (2) value will be
       returned."
   ::= { emsSensorStatusEntry 5 }

emsSensorStatusSensorAlarmDelay   OBJECT-TYPE
   SYNTAX  INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The delay (in seconds) after a sensor detects an alarm condition before the
       condition is reported."
   ::= { emsSensorStatusEntry 6 }
   


--  airFM AIR CONDITIONER IDENT

airFMIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       device. "
   ::= { airFMIdent 1 }
   
airFMIdentTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the airFMIdentTable. "   
   ::= { airFMIdent 2 } 

airFMIdentTable OBJECT-TYPE
   SYNTAX SEQUENCE OF AirFMIdentTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting identification information 
       from each module in the system. "    
   ::= { airFMIdent 3 }

airFMIdentTableEntry OBJECT-TYPE
   SYNTAX AirFMIdentTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The module to get information from."
   INDEX  { airFMIdentModuleIndex }
   ::= { airFMIdentTable 1 }

AirFMIdentTableEntry ::=
   SEQUENCE {
      airFMIdentModuleIndex            INTEGER,
      airFMIdentModuleModelNumber      DisplayString,
      airFMIdentModuleDateOfMfg        DisplayString,
      airFMIdentModuleSerialNumber     DisplayString,
      airFMIdentModuleFirmwareRev      DisplayString,
      airFMIdentModuleHardwareRev      DisplayString
   }
   
airFMIdentModuleIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the module information."
   ::= { airFMIdentTableEntry 1 }

airFMIdentModuleModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       model number. "
   ::= { airFMIdentTableEntry 2 }
   
airFMIdentModuleDateOfMfg OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       manufacture date. "
   ::= { airFMIdentTableEntry 3 }
   
airFMIdentModuleSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       unit serial number. "
   ::= { airFMIdentTableEntry 4 }
   
airFMIdentModuleFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       firmware revision. "
   ::= { airFMIdentTableEntry 5 }
   
airFMIdentModuleHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       hardware revision. "
   ::= { airFMIdentTableEntry 6 }
   
--  airFM AIR CONDITIONER STATUS

airFMStatusSystemOn OBJECT-TYPE
   SYNTAX INTEGER   {
      statusOn      (1),
      statusOff     (2)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The operating state of the system. "
   ::= { airFMStatus 1 }
   
airFMStatusSystemAverageRetTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system average return air 
       temperature in tenths of degrees Celsius. "
   ::= { airFMStatus 2 }
   
airFMStatusSystemAverageRetTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system average return air 
       temperature in tenths of degrees Fahrenheit. "
   ::= { airFMStatus 3 }
   
airFMStatusSystemAverageRetHum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system average return air 
       humidity. "
   ::= { airFMStatus 4 }
   
airFMStatusSystemActionTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system action air 
       temperature in tenths of degrees Celsius. "
   ::= { airFMStatus 5 }
   
airFMStatusSystemActionTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system action air 
       temperature in tenths of degrees Fahrenheit. "
   ::= { airFMStatus 6 }
   
airFMStatusSystemActionHum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system action air humidity. "
   ::= { airFMStatus 7 }
   
airFMStatusSystemRemoteHighTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote high air 
       temperature in tenths of degrees Celsius. "
   ::= { airFMStatus 8 }
   
airFMStatusSystemRemoteHighTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote high air 
       temperature in tenths of degrees Fahrenheit. "
   ::= { airFMStatus 9 }
   
airFMStatusSystemRemoteAvgTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote average air 
       temperature in tenths of degrees Celsius. "
   ::= { airFMStatus 10 }
   
airFMStatusSystemRemoteAvgTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote average air 
       temperature in tenths of degrees Fahrenheit. "
   ::= { airFMStatus 11 }
   
airFMStatusSystemRemoteAvgHum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote average air 
       humidity. "
   ::= { airFMStatus 12 }
   
airFMStatusSystemRemoteLowTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote low air 
       temperature in tenths of degrees Celsius. "
   ::= { airFMStatus 13 }
   
airFMStatusSystemRemoteLowTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system remote low air 
       temperature in tenths of degrees Fahrenheit. "
   ::= { airFMStatus 14 }
   
airFMStatusSystemCoolingEnabled OBJECT-TYPE
   SYNTAX INTEGER   {
      enabledYes    (1),
      enabledNo     (2)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the system cooling
       function enable. "
   ::= { airFMStatus 15 }
   
airFMStatusSystemReheatingEnabled OBJECT-TYPE
   SYNTAX INTEGER   {
      enabledYes    (1),
      enabledNo     (2)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the system reheating
       function enable. "
   ::= { airFMStatus 16 }
   
airFMStatusSystemHumidifyEnabled OBJECT-TYPE
   SYNTAX INTEGER   {
      enabledYes    (1),
      enabledNo     (2)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the system humidify
       function enable. "
   ::= { airFMStatus 17 }
   
airFMStatusSystemDehumidifyEnabled OBJECT-TYPE
   SYNTAX INTEGER   {
      enabledYes    (1),
      enabledNo     (2)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the system dehumidify
       function enable. "
   ::= { airFMStatus 18 }
   
airFMStatusModuleTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the airFMStatusModuleTable. "   
   ::= { airFMStatus 19 }   

airFMStatusModuleTable OBJECT-TYPE
   SYNTAX SEQUENCE OF AirFMStatusModuleEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for getting information from each module
       in the system. " 
   ::= { airFMStatus 20 }

airFMStatusModuleEntry OBJECT-TYPE
   SYNTAX AirFMStatusModuleEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The module to get status from."
   INDEX  { airFMStatusModuleIndex }
   ::= { airFMStatusModuleTable 1 }

AirFMStatusModuleEntry ::=
   SEQUENCE {
      airFMStatusModuleIndex               INTEGER,
      airFMStatusModuleOutputCapacity      INTEGER,
      airFMStatusModuleSupplyTempC         INTEGER,
      airFMStatusModuleSupplyTempF         INTEGER,
      airFMStatusModuleSupplyHum           INTEGER,
      airFMStatusModuleReturnTempC         INTEGER, 
      airFMStatusModuleReturnTempF         INTEGER, 
      airFMStatusModuleReturnHum           INTEGER
   }
   
airFMStatusModuleIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of the module information."
   ::= { airFMStatusModuleEntry 1 }

airFMStatusModuleOutputCapacity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module output capacity in kilowatts."
   ::= { airFMStatusModuleEntry 2 }
   
airFMStatusModuleSupplyTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module supply air temperature in 
       tenths of degrees Celsius. "
   ::= { airFMStatusModuleEntry 3 }
   
airFMStatusModuleSupplyTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module supply air temperature in 
       tenths of degrees Fahrenheit. "
   ::= { airFMStatusModuleEntry 4 }
   
airFMStatusModuleSupplyHum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module supply air humidity. "
   ::= { airFMStatusModuleEntry 5 }
   
airFMStatusModuleReturnTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module return air temperature in 
       tenths of degrees Celsius. "
   ::= { airFMStatusModuleEntry 6 }
   
airFMStatusModuleReturnTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module return air temperature in 
       tenths of degrees Fahrenheit. "
   ::= { airFMStatusModuleEntry 7 }
   
airFMStatusModuleReturnHum OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The module return air humidity. "
   ::= { airFMStatusModuleEntry 8 }
   
-- airFM AIR CONDITIONER GROUP DATA

airFMGroupSysStatus OBJECT-TYPE
   SYNTAX INTEGER {
        statusOnLine    (1),
        statusIdle      (2),
        statusLoadShare (3),
        statusOffLine   (4),
        statusFailed    (5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of this system within the group. "
   ::= { airFMGroup 1 }
   
airFMGroupSysRuntime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of hours the system has been running. "
   ::= { airFMGroup 2 }

airFMGroupSysRole OBJECT-TYPE
   SYNTAX INTEGER {
        rolePrimary     (1),
        roleBackup      (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The role of this system within the group. "
   ::= { airFMGroup 3 }

-- airPA Portable Air Conditioner Ident

airPAIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the device name. "
   ::= { airPAIdent 1 }
   
airPAModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the device model number. "
   ::= { airPAIdent 2 }
   
airPADateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying when the device was produced. "
   ::= { airPAIdent 3 }
   
airPASerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the device serial number. "
   ::= { airPAIdent 4 }

airPAFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the device firmware revision. "
   ::= { airPAIdent 5 }

airPAHardwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the device hardware revision. "
   ::= { airPAIdent 6 }

-- airPA Portable Air Conditioner Status

airPASystemPower OBJECT-TYPE
   SYNTAX INTEGER   {
      powerON   (1),
      powerOFF  (2)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The status of the unit's system power setting.
      
        ON(1)   The system power is turned on.
        OFF(2)  The system power is turned off. "
   ::= { airPAStatus 1 }

airPAOperatingMode OBJECT-TYPE
   SYNTAX INTEGER   {
      modeOFF       (1),
      modeVENTING   (2),
      modeCOOLING   (3)
   }    
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current operating mode of the unit.

        OFF(1)      The system is off.
        VENTING(2)  The system's venting function is active.
        COOLING(3)  The system's cooling function is active. "
   ::= { airPAStatus 2 }

airPASetpointTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature setpoint in Fahrenheit to which the unit is controlling. "
   ::= { airPAStatus 3 }

airPASetpointTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature setpoint in Celsius to which the unity is controlling. "
   ::= { airPAStatus 4 }

airPABlowerSpeed OBJECT-TYPE
   SYNTAX INTEGER   {
        speedLOW    (1),
        speedHIGH   (2)
    }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit's blower speed setting.

        LOW(1)      The blower speed is low.
        HIGH(2)     The blower speed is high. "
   ::= { airPAStatus 5 }

airPACompressor OBJECT-TYPE
   SYNTAX INTEGER   {
        statusON    (1),
        statusOFF   (2)
    }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit's compressor status.

        ON(1)   The compressor is turned on.
        OFF(2)  The compressor is turned off. "
   ::= { airPAStatus 6 }

airPACondenserFan OBJECT-TYPE
   SYNTAX INTEGER   {
        statusON    (1),
        statusOFF   (2)
    }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit's condenser fan status.

        ON(1)   The condenser fan is turned on.
        OFF(2)  The condenser fan is turned off. "
   ::= { airPAStatus 7 }

airPACondensatePump OBJECT-TYPE
   SYNTAX INTEGER   {
        statusON    (1),
        statusOFF   (2)
    }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit's condensate pump status.
      
        ON(1)   The condensate pump is turned on.
        OFF(2)  The condensate pump is turned off. "
   ::= { airPAStatus 8 }

airPASupplyTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The supply temperature in degrees Fahrenheit. "
   ::= { airPAStatus 9 }

airPASupplyTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The supply temperature in degrees Celsius. "
   ::= { airPAStatus 10 }

airPAReturnTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The return temperature in degrees Fahrenheit. "
   ::= { airPAStatus 11 }

airPAReturnTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The return temperature in degrees Celsius. "
   ::= { airPAStatus 12 }

airPARemoteTempF OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The remote temperature in degrees Fahrenheit. "
   ::= { airPAStatus 13 }

airPARemoteTempC OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The remote temperature in degrees Celsius. "
   ::= { airPAStatus 14 }

airPARemoteHumidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The remote humidity. "
   ::= { airPAStatus 15 }

--  RACK AIR REMOVAL UNIT IDENT

rARUIdentTable OBJECT-TYPE
   SYNTAX SEQUENCE OF IdentRARUEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for query of the individual devices. 
       The number of entries is contained in the 
       rARUStatusAruDeviceCount OID."
   ::= { rARUIdent 1 }

rARUIdentEntry OBJECT-TYPE
   SYNTAX IdentRARUEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The device to query."
   INDEX  { rARUIdentIndex}
   ::= { rARUIdentTable 1 }

IdentRARUEntry ::=
   SEQUENCE {
      rARUIdentIndex                 INTEGER,
      rARUIdentName                  DisplayString
   }      

rARUIdentIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the device entry."
   ::= { rARUIdentEntry 1 }

rARUIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the 
       device. "
   ::= { rARUIdentEntry 2 }


-- RACK AIR REMOVAL UNIT CONFIGURATION

rARUConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ConfigRARUEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for configuration of individual ARUs. The number of
       entries is contained in the rARUStatusAruDeviceCount OID."
   ::= { rARUConfig 1 }

rARUConfigEntry OBJECT-TYPE
   SYNTAX ConfigRARUEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The ARUs to configure."
   INDEX  { rARUConfigAruIndex }
   ::= { rARUConfigTable 1 }

ConfigRARUEntry ::=
   SEQUENCE {
      rARUConfigAruIndex                  INTEGER,
      rARUConfigAruName                   DisplayString,
      rARUConfigAruRemoteSetpoint         INTEGER,
      rARUConfigAruTempOvrdEnableDisable  INTEGER,
      rARUConfigAruTempOvrdSetpoint       INTEGER
   }      

rARUConfigAruIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the device entry."
   ::= { rARUConfigEntry 1 }
   
rARUConfigAruName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the ARU."
   ::= { rARUConfigEntry 2 }

rARUConfigAruRemoteSetpoint OBJECT-TYPE
   SYNTAX INTEGER       {
      aruOff          (1),
      aru85F-29C      (2),
      aru90F-32C      (3),
      aru95F-35C      (4),
      aru100F-38C     (5),
      aru7kW          (6),
      aru5kW          (7),
      aru3kW          (8),
      aru2kW          (9)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID is the Remote setpoint of the ARU.
       NOTE: -1 will be returned if the ARU is not communicating."

   ::= { rARUConfigEntry 3 }

rARUConfigAruTempOvrdEnableDisable OBJECT-TYPE
   SYNTAX INTEGER       {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID is used to enable/disable the remote temperature override setting of the ARU.
  
       If this OID is set to 1, the remote setting for temperature override is disabled.
       If this OID is set to 2, the remote setting for temperature override is enabled."
   ::= { rARUConfigEntry 4 }

rARUConfigAruTempOvrdSetpoint OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID is the Temperature Override setpoint of the ARU.
       NOTE: -1 will be returned if the ARU is not communicating."

   ::= { rARUConfigEntry 5 }
   
-- RACK AIR REMOVAL UNIT STATUS

rARUStatusAruDeviceCount OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total number of ARUs accessible from this IP."
   ::= { rARUStatus 1 }

rARUStatusSysTempUnits OBJECT-TYPE
   SYNTAX INTEGER {
      celsius(1),
      fahrenheit(2)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature scale used to display the temperature
       in the system, Celsius(1) or Fahrenheit(2).
       This setting is based on the system preferences
       configuration in the agent."
   ::= { rARUStatus 2 }

rARUStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF StatusRARUEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for access of individual ARUs. The number of
       entries is contained in the rARUStatusAruDeviceCount OID."
   ::= { rARUStatus 3 }

rARUStatusEntry OBJECT-TYPE
   SYNTAX StatusRARUEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The ARUs to access."
   INDEX  { rARUStatusAruIndex }
   ::= { rARUStatusTable 1 }

StatusRARUEntry ::=
   SEQUENCE {
      rARUStatusAruIndex                 INTEGER,
      rARUStatusAruName                  DisplayString,
      rARUStatusAruRemoteSetpoint        INTEGER,      
      rARUStatusAruManualSetpoint        INTEGER,      
      rARUStatusAruTemp1                 INTEGER,      
      rARUStatusAruTemp2                 INTEGER,      
      rARUStatusAruTemp3                 INTEGER,      
      rARUStatusAruTempOvrdEnableDisable INTEGER,      
      rARUStatusAruTempOvrdSetpoint      INTEGER,      
      rARUStatusAruAlarmState            DisplayString,
      rARUStatusAruCommStatus            INTEGER
   }

rARUStatusAruIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the ARU entry."
   ::= { rARUStatusEntry 1 }
   
rARUStatusAruName   OBJECT-TYPE
   SYNTAX  DisplayString 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The name of the ARU."
   ::= { rARUStatusEntry 2 }

rARUStatusAruRemoteSetpoint OBJECT-TYPE
   SYNTAX INTEGER       {
      aruOff          (1),
      aru85F-29C      (2),
      aru90F-32C      (3),
      aru95F-35C      (4),
      aru100F-38C     (5),
      aru7kW          (6),
      aru5kW          (7),
      aru3kW          (8),
      aru2kW          (9)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU remote setpoint temperature setting.

      NOTE: -1 will be returned if the ARU is not communicating.

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUStatusEntry 3 }

rARUStatusAruManualSetpoint OBJECT-TYPE
   SYNTAX INTEGER       {
      aruOff          (1),
      aru85F-29C      (2),
      aru90F-32C      (3),
      aru95F-35C      (4),
      aru100F-38C     (5),
      aru7kW          (6),
      aru5kW          (7),
      aru3kW          (8),
      aru2kW          (9),
      aruRem          (10)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU manual setpoint temperature setting. 

      NOTE: -1 will be returned if the ARU is not communicating.

      Values are represented in whole number degrees.
      If the manual setpoint is set to Remote, this OID will return 0.
      Units are displayed in the scale shown in
      the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUStatusEntry 4 }

rARUStatusAruTemp1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU temperature probe #1 reading. 

      NOTE: -1 will be returned if the ARU is not communicating.

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUStatusEntry 5 }

rARUStatusAruTemp2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU temperature probe #2 reading. 

      NOTE: -1 will be returned if the ARU is not communicating.

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUStatusEntry 6 }

rARUStatusAruTemp3 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU temperature probe #3 reading. 

      NOTE: -1 will be returned if the ARU is not communicating.

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUStatusEntry 7 }

rARUStatusAruTempOvrdEnableDisable OBJECT-TYPE
   SYNTAX INTEGER       {
      disabled(1),
      enabled(2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID indicates whether the ARU remote temperature override is enabled or disabled.
       If this OID is a 1, the remote setting for temperature override is disabled.
       If this OID is a 2, the remote setting for temperature override is enabled."
   ::= { rARUStatusEntry 8 }

rARUStatusAruTempOvrdSetpoint OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU remote temperature override setpoint setting. 

      NOTE: -1 will be returned if the ARU is not communicating.

      Values are represented in whole number degrees.
      Units are displayed in the scale shown in
      the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUStatusEntry 9 }

rARUStatusAruAlarmState OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "An ASCII string containing the 8 flags representing
       the current alarm state of the ARU. If the state of 
       the ARU is unknown, this variable is set to ‘UNKNOWN’.

       The flags are numbered 1 to 8, read from left to
       right. The flags are defined as follows:
       
       Flag  1: Fan Fail 1
       Flag  2: Fan Fail 2
       Flag  3: Fan Fail 3
       Flag  4: Smoke
            
       Flag  5: High Temp (Out of Thermal Control)
       Flag  6: Over Temp (Exhaust Temp. Exceeds Override Setpoint)
       Flag  7: Reserved
       Flag  8: Reserved"
   ::= { rARUStatusEntry 10 }

rARUStatusAruCommStatus OBJECT-TYPE
   SYNTAX INTEGER {
      commsNeverDiscovered(1),
      commsEstablished(2),
      commsLost(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of communications to the device.
      commNeverDiscovered(1) indicates there has never been communications with this device.
      commsEstablished(2) indicates communication is normal and active with this device.
      commsLost(3) indicates communication had been established, but is no device."
   ::= { rARUStatusEntry 11 }

-- Traps
-- Annotations are provided for Novell's NMS product
--
-- Each trap has at least one variable (mtrapargsString) which always appears
-- as the last variable in the list. This variable contains either a static
-- or dynamically-constructed string which provides an enhanced description of
-- the trap's purpose and any pertinent information about the trap.

communicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "SEVERE: Communication to the UPS has been lost.  Steps
        to reestablish communication are in progress."
   --#TYPE "APC UPS: Communication lost"
   --#SUMMARY "Communication lost between the agent and the UPS."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 1

upsOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: The UPS has sensed a load greater than 100 percent
       of its rated capacity."
   --#TYPE "APC UPS: Overload"
   --#SUMMARY "The UPS has sensed a load greater than 100 percent of its rated capacity."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 2

upsDiagnosticsFailed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: The UPS failed its internal diagnostic self-test."
   --#TYPE "APC UPS: Failed self-test"
   --#SUMMARY "The UPS has failed its internal self-test."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 3

upsDischarged TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: The UPS batteries are discharged; if utility power fails
       an immediate low battery condition will exist.  Sufficient runtime 
       for necessary action cannot be guaranteed."
   --#TYPE "APC UPS: batteries are discharged"
   --#SUMMARY "The UPS batteries are discharged."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 4

upsOnBattery TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The UPS has switched to battery backup power."
   --#TYPE "APC UPS: On battery"
   --#SUMMARY "The UPS has switched to battery backup power."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 5

smartBoostOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The UPS has enabled SmartBoost(TM)."
   --#TYPE "APC UPS: SmartBoost(TM)"
   --#SUMMARY "The UPS has enabled SmartBoost(TM); low incoming line voltage."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 6

lowBattery TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: The UPS batteries are low and will soon be exhausted.
       If utility power is not restored the UPS will put itself 
       to 'sleep' and immediately cut power to the load."
   --#TYPE "APC UPS: Low battery"
   --#SUMMARY "The UPS system's batteries are low and will soon be exhausted."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 7

communicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communication with the UPS has been established."
   --#TYPE "APC UPS: Communication established"
   --#SUMMARY "UPS communication has been established."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 8

powerRestored TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Utility power has been restored."
   --#TYPE "APC UPS: Utility power restored"
   --#SUMMARY "Returned from battery backup power; utility power restored."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 9

upsDiagnosticsPassed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The UPS passed its internal self-test."
   --#TYPE "APC UPS: Passed self-test"
   --#SUMMARY "The UPS passed internal self-test."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 10

returnFromLowBattery TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from a low battery
       condition."
   --#TYPE "APC UPS: Returned from Low-Battery condition"
   --#SUMMARY "The UPS has returned from a Low-Battery condition."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 11

upsTurnedOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The UPS has been turned 'off' by the management station."
   --#TYPE "APC UPS: Turned off"
   --#SUMMARY "The UPS has been switched off by a management station."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 12

upsSleeping   TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The UPS is entering 'sleep' mode.  Power 
       to the load will be cut off."
   --#TYPE "APC UPS: Entered sleep mode"
   --#SUMMARY "The UPS entered sleep mode. Power to the load will be cut off."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 13

upsWokeUp TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATION: The UPS has returned from 'sleep' mode.  Power 
       to the load has been restored."
   --#TYPE "APC UPS: Wake up"
   --#SUMMARY "The UPS has returned from sleep mode. Power to the load has been restored."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 14

upsRebootStarted TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The UPS has started its reboot sequence.
       The UPS will reboot itself at this time."
   --#TYPE "APC UPS: Starting reboot"
   --#SUMMARY "The UPS has started its reboot sequence."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 15 

upsDipSwitchChanged TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The dip switch settings on the UPS have been
       changed, possibly altering UPS performance."
   --#TYPE "APC UPS: DIP switch altered"
   --#SUMMARY "The DIP switch settings on the UPS have been changed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 16

upsBatteryNeedsReplacement TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: The batteries of the UPS need immediate replacement." 
   --#TYPE "APC UPS: UPS batteries need replacement"
   --#SUMMARY "The UPS batteries require immediate replacement."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 17


-- the Environmental Monitor traps

contactFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: One of the contacts on the Environmental Monitor has 
       changed from its default position. The first variable is
       the contact number that is faulted."
   --#TYPE "APC Environment: Contact fault"
   --#SUMMARY "An Environment contact closure has faulted."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 18

contactFaultResolved TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A fault on one of the Environmental Monitor contacts
       has been resolved. The first variable is
       the contact number that has been resolved."
   --#TYPE "APC Environment: Contact fault cleared."
   --#SUMMARY "A Environment contact closure has returned to it's default state."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 19

-- the Matrix-UPS traps

hardwareFailureBypass TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: UPS on bypass due to internal fault"
   --#TYPE "APC UPS: On bypass due to internal fault"
   --#SUMMARY "The UPS is on bypass due to an internal fault."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 20

softwareBypass TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: UPS on bypass - user set via software or panel"
   --#TYPE "APC UPS: On bypass by user via software or panel"
   --#SUMMARY "UPS put on bypass by user via software or front UPS panel."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 21

switchedBypass TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: UPS on bypass - initiated by user"
   --#TYPE "APC UPS: On bypass initiated by user"
   --#SUMMARY "UPS put on bypass by user."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 22

returnFromBypass TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: UPS has returned from bypass"
   --#TYPE "APC UPS: UPS has returned from bypass"
   --#SUMMARY "The UPS has returned from bypass mode."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 23

bypassPowerSupplyFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Base module bypass power supply needs repair"
   --#TYPE "APC UPS: Base module bypass power supply needs repair"
   --#SUMMARY "The base module bypass power supply needs repair."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 24

baseFanFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Base module fan needs repair"
   --#TYPE "APC UPS: Base module fan needs repair"
   --#SUMMARY "The base module fan needs repair."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 25

batteryPackCommLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Check installation of external battery packs signal cable"
   --#TYPE "APC UPS: Communication lost with battery packs"
   --#SUMMARY "Communication lost with external battery packs, check battery signal cable."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 26

batteryPackCommEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: UPS is communicating with the external battery packs."
   --#TYPE "APC UPS: Communication established with battery packs"
   --#SUMMARY "Communication established with external battery packs."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 27

calibrationStart TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A battery calibration test has been initiated on the UPS."
   --#TYPE "APC UPS: Calibration initiated"
   --#SUMMARY "A battery run time calibration test has been initiated."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 28

-- Misc. Traps

restartAgent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Agent restarting as commanded by manager."
   --#TYPE "APC SNMP Agent: Agent restarting"
   --#SUMMARY "Agent restarting as commanded by manager."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 29

upsTurnedOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A UPS is turned on."
   --#TYPE "APC UPS: A UPS is turned on."
   --#SUMMARY " A UPS is turned on."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 30

smartAvrReducing TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The UPS is reducing the line voltage via SmartTrim(TM)."
   --#TYPE "APC UPS: SmartTrim(TM) reducing"
   --#SUMMARY "The UPS has enabled SmartTrim(TM) voltage reduction."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 31

codeAuthenticationDone TRAP-TYPE
   ENTERPRISE apc
   VARIABLES   { mconfigTFTPServerIP, newCodeAuthentViaTFTP }
   DESCRIPTION
      "INFORMATIONAL: Authentication on agent code image is done."
   --#TYPE "APC CODE: Authentication on agent code image is done."
   --#SUMMARY "Authentication on agent code image is done."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 32

upsOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition has been cleared."
   --#TYPE "APC UPS: Overload cleared."
   --#SUMMARY "The overload condition has been cleared. ."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 33

smartBoostOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from SmartBoost(TM)."
   --#TYPE "APC UPS: SmartBoost(TM) off."
   --#SUMMARY "The UPS has returned from SmartBoost(TM)."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 34

smartAvrReducingOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has returned from SmartTrim(TM)."
   --#TYPE "APC UPS: SmartTrim(TM) reducing off"
   --#SUMMARY "The UPS has returned from SmartTrim(TM) voltage reduction."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 35
   
upsBatteryReplaced TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A bad battery fault has been cleared."
   --#TYPE "APC UPS: Bad battery replaced"
   --#SUMMARY "The UPS has returned from a bad battery fault."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 36

calibrationEnd TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The UPS has finished calibrating."
   --#TYPE "APC UPS: Calibration end"
   --#SUMMARY "The UPS has finished calibrating"
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 37

dischargeCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A UPS discharge condition has been cleared."
   --#TYPE "APC UPS: Discharge cleared."
   --#SUMMARY "The UPS discharge condition has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 38

gracefullShutdown TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A graceful shutdown has been initiated."
   --#TYPE "APC UPS: A graceful shutdown has been initiated."
   --#SUMMARY "A graceful shutdown has been initiated."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 39

   
outletOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUOutletControlIndex }
   DESCRIPTION
       "WARNING: The specified PDU outlet has turned on.
       If sPDUOutletControlIndex equals zero, then all outlets have 
       turned on."
   --#TYPE "APC PDU: Outlet has been turned on."
   --#SUMMARY "Outlet has been turned on"
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 41
   

outletOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUOutletControlIndex }
   DESCRIPTION
       "WARNING: The specified PDU outlet has turned off.
       If sPDUOutletControlIndex equals zero, then all outlets 
       have turned off."
   --#TYPE "APC PDU: Outlet has turned off."
   --#SUMMARY "Outlet has turned off."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 42
   
outletReboot TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUOutletControlIndex }
   DESCRIPTION
       "WARNING: The specified PDU outlet has rebooted.
       If sPDUOutletControlIndex equals zero, then all outlets 
       have rebooted."
   --#TYPE "APC PDU: Outlet has rebooted."
   --#SUMMARY "Outlet has rebooted."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 43

configChangeSNMP TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The SNMP configuration has been changed."
   --#TYPE "APC: The SNMP configuration has been changed."
   --#SUMMARY "The SNMP configuration has been changed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 44
   
   
configChangeOutlet TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUOutletConfigIndex }
   DESCRIPTION
       "WARNING: The specified PDU outlet has changed configuration.
       If sPDUOutletConfigIndex equals zero, then the Master outlet 
       has changed configuration."
   --#TYPE "APC PDU: Outlet configuration has been changed."
   --#SUMMARY "Outlet configuration has been changed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 45

accessViolationConsole TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: Someone has attempted to login via the console with the incorrect password."
   --#TYPE "APC: Access violation via the console."
   --#SUMMARY "Three unsuccessful logins have been attempted via the console."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 46

accessViolationHTTP TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: Someone has attempted to login via HTTP with the incorrect password."
   --#TYPE "APC: Access violation via HTTP."
   --#SUMMARY "An unsuccessful attempt to login via HTTP."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 47
   
passwordChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The password for the device has been changed."
   --#TYPE "APC: Password change for the device."
   --#SUMMARY "Someone has changed the password on the device."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 48

badVoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The output voltage is not within acceptable range."
   --#TYPE "APC UPS: Bad output voltage."
   --#SUMMARY "The output voltage is not within acceptable range."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 49
   
badVoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The output voltage has returned to an acceptable level."
   --#TYPE "APC UPS: The bad voltage output condition has been cleared."
   --#SUMMARY "The output voltage has returned to an acceptable level."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 50
   
chargerFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The battery charger has failed."
   --#TYPE "APC UPS: The battery charger has failed."
   --#SUMMARY "The battery charger has failed."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 51

chargerFailureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The battery charger failure condition has been cleared."
   --#TYPE "APC UPS: The battery charger failure condition cleared"
   --#SUMMARY "The battery charger failure condition has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 52

batteryOverTemperature TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The battery temperature threshold has been violated."
   --#TYPE "APC UPS: The battery temperature threshold has been violated."
   --#SUMMARY "The battery temperature threshold has been violated."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 53

batteryOverTemperatureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The battery over temperature has been cleared."
   --#TYPE "APC UPS: The battery over temperature has been cleared."
   --#SUMMARY "The battery over temperature has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 54
   
 smartRelayFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: SmartBoost(TM) or SmartTrim(TM) relay fault."
   --#TYPE "APC UPS: SmartBoost(TM) or SmartTrim(TM) relay fault."
   --#SUMMARY "SmartBoost(TM) or SmartTrim(TM) relay fault."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 55

smartRelayFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: SmartBoost(TM) or SmartTrim(TM) relay fault has been cleared."
   --#TYPE "APC UPS: SmartBoost(TM) or SmartTrim(TM) relay fault cleared."
   --#SUMMARY "SmartBoost(TM) or SmartTrim(TM) relay fault has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 56
   
humidityThresholdViolation1 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
       "SEVERE: Probe 1 humidity threshold violated. The
       first variable is the current humidity."
   --#TYPE "APC Environmental Monitor: Probe 1 humidity threshold violation"
   --#SUMMARY "A humidity threshold has been violated on probe 1."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 57

humidityThresholdViolationCleared1 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Environmental Monitor humidity threshold violation has been cleared on probe 1."
   --#TYPE "APC Environmental Monitor: Probe 1 humidity violation cleared"
   --#SUMMARY "A humidity threshold violation has been cleared on probe 1."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 58

temperatureThresholdViolation1 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: An Environmental Monitor temperature threshold has been violated on probe 1.
      The first variable is the current temperature."
   --#TYPE "APC Environmental Monitor: Probe 1 temperature violation"
   --#SUMMARY "A temperature threshold has been violated on probe 1."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 59
   
temperatureThresholdViolationCleared1 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Environmental Monitor temperature threshold violation has been cleared on probe 1."
   --#TYPE "APC Environmental Monitor: Probe 1 temperature violation cleared"
   --#SUMMARY "A temperature threshold violation has been cleared on probe 1."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 60
   
humidityThresholdViolation2 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: An Environmental Monitor humidity threshold has been violated on probe 2.
      The first variable is the current humidity."
   --#TYPE "APC Environmental Monitor: Probe 2 humidity violation"
   --#SUMMARY "A humidity threshold has been violated on probe 2."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 61
   
humidityThresholdViolationCleared2 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Environmental Monitor humidity threshold violation has been cleared on probe 2."
   --#TYPE "APC Environmental Monitor: Probe 2 humidity violation cleared"
   --#SUMMARY "A humidity threshold violation has been cleared on probe 2."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 62

temperatureThresholdViolation2 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: An Environmental Monitor temperature threshold has been violated on probe 2.
       The first variable is the current temperature."
   --#TYPE "APC Environmental Monitor: Probe 2 temperature violation"
   --#SUMMARY "A temperature threshold has been violated on probe 2."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 63
   
temperatureThresholdViolationCleared2 TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Environmental Monitor temperature threshold violation has been cleared on probe 2."
   --#TYPE "APC Environmental Monitor: Probe 2 temperature violation cleared"
   --#SUMMARY "A temperature threshold violation has been cleared on probe 2."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 64

mupsCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communication with the Environmental Monitor has been established."
   --#TYPE "APC Environmental Monitor: Communication established"
   --#SUMMARY "Communication established between the agent and the Environmental Monitor."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 65

mupsCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "SEVERE: Communication to the Environmental Monitor has been lost.  Steps
        to reestablish communication are in progress."
   --#TYPE "APC Environmental Monitor: Communication failure"
   --#SUMMARY "Communication lost between the agent and the Environmental Monitor."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 66

batteryIncrease TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The number of batteries has increased."
   --#TYPE "APC UPS: The number of batteries has increased."
   --#SUMMARY "The number of batteries has increased."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 67
   
batteryDecrease TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The number of batteries has decreased."
   --#TYPE "APC UPS: The number of batteries has decreased."
   --#SUMMARY "The number of batteries has decreased."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 68
   
powerModuleIncrease TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The number of power modules has increased."
   --#TYPE "APC UPS: The number of power modules has increased."
   --#SUMMARY "The number of power modules has increased."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 69

powerModuleDecrease TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The number of power modules has decreased."
   --#TYPE "APC UPS: The number of power modules has decreased."
   --#SUMMARY "The number of power modules has decreased."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 70
   
intelligenceModuleInserted TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An intelligence module has been inserted."
   --#TYPE "APC UPS: An intelligence module has been inserted."
   --#SUMMARY "An intelligence module has been inserted."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 71

intelligenceModuleRemoved TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An intelligence module has been removed."
   --#TYPE "APC UPS: An intelligence module has been removed."
   --#SUMMARY "An intelligence module has been removed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 72
   
rintelligenceModuleInserted TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A redundant intelligence module has been inserted."
   --#TYPE "APC UPS: A redundant intelligence module has been inserted."
   --#SUMMARY "A redundant intelligence module has been inserted."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 73

rintelligenceModuleRemoved TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A redundant intelligence module has been removed."
   --#TYPE "APC UPS: A redundant intelligence module has been removed."
   --#SUMMARY "A redundant intelligence module has been removed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 74
   
extBatteryFrameIncease TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An external battery frame has been added."
   --#TYPE "APC UPS: An external battery frame has been added."
   --#SUMMARY "An external battery frame has been added."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 75

extBatteryFrameDecrease TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An external battery frame has been removed."
   --#TYPE "APC UPS: An external battery frame has been removed."
   --#SUMMARY "An external battery frame has been removed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 76
   
abnormalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: An abnormal condition has been detected.
       The first variable is the fault condition."
   --#TYPE "APC: An abnormal condition has been detected."
   --#SUMMARY "An abnormal condition has been detected."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 77

abnormalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An abnormal condition has been cleared.
      The first variable is the fault condition."
   --#TYPE "APC: An abnormal condition has been cleared."
   --#SUMMARY "An abnormal condition has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 78

deviceStatusChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: The status of the device being monitored has changed."
   --#TYPE "APC : The status of the device being monitored has changed."
   --#SUMMARY "The status of the device being monitored has changed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 79
   
noBatteries TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The UPS has no batteries attached."
   --#TYPE "APC UPS: No batteries attached."
   --#SUMMARY "The UPS has no batteries attached."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 80
   
noBatteriesCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The UPS's batteries have been attached."
   --#TYPE "APC UPS: The no batteries attached condition has been cleared."
   --#SUMMARY "The UPS's batteries have been attached."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 81
   
userAdded TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A new user has been added."
   --#TYPE "APC: A new user has been added."
   --#SUMMARY "A new user has been added."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 82

userDeleted TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A user has been deleted."
   --#TYPE "APC: A user has been deleted."
   --#SUMMARY "A user has been deleted."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 83

userModified TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A user has been modified."
   --#TYPE "APC: A user has been modified."
   --#SUMMARY "A user has been modified."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 84

-- MasterSwitch Vm Traps

msvmCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communications with the MasterSwitch VM has been established."
   --#TYPE "APC: Communications established with the MasterSwitch VM."
   --#SUMMARY "Communications with the MasterSwitch VM has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 85

msvmCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Communications with the MasterSwitch VM has been lost."
   --#TYPE "APC: Communications lost with the MasterSwitch VM."
   --#SUMMARY "Communications with the MasterSwitch VM has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 86

msvmOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The MasterSwitch VM in an overload condition."
   --#TYPE "APC: The MasterSwitch VM is near or at an overload condition."
   --#SUMMARY "The MasterSwitch VM is near or at an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 87

msvmOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The overload condition on the MasterSwitch VM has been cleared."
   --#TYPE "APC: The overload condition cleared on the MasterSwitch VM."
   --#SUMMARY "The overload condition on the MasterSwitch VM has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 88

msvmOutletOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, 
               sPDUOutletControlVMOutletIndex, sPDUOutletControlVMOutletName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on the MasterSwitch VM has turned on."
   --#TYPE "APC: An outlet on the MasterSwitch VM has turned on."
   --#SUMMARY "An outlet on the MasterSwitch VM has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 89

msvmOutletOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, 
               sPDUOutletControlVMOutletIndex, sPDUOutletControlVMOutletName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on the MasterSwitch VM has turned off."
   --#TYPE "APC: An outlet on the MasterSwitch VM has turned off."
   --#SUMMARY "An outlet on the MasterSwitch VM has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 90

msvmDeviceConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made on a MasterSwitch VM."
   --#TYPE "APC: A device configuration change on a MasterSwitch VM."
   --#SUMMARY "A device configuration change has been made on a MasterSwitch VM."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 91

msvmOutletConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, 
               sPDUOutletControlVMOutletIndex, sPDUOutletControlVMOutletName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet configuration change has been made on a MasterSwitch VM."
   --#TYPE "APC: An outlet configuration change on a MasterSwitch VM."
   --#SUMMARY "An outlet configuration change has been made on a MasterSwitch VM."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 92

msvmLowLoad TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The MasterSwitch VM has violated the low load threshold."
   --#TYPE "APC: The MasterSwitch VM has violated the low load threshold."
   --#SUMMARY "The MasterSwitch VM has violated the low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 93

msvmLowLoadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The low load condition on the MasterSwitch VM has been cleared."
   --#TYPE "APC: The low load condition cleared on the MasterSwitch VM."
   --#SUMMARY "The low load condition on the MasterSwitch VM has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 94

msvmNearOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The MasterSwitch VM is approaching an overload condition."
   --#TYPE "APC: The MasterSwitch VM is near or at an overload condition."
   --#SUMMARY "The MasterSwitch VM is near or at an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 95

msvmNearOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The near overload condition on the MasterSwitch VM has been cleared."
   --#TYPE "APC: The overload condition cleared on the MasterSwitch VM."
   --#SUMMARY "The overload condition on the MasterSwitch VM has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 96

msvmPowerSupplyStatusChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlVMIndex, sPDUMasterControlVMName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The power supply status of the MasterSwitch VM has changed."
   --#TYPE "APC: The power supply status changed on MasterSwitch VM"
   --#SUMMARY "The power supply status of the MasterSwitch VM has changed."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 97

-- MasterSwitch plus (MSP) Traps

mspCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlMSPIndex, sPDUMasterControlMSPName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communications with the MasterSwitch plus has been established."
   --#TYPE "APC: Communications established with the MasterSwitch plus."
   --#SUMMARY "Communications with the MasterSwitch plus has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 98

mspCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlMSPIndex, sPDUMasterControlMSPName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Communications with the MasterSwitch plus has been lost."
   --#TYPE "APC: Communications lost with the MasterSwitch plus."
   --#SUMMARY "Communications with the MasterSwitch plus has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 99

mspOutletOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlMSPIndex, sPDUMasterControlMSPName, 
               sPDUOutletControlMSPOutletIndex, sPDUOutletControlMSPOutletName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on the MasterSwitch plus has turned on."
   --#TYPE "APC: An outlet on the MasterSwitch plus has turned on."
   --#SUMMARY "An outlet on the MasterSwitch plus has turned on."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 100

mspOutletOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlMSPIndex, sPDUMasterControlMSPName, 
               sPDUOutletControlMSPOutletIndex, sPDUOutletControlMSPOutletName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on the MasterSwitch plus has turned off."
   --#TYPE "APC: An outlet on the MasterSwitch plus has turned off."
   --#SUMMARY "An outlet on the MasterSwitch plus has turned off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 101

mspDeviceConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlMSPIndex, sPDUMasterControlMSPName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made on a MasterSwitch plus."
   --#TYPE "APC: A device configuration change on a MasterSwitch plus."
   --#SUMMARY "A device configuration change has been made on a MasterSwitch plus."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 102

mspOutletConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { sPDUMasterControlMSPIndex, sPDUMasterControlMSPName, sPDUOutletControlMSPOutletIndex, sPDUOutletControlMSPOutletName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet configuration change has been made on a MasterSwitch plus."
   --#TYPE "APC: An outlet configuration change on a MasterSwitch plus."
   --#SUMMARY "An outlet configuration change has been made on a MasterSwitch plus."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 103

rsSourceSwitched TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger02, mtrapargsString03, mtrapargsInteger, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The Redundant Switch has switched source.
       The first variable is an integer representing the current source: 0=A, 1=B.
       The second variable is the 32-character name of the current source.
       The third variable is an integer representing the transfer cause:
        0=No Transfers Recorded, 1=Due to user action or preferred switching,
        3=Due to line notch or spike, 5=Due to low line voltage,
        7=Transfer due to high line voltage,
        9=Transfer due to frequency out of range.
       The fourth variable is a character string listing the transfer cause."
   --#TYPE "APC Redundant Switch: The Redundant Switch has switched source"
   --#SUMMARY "The Redundant Switch has switched source."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 104

rsLostRedundancy TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: The Redundant Switch has lost redundancy.
       The first variable is an integer representing the source which is no longer available: 0=A, 1=B.
       The second variable is the 32-character name of the source which is no longer available."
   --#TYPE "APC Redundant Switch: The Redundant Switch has lost redundancy"
   --#SUMMARY "The Redundant Switch has has lost redundancy."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 105

rsRedundancyRestored TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString02,  mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Redundancy has been restored to the Redundant Switch .
       The first variable is an integer representing the source which has been restored: 0=A, 1=B.
       The second variable is the 32-character name of the source which has been restored."
   --#TYPE "APC Redundant Switch: Redundancy has been restored."
   --#SUMMARY "Redundancy has been restored to the Redundant Switch ."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 106

rsConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A configuration change has been made on a Redundant Switch."
   --#TYPE "APC: A configuration change on a Redundant Switch."
   --#SUMMARY "A configuration change has been made on a Redundant Switch."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 107

rsCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communications with the Redundant Switch has been established."
   --#TYPE "APC: Communications established with the Redundant Switch."
   --#SUMMARY "Communications with the Redundant Switch has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 108

rsCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Communications with the Redundant Switch has been lost."
   --#TYPE "APC: Communications lost with the Redundant Switch."
   --#SUMMARY "Communications with the Redundant Switch has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 109

dcCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communications with the DC power plant has been established."
   --#TYPE "APC: Communications established with the DC power plant."
   --#SUMMARY "Communications with the DC power plant has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 110

dcCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Communications with the DC power plant has been lost."
   --#TYPE "APC: Communications lost with the DC power plant."
   --#SUMMARY "Communications with the DC power plant has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 111

dcPINChanged TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The active PIN on the DC controller has been changed."
   --#TYPE "APC: The active PIN on the DC controller has been changed."
   --#SUMMARY "The active PIN on the DC controller has been changed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 112

dcMajorAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: A Major alarm is active in the DC power plant."
   --#TYPE "APC: A Major alarm is active in the DC power plant."
   --#SUMMARY "A Major alarm is active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 113
   
dcMajorAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Major alarm is no longer active in the DC power plant."
   --#TYPE "APC: A Major alarm is no longer active in the DC power plant."
   --#SUMMARY "A Major alarm is no longer active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 114

dcMinorAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Minor alarm is active in the DC power plant."
   --#TYPE "APC: A Minor alarm is active in the DC power plant."
   --#SUMMARY "A Minor alarm is active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 115
   
dcMinorAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Minor alarm is no longer active in the DC power plant."
   --#TYPE "APC: A Minor alarm is no longer active in the DC power plant."
   --#SUMMARY "A Minor alarm is no longer active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 116

dcOutputRelayOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES {  dm3StatusOutRlyIndex, dm3StatusOutRlyName, mtrapargsString }
   DESCRIPTION
      "WARNING: An output relay for the powerplant has been activated (state changed to on).
       The first variable is an integer representing the output relay number that has gone on.
       The second variable is the 16-character name of the output relay."
   --#TYPE "APC: An output relay has gone on."
   --#SUMMARY "An output relay has gone on in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 117

dcOutputRelayOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES {  dm3StatusOutRlyIndex, dm3StatusOutRlyName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An output relay for the powerplant has been deactivated (state changed to off).
       The first variable is an integer representing the output relay number that has gone off.
       The second variable is the 16-character name of the output relay."
   --#TYPE "APC: An output relay has gone off."
   --#SUMMARY "An output relay has gone off in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 118

dcInputRelayOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES {  dm3StatusInRlyIndex, dm3StatusInRlyName, mtrapargsString }
   DESCRIPTION
      "WARNING: An input relay for the powerplant has been activated (state changed to on).
       The first variable is an integer representing the input relay number that has gone on.
       The second variable is the 16-character name of the input relay."
   --#TYPE "APC: An input relay has gone on."
   --#SUMMARY "An input relay has gone on in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 119

dcInputRelayOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES {  dm3StatusInRlyIndex, dm3StatusInRlyName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An input relay for the powerplant has been deactivated (state changed to off).
       The first variable is an integer representing the input relay number that has gone off.
       The second variable is the 16-character name of the input relay."
   --#TYPE "APC: An input relay has gone off."
   --#SUMMARY "An input relay has gone off in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 120

logicPowerSuppliesIncreased TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The number of system power supplies has increased."
   --#TYPE "APC UPS: The number of system power supplies has increased."
   --#SUMMARY "The number of system power supplies has increased."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 121

logicPowerSuppliesDecreased TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The number of system power supplies has decreased."
   --#TYPE "APC UPS: The number of system power supplies has decreased."
   --#SUMMARY "The number of system power supplies has decreased."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 122

externalSwitchGearClosed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: External Switch Gear closed."
   --#TYPE "APC UPS: External Switch Gear closed."
   --#SUMMARY "External Switch Gear closed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 123

externalSwitchGearOpened TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: External Switch Gear opened."
   --#TYPE "APC UPS: External Switch Gear opened."
   --#SUMMARY "External Switch Gear opened."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 124

generalDeviceEvent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: APC Device event."
   --#TYPE "APC Device event"
   --#SUMMARY "APC Device event."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 125

atsSourceSwitched TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The Automatic Transfer Switch has switched source.
       The first variable is an integer representing the current source: 0=A, 1=B.
       The second variable is the 32-character name of the current source."
   --#TYPE "APC Automatic Transfer Switch: The ATS has switched source"
   --#SUMMARY "The Automatic Transfer Switch has switched source."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
  ::= 126

atsLostRedundancy TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: The Automatic Transfer Switch has lost redundancy.
       The first variable is an integer representing the source which is no longer available: 0=A, 1=B.
       The second variable is the 32-character name of the source which is no longer available."
   --#TYPE "APC Automatic Transfer Switch: The ATS has lost redundancy. "
   --#SUMMARY "The Automatic Transfer Switch has has lost redundancy."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 127

atsRedundancyRestored TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString02,  mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Redundancy has been restored to the Automatic Transfer Switch .
       The first variable is an integer representing the source which has been restored: 0=A, 1=B.
       The second variable is the 32-character name of the source which has been restored."
   --#TYPE "APC Automatic Transfer Switch: Redundancy has been restored."
   --#SUMMARY "Redundancy has been restored to the Automatic Transfer Switch ."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 128

atsConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A configuration change has been made on the Automatic Transfer Switch.
       The first variable is an integer representing the configuration setting which changed:
           0=Transfer Voltage Range, 1=Sensitivity 2=Preferred Source
           3=Front Panel Lockout 4=Current Limit"
   --#TYPE "APC Automatic Transfer Switch: ATS configuration changed."
   --#SUMMARY "A configuration change has been made on a Automatic Transfer Switch."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 129

atsCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communications with the Automatic Transfer Switch has been established."
   --#TYPE "APC Automatic Transfer Switch: Communications established."
   --#SUMMARY "Communications with the Automatic Transfer Switch has been established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 130

atsCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Communications with the Automatic Transfer Switch has been lost."
   --#TYPE "APC Automatic Transfer Switch: Communications lost."
   --#SUMMARY "Communications with the Automatic Transfer Switch has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 131

atsOverCurrent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Output Current has exceeded threshold."
   --#TYPE "APC Automatic Transfer Switch: Output Current exceeded threshold"
   --#SUMMARY "Output Current has exceeded Threshold. "
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 132

atsOverCurrentCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Output Current has returned below threshold."
   --#TYPE "APC Automatic Transfer Switch: Output Current below threshold."
   --#SUMMARY "Output Current has returned below threshold."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 133

atsPowerSupplyFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The Automatic Transfer Switch Power Supply has failed.
      The first variable is an integer representing the Power Supply which 
      has failed: 0=24V, 1=12V 2=5V."
   --#TYPE "APC Automatic Transfer Switch: The ATS Power Supply has failed."
   --#SUMMARY "The Automatic Transfer Switch Power Supply has failed."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 134

atsPowerSupplyFailureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The Automatic Transfer Power Supply Failure Cleared.
       The first variable is an integer representing the Power Supply which 
       has cleared: 0=24V, 1=12V 2=5V."
   --#TYPE "APC Automatic Transfer Switch: Power Supply Failure Cleared."
   --#SUMMARY "The Automatic Transfer Switch Power Supply Failure Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 135

dcMainsFailAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Mains Fail alarm is active in the DC power plant."
   --#TYPE "APC: A Mains Fail alarm is active in the DC power plant."
   --#SUMMARY "A Mains Fail alarm is active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 136
   
dcMainsFailAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Mains Fail alarm is no longer active in the DC power plant."
   --#TYPE "APC: Mains Fail alarm is no longer active in the DC power plant."
   --#SUMMARY "Mains Fail alarm is no longer active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 137

dcFanFailAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Fan Fail alarm is active in the DC power plant."
   --#TYPE "APC: A Fan Fail alarm is active in the DC power plant."
   --#SUMMARY "A Fan Fail alarm is active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 138
   
dcFanFailAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Fan Fail alarm is no longer active in the DC power plant."
   --#TYPE "APC: A Fan Fail alarm is no longer active in the DC power plant."
   --#SUMMARY "A Fan Fail alarm is no longer active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 139

dcRectifierOvertempAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: Rect. Overtemp alarm is active in the power plant."
   --#TYPE "APC: Rect. Overtemp alarm is active in the power plant."
   --#SUMMARY "Rect. Overtemp alarm is active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 140
   
dcRectifierOvertempAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Rect. Overtemp alarm is no longer active in the power plant."
   --#TYPE "APC: Rect. Overtmp alarm is no longer active in the power plant."
   --#SUMMARY "Rect. Overtmp alarm is no longer active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 141

dcCurrentLimitAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Current Limit alarm is active in the power plant."
   --#TYPE "APC: A Current Limit alarm is active in the power plant."
   --#SUMMARY "A Current Limit alarm is active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 142
   
dcCurrentLimitAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Current Limit alarm is no longer active in the power plant."
   --#TYPE "APC: Current Limit alarm is no longer active in the power plant."
   --#SUMMARY "Current Limit alarm is no longer active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 143

dcRectifierFailAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Rect. Fail alarm is active in the power plant."
   --#TYPE "APC: A Rect. Fail alarm is active in the power plant."
   --#SUMMARY "A Rect. Fail alarm is active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 144
   
dcRectifierFailAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Rect. Fail alarm is no longer active in the power plant."
   --#TYPE "APC: Rect. Fail alarm is no longer active in the power plant."
   --#SUMMARY "Rect. Fail alarm is no longer active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 145

dcMultRectFailAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: Multiple Rect. Fail alarm is active in the powerplant."
   --#TYPE "APC: Multiple Rect. Fail alarm is active in the powerplant."
   --#SUMMARY "Multiple Rect. Fail alarm is active in the powerplant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 146
   
dcMultRectFailAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Mult Rect Fail alarm is no longer active in the powerplant."
   --#TYPE "APC: Mult Rect Fail alarm is no longer active in the powerplant."
   --#SUMMARY "Mult Rect Fail alarm is no longer active in the powerplant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 147

dcBatteryBreakerAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: Batt. Breaker alarm is active in the power plant."
   --#TYPE "APC: Batt. Breaker alarm is active in the power plant."
   --#SUMMARY "Batt. Breaker alarm is active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 148
   
dcBatteryBreakerAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Batt. Breaker alarm is no longer active in the power plant."
   --#TYPE "APC: Batt. Breaker alarm is no longer active in the power plant."
   --#SUMMARY "Batt. Breaker alarm is no longer active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 149

dcRectifierOVPAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Rect. OVP alarm is active in the power plant."
   --#TYPE "APC: A Rect. OVP alarm is active in the power plant."
   --#SUMMARY "A Rect. OVP alarm is active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 150
   
dcRectifierOVPAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Rect. OVP alarm is no longer active in the power plant."
   --#TYPE "APC: A Rect. OVP alarm is no longer active in the power plant."
   --#SUMMARY "A Rect. OVP alarm is no longer active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 151

dcLVDImminentAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A LVD Imminent alarm is active in the powerplant."
   --#TYPE "APC: A LVD Imminent alarm is active in the powerplant."
   --#SUMMARY "A LVD Imminent alarm is active in the powerplant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 152
   
dcLVDImminentAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A LVD Imminent alarm is no longer active in the powerplant."
   --#TYPE "APC: A LVD Imminent alarm is no longer active in the powerplant."
   --#SUMMARY "A LVD Imminent alarm is no longer active in the powerplant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 153

dcFuseCBAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Fuse/CB alarm is active in the DC power plant."
   --#TYPE "APC: A Fuse/CB alarm alarm is active in the DC power plant."
   --#SUMMARY "A Fuse/CB alarm is active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 154
   
dcFuseCBAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Fuse/CB alarm is no longer active in the DC power plant."
   --#TYPE "APC: A Fuse/CB alarm is no longer active in the DC power plant."
   --#SUMMARY "A Fuse/CB alarm is no longer active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 155

dcBatteryTestFail TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Battery Test failed in the DC power plant."
   --#TYPE "APC: A Battery Test failed in the DC power plant."
   --#SUMMARY "A Battery Test failed in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 156

dcTemperatureAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Temperature is active in the power plant."
   --#TYPE "APC: A Temperature alarm is active in the power plant."
   --#SUMMARY "A Temperature alarm is active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 157
   
dcTemperatureAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Temperature alarm is no longer active in the power plant."
   --#TYPE "APC: A Temperature alarm is no longer active in the power plant."
   --#SUMMARY "A Temperature alarm is no longer active in the power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 158

dcHumidityAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: A Humidity alarm is active in the DC power plant."
   --#TYPE "APC: A Humidity alarm is active in the DC power plant."
   --#SUMMARY "A Humidity alarm is active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 159
   
dcHumidityAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Humidity alarm is no longer active in the DC power plant."
   --#TYPE "APC: A Humidity alarm is no longer active in the DC power plant."
   --#SUMMARY "A Humidity alarm is no longer active in the DC power plant."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 160

dcBBCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Power plant bridging board communications established."
   --#TYPE "APC: Power plant bridging board communications established."
   --#SUMMARY "Power plant bridging board communications established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 161

dcBBCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "SEVERE: Power plant bridging board communications lost."
   --#TYPE "APC: Power plant bridging board communications lost."
   --#SUMMARY "Power plant bridging board communications lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 162

iemHighTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeCurrentTemp, iemStatusProbeTempUnits, iemStatusProbeNumber,
               iemStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: High temperature threshold violated on Integrated
        Environmental Monitor probe. The first variable is the
        current temperature. The second variable is the temperature
        scale. The third variable is the probe number. The fourth
        variable is the probe name."
   --#TYPE "APC IEM: High temperature threshold violation."
   --#SUMMARY "High temperature threshold violation."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 163

iemHighTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeNumber, iemStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High temperature threshold violated on Integrated
        Environmental Monitor probe has been cleared. The first variable
        is the probe number. The second variable is the probe name."
   --#TYPE "APC IEM: High temperature threshold violation cleared."
   --#SUMMARY "High temperature threshold violation has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 164

iemLowTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeCurrentTemp, iemStatusProbeTempUnits, iemStatusProbeNumber,
               iemStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Low temperature threshold violated on integrated
        probe. The first variable is the current temperature. The
        second variable is the temperature scale. The third
        variable is the probe number. The fourth variable is the
        probe name."
   --#TYPE "APC IEM: Low temperature threshold violation."
   --#SUMMARY "Low temperature threshold violation."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 165

iemLowTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeNumber, iemStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low temperature threshold violated on integrated
        probe has been cleared. The first variable is the probe number.
        The second variable is the probe name."
   --#TYPE "APC IEM: Low temperature threshold violation cleared."
   --#SUMMARY "Low temperature threshold violation has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 166

iemHighHumidThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeCurrentHumid, iemStatusProbeNumber, iemStatusProbeName,
               mtrapargsString }
   DESCRIPTION
       "SEVERE: High humidity threshold violated on integrated
        probe. The first variable is the current humidity. The
        second variable is the probe number. The third variable
        is the probe name."
   --#TYPE "APC IEM: High humidity threshold violation."
   --#SUMMARY "High humidity threshold violation."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 167

iemHighHumidThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeNumber, iemStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High humidity threshold violated on integrated
        probe cleared. The first variable is the probe number. The second
        variable is the probe name."
   --#TYPE "APC IEM: High humidity threshold violation cleared."
   --#SUMMARY "High humidity threshold violation has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 168

iemLowHumidThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeCurrentHumid, iemStatusProbeNumber, iemStatusProbeName,
               mtrapargsString }
   DESCRIPTION
       "SEVERE: Low humidity threshold violated on integrated
        probe. The first variable is the current humidity. The
        second variable is the probe number. The third variable
        is the probe name."
   --#TYPE "APC IEM: Low humidity threshold violation."
   --#SUMMARY "Low humidity threshold violation."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 169

iemLowHumidThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusProbeNumber, iemStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low humidity threshold violated on integrated
        probe cleared. The first variable is the probe number. The second
        variable is the probe name."
   --#TYPE "APC IEM: Low humidity threshold violation cleared."
   --#SUMMARY "Low humidity threshold violation has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 170

iemProbeDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "WARNING: The temperature/humidity probe on the Integrated
       Environmental Monitor has been disconnected. This trap is
       generated when a probe that has been in communication with
       the Environmental Monitor has been disconnected or can no
       longer communicate."
   --#TYPE "APC IEM: Probe disconnected."
   --#SUMMARY "Probe has been disconnected."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 171

iemProbeConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The temperature/humidity probe on the Integrated
       Environmental Monitor has been connected. This trap is generated
       when the Environmental Monitor establishes communication with a
       probe that had previously not been connected."
   --#TYPE "APC IEM: Probe Connected."
   --#SUMMARY "Probe has been connected."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 172

iemContactFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusContactNumber, iemStatusContactName, mtrapargsString }
   DESCRIPTION
      "SEVERE: There is a contact fault on the Integrated
       Environmental Monitor. The first argument is the number
       of the contact. The second argument is the name of the
       contact."
   --#TYPE "APC IEM: Contact fault."
   --#SUMMARY "Contact fault."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 173

iemContactFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusContactNumber, iemStatusContactName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The contact fault on the Integrated
       Environmental Monitor has been cleared. The first
       argument is the number of the contact. The second
       argument is the name of the contact."
   --#TYPE "APC IEM: Contact fault."
   --#SUMMARY "Contact fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 174

iemRelayFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusRelayNumber, iemStatusRelayName, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: The output relay on the Integrated Environmental
       Monitor has switched to the fault state. The first
       argument is the number of the output relay. The second
       argument is the name of the output relay. The third
       argument is the event that caused the fault."
   --#TYPE "APC IEM: Output relay fault."
   --#SUMMARY "Output relay has faulted."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 175

iemRelayFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { iemStatusRelayNumber, iemStatusRelayName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The fault condition on the output relay on the
       Integrated Environmental Monitor has cleared. The first
       argument is the number of the output relay. The second
       argument is the name of the output relay."
   --#TYPE "APC IEM: Output relay fault condition cleared."
   --#SUMMARY "Output relay fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 176

bmBatManCommEstab TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Serial Communications Established with Battery Manager."
   --#TYPE "BatMan : Communications Established."
   --#SUMMARY "Communications Established."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 177

bmBatManCommLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Serial Communications Lost with Battery Manager."
   --#TYPE "BatMan : Communications Lost."
   --#SUMMARY "Communications Lost."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 178

bmBatManKneeAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Battery Voltage Knee Threshold Alarm Detected."
   --#TYPE "BatMan : Knee Alarm Detected."
   --#SUMMARY "Knee Alarm Detected."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 179

bmBatManKneeAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Battery Voltage Knee Threshold Alarm Cleared."
   --#TYPE "BatMan : Knee Alarm Cleared."
   --#SUMMARY "Knee Alarm Cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 180

bmBatManChargerAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Charger Alarm Detected."
   --#TYPE "BatMan : Charger Alarm Detected."
   --#SUMMARY "Charger Alarm Detected."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 181

bmBatManChargerAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Charger Alarm Cleared."
   --#TYPE "BatMan : Charger Alarm Cleared."
   --#SUMMARY "Charger Alarm Cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 182

bmBatManBatteryAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Battery Alarm Detected."
   --#TYPE "BatMan : Battery Alarm Detected."
   --#SUMMARY "Battery Alarm Detected."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 183

bmBatManBatteryAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Battery Alarm Cleared."
   --#TYPE "BatMan : Battery Alarm Cleared."
   --#SUMMARY "Battery Alarm Cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 184

bmBatManEnvironmentAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Environment Alarm Detected."
   --#TYPE "BatMan : Environment Alarm Detected."
   --#SUMMARY "Environment Alarm Detected."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 185

bmBatManEnvironmentAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Environment Alarm Cleared."
   --#TYPE "BatMan : Environment Alarm Cleared."
   --#SUMMARY "Environment Alarm Cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 186

bmBatManMaintenanceAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Maintenance Alarm Detected."
   --#TYPE "BatMan : Maintenance Due Alarm Detected."
   --#SUMMARY "Maintenance Due Alarm Detected."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 187

bmBatManMaintenanceAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Maintenance Alarm Cleared."
   --#TYPE "BatMan : Maintenance Due Alarm Cleared."
   --#SUMMARY "Maintenance Due Alarm Cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 188

pduCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communication Established.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Communication Established."
   --#SUMMARY "Communication Established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 189

pduCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: Communication Lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Communication Lost."
   --#SUMMARY "Communication Lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 190

pduUtilityLineUndervoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   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 "APC PDU: Utility Line Undervoltage."
   --#SUMMARY "Utility Line Undervoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 191

pduUtilityLineUndervoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   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 "APC PDU: Utility Line Undervoltage Cleared."
   --#SUMMARY "Utility Line Undervoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 192

pduUtilityLineOvervoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   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 "APC PDU: Utility Line Overvoltage."
   --#SUMMARY "Utility Line Overvoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 193

pduUtilityLineOvervoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   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 "APC PDU: Utility Line Overvoltage Cleared."
   --#SUMMARY "Utility Line Overvoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 194

pduGroundOvercurrent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: Ground Overcurrent.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Ground Overcurrent."
   --#SUMMARY "Ground Overcurrent."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 195

pduGroundOvercurrentCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Ground Overcurrent Cleared.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Ground Overcurrent Cleared."
   --#SUMMARY "Ground Overcurrent Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 196

pduCircuitPanelInputUndervoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Circuit Panel Input Undervoltage.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Undervoltage."
   --#SUMMARY "Circuit Panel Input Undervoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 197

pduCircuitPanelInputUndervoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Circuit Panel Input Undervoltage Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Undervoltage Cleared."
   --#SUMMARY "Circuit Panel Input Undervoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 198

pduCircuitPanelInputOvervoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Circuit Panel Input Overvoltage.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Overvoltage."
   --#SUMMARY "Circuit Panel Input Overvoltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 199

pduCircuitPanelInputOvervoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Circuit Panel Input Overvoltage Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Overvoltage Cleared."
   --#SUMMARY "Circuit Panel Input Overvoltage Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 200

pduCircuitPanelInputUndercurrent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Circuit Panel Input Undercurrent.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Undercurrent."
   --#SUMMARY "Circuit Panel Input Undercurrent."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 201

pduCircuitPanelInputUndercurrentCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Circuit Panel Input Undercurrent Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Undercurrent Cleared."
   --#SUMMARY "Circuit Panel Input Undercurrent Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 202

pduCircuitPanelInputOvercurrent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Circuit Panel Input Overcurrent.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Overcurrent."
   --#SUMMARY "Circuit Panel Input Overcurrent."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 203

pduCircuitPanelInputOvercurrentCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Circuit Panel Input Overcurrent Cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: Circuit Panel Input Overcurrent Cleared."
   --#SUMMARY "Circuit Panel Input Overcurrent Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 204

pduCircuitPanelFrequencyOutOfRange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: Circuit Panel Input Frequency Out Of Range.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Circuit Panel Input Frequency Out Of Range."
   --#SUMMARY "Circuit Panel Input Frequency Out Of Range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 205

pduCircuitPanelFrequencyOutofRangeCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Circuit Panel Input Frequency No Longer Out Of Range.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Circuit Panel Input Frequency No Longer Out Of Range."
   --#SUMMARY "Circuit Panel Input Frequency No Longer Out Of Range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 206

pduCircuitPanelNeutralOvercurrent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: Circuit Panel Input Neutral Overcurrent.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Circuit Panel Input Neutral Overcurrent."
   --#SUMMARY "Circuit Panel Input Neutral Overcurrent."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 207

pduCircuitPanelNeutralOvercurrentCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Circuit Panel Input Neutral Overcurrent Cleared.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Circuit Panel Input Neutral Overcurrent Cleared."
   --#SUMMARY "Circuit Panel Input Neutral Overcurrent Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 208

pduSystemOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: PDU System Off.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: System Off."
   --#SUMMARY "PDU System Off."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 209

pduOnBatteryMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: PDU is in On Battery Mode.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: On Battery Mode."
   --#SUMMARY "PDU is in On Battery Mode."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 210

pduMaintenanceBypassMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: PDU is in Maintenance Bypass Mode.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Maintenance Bypass Mode."
   --#SUMMARY "PDU is in Maintenance Bypass Mode."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 211

pduAtypicalBypassMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "WARNING: PDU is in Atypical Bypass Mode.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Atypical Bypass Mode."
   --#SUMMARY "PDU is in Atypical Bypass Mode."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 212

pduNoPanelFeedMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: PDU is in No Panel Feed Mode.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: No Panel Feed Mode."
   --#SUMMARY "PDU is in No Panel Feed Mode."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 213

pduUpsOperationMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: PDU is in Ups Operation Mode.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Ups Operation Mode."
   --#SUMMARY "PDU is in Ups Operation Mode."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 214

pduForcedBypassMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "WARNING: PDU is in Forced Bypass Mode.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Forced Bypass Mode."
   --#SUMMARY "PDU is in Forced Bypass Mode."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 215

pduInputTransformerOverTemperature TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: Input Transformer Over Temperature.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Input Transformer Over Temperature."
   --#SUMMARY "Input Transformer Over Temperature."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 216

pduInputTransformerOverTemperatureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Input Transformer Over Temperature Cleared.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC PDU: Input Transformer Over Temperature Cleared."
   --#SUMMARY "Input Transformer Over Temperature Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 217

pduUPSInputVoltageLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: UPS Input Voltage phase-N Lost.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: UPS Input Voltage phase-N Lost."
   --#SUMMARY "UPS Input Voltage phase-N Lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 218

pduUPSInputVoltageRestored TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: UPS Input Voltage phase-N Restored.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase number."
   --#TYPE "APC PDU: UPS Input Voltage phase-N Restored."
   --#SUMMARY "UPS Input Voltage phase-N Restored."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 219

pduContactFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: A contact closure in the PDU is in an abnormal position. 
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the number of the contact."
   --#TYPE "APC PDU: Contact Abnormal."
   --#SUMMARY "Contact Abnormal."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 220

pduContactFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A contact closure in the PDU is in a normal position. 
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the number of the contact."
   --#TYPE "APC PDU: Contact Normal."
   --#SUMMARY "Contact Normal."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 221

rPDUBankPhaseLowLoad TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusBankNumber, rPDULoadStatusPhaseNumber, mtrapargsString }
   DESCRIPTION
      "WARNING: A bank or phase on the 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 bank number (0 if this is phase data).
       The fourth argument is the phase number (0 if this is bank data)."
   --#TYPE "APC Rack PDU: Violation of bank or phase low load threshold."
   --#SUMMARY "A bank or phase on the Rack PDU has violated the low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 222

rPDUBankPhaseLowLoadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusBankNumber, rPDULoadStatusPhaseNumber, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The bank or phase 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 bank number (0 if this is phase data).
       The fourth argument is the phase number (0 if this is bank data)."
   --#TYPE "APC Rack PDU: Bank or phase low load condition cleared."
   --#SUMMARY "The bank or phase low load condition on a Rack PDU has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 223

rPDUBankPhaseNearOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusBankNumber, rPDULoadStatusPhaseNumber, mtrapargsString }
   DESCRIPTION
      "WARNING: A bank or phase of the 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 bank number (0 if this is phase data).
       The fourth argument is the phase number (0 if this is bank data)."
   --#TYPE "APC Rack PDU: Bank or phase near an overload condition."
   --#SUMMARY "A bank or phase of the Rack PDU is near an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 224

rPDUBankPhaseNearOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusBankNumber, rPDULoadStatusPhaseNumber, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The bank or phase 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 bank number (0 if this is phase data).
       The fourth argument is the phase number (0 if this is bank data)."
   --#TYPE "APC Rack PDU: Bank or phase near overload condition has cleared."
   --#SUMMARY "Rack PDU bank or phase near overload condition has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 225

rPDUBankPhaseOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusBankNumber, rPDULoadStatusPhaseNumber, mtrapargsString }
   DESCRIPTION
      "SEVERE: A bank or phase of the 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.
       The third argument is the bank number (0 if this is phase data).
       The fourth argument is the phase number (0 if this is bank data)."
   --#TYPE "APC Rack PDU: Bank or phase overload condition."
   --#SUMMARY "A bank or phase of the Rack PDU is in an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 226

rPDUBankPhaseOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusBankNumber, rPDULoadStatusPhaseNumber, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The bank or phase 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 bank number (0 if this is phase data).
       The fourth argument is the phase number (0 if this is bank data)."
   --#TYPE "APC Rack PDU: Bank or phase overload condition has cleared."
   --#SUMMARY "The bank or phase overload condition on a Rack PDU has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 227

aruDeviceConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote ARU Device Configurtion change.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: ARU Device configuration change."
   --#SUMMARY "ARU device configuration change."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 228

rmPDUCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString03, mtrapargsString02, mtrapargsString }
   DESCRIPTION
      "SEVERE: Communication Lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC RM PDU: Communication Lost."
   --#SUMMARY "Communication Lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 229

emsCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Communication Established.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC EMS: Communication Established."
   --#SUMMARY "Communication Established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 230

emsCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Communication Lost.
       The first argument is the serial number.
       The second argument is the device name."
   --#TYPE "APC EMS: Communication Lost."
   --#SUMMARY "Communication Lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 231

emsProbeConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A probe has been connected to the EMS.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the probe number. 
        The fourth argument is the probe name."
   --#TYPE "APC EMS: Probe Connected."
   --#SUMMARY "Probe Connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 232

emsProbeDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A probe has been disconnected from the EMS.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the probe number. 
        The fourth argument is the probe name."
   --#TYPE "APC EMS: Probe Disconnected."
   --#SUMMARY "Probe Disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 233

emsSensorConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsSensorStatusSensorIndex, emsSensorStatusSensorName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A sensor has been connected to the EMS.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the sensor number. 
        The fourth argument is the sensor name."
   --#TYPE "APC EMS: Sensor Connected."
   --#SUMMARY "Sensor Connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 234

emsSensorDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsSensorStatusSensorIndex, emsSensorStatusSensorName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A sensor has been disconnected from the EMS.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the sensor number. 
        The fourth argument is the sensor name."
   --#TYPE "APC EMS: Sensor Disconnected."
   --#SUMMARY "Sensor Disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 235

emsSensorFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsSensorStatusSensorIndex, emsSensorStatusSensorName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A EMS sensor is in the fault condition.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the sensor number. 
        The fourth argument is the sensor name."
   --#TYPE "APC EMS: Sensor Fault."
   --#SUMMARY "Sensor Fault."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 236

emsSensorFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsSensorStatusSensorIndex, emsSensorStatusSensorName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A EMS sensor fault condition has cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the sensor number. 
        The fourth argument is the sensor name."
   --#TYPE "APC EMS: Sensor Fault Cleared."
   --#SUMMARY "Sensor Fault Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 237

emsBeaconConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A beacon has been connected to the EMS.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC EMS: Beacon Connected."
   --#SUMMARY "Beacon Connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 238

emsBeaconDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A beacon has been disconnected from the EMS.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC EMS: Beacon Disconnected."
   --#SUMMARY "Beacon Disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 239

emsBeaconOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A EMS beacon has gone on.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC EMS: Beacon On."
   --#SUMMARY "Beacon On."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 240

emsBeaconOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A EMS beacon has gone off.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC EMS: Beacon Off."
   --#SUMMARY "Beacon Off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 241

emsMajorAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A Major Alarm is present in the EMS.
        The first argument is the EMS serial number.
        The second argument is the EMS name."
   --#TYPE "APC EMS: Major Alarm."
   --#SUMMARY "Major Alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 242

emsMajorAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Major Alarm condition has been cleared in the EMS.
        The first argument is the EMS serial number.
        The second argument is the EMS name."
   --#TYPE "APC EMS: Major Alarm Cleared."
   --#SUMMARY "Major Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 243

emsMinorAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A Minor Alarm is present in the EMS.
        The first argument is the EMS serial number.
        The second argument is the EMS name."
   --#TYPE "APC EMS: Minor Alarm."
   --#SUMMARY "Minor Alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 244

emsMinorAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Minor Alarm condition has been cleared in the EMS.
        The first argument is the EMS serial number.
        The second argument is the EMS name."
   --#TYPE "APC EMS: Minor Alarm Cleared."
   --#SUMMARY "Minor Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 245

emsOutletStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsOutletStatusOutletIndex, emsOutletStatusOutletName, 
               emsOutletStatusOutletState, emsOutletStatusOutletNormalState, mtrapargsString }
   DESCRIPTION
      "WARNING: An outlet on the EMS has changed to its abnormal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the outlet number. 
        The fourth argument is the outlet name.
        The fifth argument is the current outlet state (1=ON, 2=OFF).
        The sixth argument is the configured normal outlet state (1=ON, 2=OFF)."
   --#TYPE "APC EMS: Outlet has changed to its abnormal state."
   --#SUMMARY "Outlet has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 246

emsOutletStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsOutletStatusOutletIndex, emsOutletStatusOutletName, 
               emsOutletStatusOutletState, emsOutletStatusOutletNormalState, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet on the EMS has changed to its normal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the outlet number. 
        The fourth argument is the outlet name.
        The fifth argument is the current outlet state (1=ON, 2=OFF).
        The sixth argument is the configured normal outlet state (1=ON, 2=OFF)."
   --#TYPE "APC EMS: Outlet has changed to its normal state."
   --#SUMMARY "Outlet has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 247

emsInputContactStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsInputContactStatusInputContactIndex, 
               emsInputContactStatusInputContactName, emsInputContactStatusInputContactState, 
               emsInputContactStatusInputContactNormalState, mtrapargsString }
   DESCRIPTION
      "WARNING: An input contact on the EMS has changed to its abnormal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the input contact number. 
        The fourth argument is the input contact name.
        The fifth argument is the input contact state (1=CLOSED, 2=OPEN).
        The sixth argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC EMS: Input contact has changed to its abnormal state."
   --#SUMMARY "Input contact has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 248

emsInputContactStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsInputContactStatusInputContactIndex, 
               emsInputContactStatusInputContactName, emsInputContactStatusInputContactState, 
               emsInputContactStatusInputContactNormalState, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An input contact on the EMS has changed to its normal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the input contact number. 
        The fourth argument is the input contact name.
        The fifth argument is the input contact state (1=CLOSED, 2=OPEN).
        The sixth argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC EMS: Input contact has changed to its normal state."
   --#SUMMARY "Input contact has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 249

emsOutputRelayStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsOutputRelayStatusOutputRelayIndex, 
               emsOutputRelayStatusOutputRelayName, emsOutputRelayStatusOutputRelayState, 
               emsOutputRelayStatusOutputRelayNormalState, mtrapargsString }
   DESCRIPTION
      "WARNING: An output relay on the EMS has changed to its abnormal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the output relay number. 
        The fourth argument is the output relay name.
        The fifth argument is the current output relay state (1=CLOSED, 2=OPEN).
        The sixth argument is the configured normal output relay state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC EMS: Output Relay has changed to its abnormal state."
   --#SUMMARY "Output Relay has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 250

emsOutputRelayStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsOutputRelayStatusOutputRelayIndex, 
               emsOutputRelayStatusOutputRelayName, emsOutputRelayStatusOutputRelayState, 
               emsOutputRelayStatusOutputRelayNormalState, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An output relay on the EMS has changed to its normal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the output relay number. 
        The fourth argument is the output relay name.
        The fifth argument is the current output relay state (1=CLOSED, 2=OPEN).
        The sixth argument is the configured normal output relay state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC EMS: Output Relay has changed to its normal state."
   --#SUMMARY "Output Relay has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 251

emsDeviceConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made on the EMS.
        The first argument is the EMS serial number.
        The second argument is the EMS name."
   --#TYPE "APC: A device configuration change on a EMS."
   --#SUMMARY "A device configuration change has been made on a EMS."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 252

envHighTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: High temperature threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: High temperature threshold violation."
   --#SUMMARY "High temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 253

envHighTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High temperature threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: High temperature threshold violation cleared."
   --#SUMMARY "High temperature threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 254

envLowTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Low temperature threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Low temperature threshold violation."
   --#SUMMARY "Low temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 255

envLowTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low temperature threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Low temperature threshold violation cleared."
   --#SUMMARY "Low temperature threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 256

envHighHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: High humidity threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: High humidity threshold violation."
   --#SUMMARY "High humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 257

envHighHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High humidity threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity. 
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: High humidity threshold violation cleared."
   --#SUMMARY "High humidity threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 258

envLowHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Low humidity threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: Low humidity threshold violation."
   --#SUMMARY "Low humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 259

envLowHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low humidity threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity. 
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: Low humidity threshold violation cleared."
   --#SUMMARY "Low humidity threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 260


-- Switched and Metered Rack PDU Traps

rPDUCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC Rack PDU: Communication established."
   --#SUMMARY "Communication with a Rack PDU established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 266

rPDUCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC Rack PDU: Communication lost."
   --#SUMMARY "Communication with a Rack PDU has been lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 267

rPDUOutletOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletControlIndex, rPDUOutletControlOutletName, 
               mtrapargsString }
   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 "APC 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
   ::= 268

rPDUOutletOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletControlIndex, rPDUOutletControlOutletName, 
               mtrapargsString }
   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 "APC 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
   ::= 269

rPDUDeviceConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC 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
   ::= 270

rPDUOutletConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletControlIndex, rPDUOutletControlOutletName, 
               mtrapargsString }
   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 "APC 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
   ::= 271

rPDULowLoad TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusPhaseNumber, mtrapargsString }
   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 "APC 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
   ::= 272

rPDULowLoadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusPhaseNumber, mtrapargsString }
   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 "APC 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
   ::= 273

rPDUNearOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusPhaseNumber, mtrapargsString }
   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 "APC 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
   ::= 274

rPDUNearOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusPhaseNumber, mtrapargsString }
   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 "APC 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
   ::= 275

rPDUOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusPhaseNumber, mtrapargsString }
   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 "APC Rack PDU: Overload condition."
   --#SUMMARY "A Rack PDU is in an overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 276

rPDUOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadStatusPhaseNumber, mtrapargsString }
   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 "APC 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
   ::= 277

rPDUPowerSupply1Fail TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC 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
   ::= 278

rPDUPowerSupply1Ok TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC 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
   ::= 279

rPDUPowerSupply2Fail TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC 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
   ::= 280

rPDUPowerSupply2Ok TRAP-TYPE
   ENTERPRISE apc             
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, mtrapargsString }
   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 "APC 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
   ::= 281

rPDUPhaseConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDULoadPhaseConfigIndex, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A phase configuration change has been made on a 
       Rack PDU.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the phase index number."
   --#TYPE "APC Rack PDU: Phase configuration change made."
   --#SUMMARY "Phase configuration change has been made on a Rack PDU."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 282

rPDUCancelPendingCommand TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletControlIndex, rPDUOutletControlOutletName,
               mtrapargsString }
   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 "APC 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
   ::= 283

aruAlinkCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote ARU Communication Established.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Communication Established."
   --#SUMMARY "Communication Established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 284

aruAlinkCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Remote ARU Communication Lost.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Communication Lost."
   --#SUMMARY "Communication Lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 285

aruFanFail TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Remote ARU Fan Fail.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Fan Fail."
   --#SUMMARY "Fan Fail."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 286

aruFanFailCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote ARU Fan Fail Cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Fan Fail Cleared."
   --#SUMMARY "Fan Fail Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 287

aruSmokeAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Remote ARU Smoke Alarm.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Smoke Alarm."
   --#SUMMARY "Smoke Alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 288

aruSmokeAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote ARU Smoke Alarm Cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Smoke Alarm Cleared."
   --#SUMMARY "Smoke Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 289

aruHighTemperatureAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Remote ARU High Temperature Alarm.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: High Temperature Alarm."
   --#SUMMARY "High Temperature Alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 290

aruHighTemperatureAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote ARU High Temperature Alarm Cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: High Temperature Alarm Cleared."
   --#SUMMARY "High Temperature Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 291

aruExhaustTemperatureAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Remote ARU Exhaust Temperature Alarm.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Exhaust Temperature Alarm."
   --#SUMMARY "Exhaust Temperature Alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 292

aruExhaustTemperatureAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote ARU Exhaust Temperature Alarm Cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the ARU number. 
        The fourth argument is the ARU name."
   --#TYPE "APC ARU: Exhaust Temperature Alarm Cleared."
   --#SUMMARY "Exhaust Temperature Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 293

envAlinkCommunicationEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Remote Probe Communication Established.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the probe number. 
        The fourth argument is the probe name."
   --#TYPE "APC ENV: Communication Established."
   --#SUMMARY "Communication Established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 294

envAlinkCommunicationLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Remote Probe Communication Lost.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the probe number. 
        The fourth argument is the probe name."
   --#TYPE "APC ENV: Communication Lost."
   --#SUMMARY "Communication Lost."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 295

emsAlinkPowerOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Alink Power Overload.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC EMS: Alink Power Overload."
   --#SUMMARY "Alink Power Overload."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 296

emsAlinkPowerOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Alink Power Overload Cleared.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC EMS: Alink Power Overload Cleared."
   --#SUMMARY "Alink Power Overload Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 297

upsOutletGroupTurnedOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { upsOutletGroupControlIndex, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The specified Outlet Group turned on."
   --#TYPE "APC UPS: Outlet Group turned on."
   --#SUMMARY "Outlet Group turned on"
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 298   

upsOutletGroupTurnedOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { upsOutletGroupControlIndex, mtrapargsString }
   DESCRIPTION
       "WARNING: The specified Outlet Group turned off."
   --#TYPE "APC UPS: Outlet Group turned off."
   --#SUMMARY "Outlet Group turned off."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 299  

smwCriticalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsGauge, mtrapargsString }
   DESCRIPTION
      "SEVERE: A Symmetra MW UPS critical condition has been detected.
       The first variable is the fault condition."
   --#TYPE "APC Symmetra MW UPS: A critical condition has been detected."
   --#SUMMARY "A critical condition has been detected."
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 300

smwCriticalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsGauge, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Symmetra MW UPS critical condition has been cleared.
      The first variable is the fault condition."
   --#TYPE "APC Symmetra MW UPS: A critical condition has been cleared."
   --#SUMMARY "A critical condition has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 301

smwWarningCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsGauge, mtrapargsString }
   DESCRIPTION
      "WARNING: A Symmetra MW UPS warning condition has been detected.
       The first variable is the fault condition."
   --#TYPE "APC Symmetra MW UPS: A warning condition has been detected."
   --#SUMMARY "A warning condition has been detected."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 302

smwWarningConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsGauge, mtrapargsString }
   DESCRIPTION
      "WARNING: A Symmetra MW UPS warning condition has been cleared.
      The first variable is the fault condition."
   --#TYPE "APC Symmetra MW UPS: A warning condition has been cleared."
   --#SUMMARY "A warning condition has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 303

smwInformationalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsGauge, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Symmetra MW UPS informational condition has been detected.
       The first variable is the fault condition."
   --#TYPE "APC Symmetra MW UPS: Informational condition detected."
   --#SUMMARY "An informational condition has been detected."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 304

smwInformationalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsGauge, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Symmetra MW UPS informational condition has been cleared.
      The first variable is the fault condition."
   --#TYPE "APC Symmetra MW UPS: Informational condition cleared."
   --#SUMMARY "An informational condition has been cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 305

airCriticalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: An Air critical condition was detected.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC Air: A critical condition was detected. "
   --#SUMMARY "A critical condition was detected. "
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 306

airCriticalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Air critical condition was cleared.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC Air: A critical condition was cleared. "
   --#SUMMARY "A critical condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 307

airWarningCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: An Air warning condition was detected.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC Air: A warning condition was detected. "
   --#SUMMARY "A warning condition was detected. "
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 308

airWarningConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: An Air warning condition was cleared.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC Air: A warning condition was cleared. "
   --#SUMMARY "A warning condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 309

airInformationalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Air informational condition was detected.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC Air: Informational condition detected. "
   --#SUMMARY "An informational condition was detected. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 310

airInformationalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Air informational condition was cleared.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC Air: Informational condition was cleared. "
   --#SUMMARY "An informational condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 311

-- xPDU Traps (part 1)

xPDUInputVoltageLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: Three-phase input voltage to the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase
        (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, from which the alarm was generated."
   --#TYPE "APC XPDU: Main input voltage out-of-range alarm."
   --#SUMMARY "Input voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 312

xPDUInputVoltageLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Three-phase input voltage to the device is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XPDU: Main input voltage back in range."
   --#SUMMARY "Input voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 313


xPDUInputVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: Three-phase input voltage to the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase
        (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, above which the alarm was generated."
   --#TYPE "APC XPDU: Main input voltage out-of-range alarm."
   --#SUMMARY "Input voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 314

xPDUInputVoltageHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Three-phase input voltage to the device is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XPDU: Main input voltage back in range."
   --#SUMMARY "Input voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 315

xPDUBypassVoltageLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: Three-phase bypass input voltage to the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, from which the alarm was generated."
   --#TYPE "APC XPDU: Bypass input voltage out-of-range alarm."
   --#SUMMARY "Bypass input voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 316

xPDUBypassVoltageLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Three-phase bypass input voltage to the device is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XPDU: Bypass input voltage back in range."
   --#SUMMARY "Bypass input voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 317

xPDUBypassVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: Three-phase bypass input voltage to the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, above which the alarm was generated."
   --#TYPE "APC XPDU: Bypass input voltage out-of-range alarm."
   --#SUMMARY "Bypass input voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 318

xPDUBypassVoltageHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Three-phase bypass input voltage to the device is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XPDU: Bypass input voltage back in range."
   --#SUMMARY "Bypass input voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 319

xPDUOutputVoltageLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: The device three-phase output voltage of the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, from which the alarm was generated."
   --#TYPE "APC XPDU:  Output voltage out-of-range alarm."
   --#SUMMARY "Output voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 320

xPDUOutputVoltageLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output voltage is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XPDU: Output voltage back in range."
   --#SUMMARY "Output voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 321

xPDUOutputVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: The device three-phase output voltage of the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, above which the alarm was generated."
   --#TYPE "APC XPDU:  Output voltage out-of-range alarm."
   --#SUMMARY "Output voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 322

xPDUOutputVoltageHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output voltage is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XPDU: Output voltage back in range."
   --#SUMMARY "Output voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 323

xPDUOutputCurrentLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices three-phase load current is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps.
        The fifth argument is the threshold, in Amps, from which the alarm was generated."
   --#TYPE "APC XPDU: Output (load) current out-of-range alarm."
   --#SUMMARY "Output current is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 324

xPDUOutputCurrentLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output current is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Output (load) current back in range."
   --#SUMMARY "Output current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 325

xPDUOutputCurrentHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices three-phase load current is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps.
        The fifth argument is the threshold, in Amps, above which the alarm was generated."
   --#TYPE "APC XPDU: Output (load) current out-of-range alarm."
   --#SUMMARY "Output current is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 326

xPDUOutputCurrentHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output current is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Output (load) current back in range."
   --#SUMMARY "Output current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 327

xPDUOutputFrequencyAlarm TRAP-TYPE
  ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices output frequency is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the frequency deviation from the nominal in tenths of Hertz."
   --#TYPE "APC XPDU: Output frequency out-of-range alarm."
   --#SUMMARY "Output frequency is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 328

xPDUOutputFrequencyAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices output frequency is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Output frequency back in range."
   --#SUMMARY "Output frequency in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 329

xPDUSystemGroundCurrentAlarm TRAP-TYPE
  ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices earth ground current is over the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Earth ground current over range alarm."
   --#SUMMARY "Earth ground current is over limit."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 330

xPDUSystemGroundCurrentAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices earth ground current is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Earth ground current back in range."
   --#SUMMARY "Earth ground current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 331

xPDUInputContactStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsString02, mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: A user input contact on the device has changed to its abnormal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the input contact number. 
        The fourth argument is the input contact name.
        The fifth argument is the input contact state (1=OPEN, 2=CLOSED).
        The sixth argument is the configured normal input contact state (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XPDU: Input contact has changed to its abnormal state."
   --#SUMMARY "Input contact has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 332

xPDUInputContactStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsString02, mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A user input contact on the device has changed to its normal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the input contact number. 
        The fourth argument is the input contact name.
        The fifth argument is the input contact state (1=CLOSED, 2=OPEN).
        The sixth argument is the configured normal input contact state (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XPDU: Input contact has changed to its normal state."
   --#SUMMARY "Input contact has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 333

xPDUOutputRelayStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsString02, mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: An Output Relay on the device has changed to its abnormal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the Output Relay number. 
        The fourth argument is the Output Relay name.
        The fifth argument is the current Output Relay state (1=OPEN, 2=CLOSED).
        The sixth argument is the configured normal Output Relay state (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XPDU: Output Relay has changed to its abnormal state."
   --#SUMMARY "Output Relay has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 334

xPDUOutputRelayStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsString02, mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An Output Relay on the device has changed to its normal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the Output Relay number. 
        The fourth argument is the Output Relay name.
        The fifth argument is the current Output Relay state (1=OPEN, 2=CLOSED).
        The sixth argument is the configured normal Output Relay state (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XPDU: Output Relay has changed to its normal state."
   --#SUMMARY "Output Relay has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 335

xPDUCoolingFanAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The device's internal cooling fans have failed.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Cooling fan failure alarm."
   --#SUMMARY "Cooling fan failure."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 336

xPDUCoolingFanAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's cooling fans are now functioning properly.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Cooling fan alarm cleared."
   --#SUMMARY "Cooling fan alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 337

xPDUTransformerTempAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The device's isolation transformer is over temperature.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Isolation transformer over temperature alarm."
   --#SUMMARY "Transformer temp alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 338

xPDUTransformerTempAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's isolation transformer is no longer over temperature.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Isolation transformer over temperature alarm cleared."
   --#SUMMARY "Transformer temp alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 339

xPDUBranchCurrentLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The current in a branch circuit is outside the limits specified for that
        branch circuit.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the panel position of the branch circuit (1-based index).
        The fourth argument is the measured current in tenths of Amps.
        The fifth argument is the threshold, in tenth of Amps, from which the alarm was generated."
   --#TYPE "APC XPDU: Branch circuit current out-of-range alarm."
   --#SUMMARY "Branch circuit current is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 340

xPDUBranchCurrentLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The current in a branch circuit is back within the limits 
        specified for that branch circuit.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the panel position of the branch circuit (1-based index).
        The fourth argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Branch circuit current back in range."
   --#SUMMARY "Branch circuit current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 341

xPDUBranchCurrentHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The current in a branch circuit is outside the limits specified for that
        branch circuit.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the panel position of the branch circuit (1-based index).
        The fourth argument is the measured current in tenths of Amps.
        The fifth argument is the threshold, in tenth of Amps, above which the alarm was generated."
   --#TYPE "APC XPDU: Branch circuit current out-of-range alarm."
   --#SUMMARY "Branch circuit current is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 342

xPDUBranchCurrentHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The current in a branch circuit is back within the limits 
        specified for that branch circuit.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the panel position of the branch circuit (1-based index).
        The fourth argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Branch circuit current back in range."
   --#SUMMARY "Branch circuit current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 343


xPDUInternalCommError TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: There is an internal communication error in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Internal communication error."
   --#SUMMARY "Internal communication error."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 344

emsHardwareStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The device's hardware is improperly configured and operating outside
        normal bounds for the hardware.  This can be caused by improper devices being
        connected to the EMS ports or Alink Current limit detection."
   --#TYPE "APC EMS: Hardware is in an abnormal state."
   --#SUMMARY "Hardware is in an abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 345

emsHardwareStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's hardware is in its normal operational state.
        The first argument is the host device serial number."
   --#TYPE "APC EMS: Hardware is in a normal state."
   --#SUMMARY "Hardware is in its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 346
   
ceSevereCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: A Custom Event severe condition was detected.
       The first variable is the custom event text message.
       The second variable is the custom event number."
   --#TYPE "APC CustomEvent: A severe condition was detected. "
   --#SUMMARY "A severe condition was detected. "
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 347

ceSevereConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Custom Event severe condition was cleared.
       The first variable is the custom event text message.
       The second variable is the custom event number."
   --#TYPE "APC CustomEvent: A severe condition was cleared. "
   --#SUMMARY "A severe condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 348

ceWarningCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: A Custom Event warning condition was detected.
       The first variable is the custom event text message.
       The second variable is the custom event number."
   --#TYPE "APC CustomEvent: A warning condition was detected. "
   --#SUMMARY "A warning condition was detected. "
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 349

ceWarningConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Custom Event warning condition was cleared.
       The first variable is the custom event text message.
       The second variable is the custom event number."
   --#TYPE "APC CustomEvent: A warning condition was cleared. "
   --#SUMMARY "A warning condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 350

ceInformationalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Custom Event informational condition was detected.
       The first variable is the custom event text message.
       The second variable is the custom event number."
   --#TYPE "APC CustomEvent: Informational condition detected. "
   --#SUMMARY "An informational condition was detected. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 351

ceInformationalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Custom Event informational condition was cleared.
       The first variable is the custom event text message.
       The second variable is the custom event number."
   --#TYPE "APC CustomEvent: Informational condition was cleared. "
   --#SUMMARY "An informational condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 352
     
upsInternalOverTemperature TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The internal over temperature condition exists."
   --#TYPE "APC UPS: The internal over temperature condition exists."
   --#SUMMARY "The internal over temperature condition exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 353

upsInternalOverTemperatureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The internal over temperature condition cleared."
   --#TYPE "APC UPS: The internal over temperature condition cleared."
   --#SUMMARY "The internal over temperature condition cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 354
   
upsMpuReset TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The MPU has been reset."
   --#TYPE "APC UPS: The MPU has been reset."
   --#SUMMARY "The MPU has been reset."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 355

upsOutputSwitchClosed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The Output Switch is closed."
   --#TYPE "APC UPS: The Output Switch is closed."
   --#SUMMARY "The Output Switch is closed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 356

upsOutputSwitchOpened TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The Output Switch is open."
   --#TYPE "APC UPS: The Output Switch is open."
   --#SUMMARY "The Output Switch is open."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 357

upsCalibrationStackChanged TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: A calibration value in the stack was changed."
   --#TYPE "APC UPS: A calibration value in the stack was changed."
   --#SUMMARY "A calibration value in the stack was changed."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 358

   
-- Upgraded EMS now has more env traps

envMaxTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Max temperature threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Max temperature threshold violation."
   --#SUMMARY "Max temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 359

envMaxTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Max temperature threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Max temperature threshold violation cleared."
   --#SUMMARY "Max temperature threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 360

envMinTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Min temperature threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Min temperature threshold violation."
   --#SUMMARY "Min temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 361

envMinTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Min temperature threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Min temperature threshold violation cleared."
   --#SUMMARY "Min temperature threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 362

envMaxHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Max humidity threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: Max humidity threshold violation."
   --#SUMMARY "Max humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 363

envMaxHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Max humidity threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity. 
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: Max humidity threshold violation cleared."
   --#SUMMARY "Max humidity threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 364

envMinHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Min humidity threshold violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: Min humidity threshold violation."
   --#SUMMARY "Min humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 365

envMinHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeHumidity, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Min humidity threshold violation cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current humidity. 
        The fourth argument is the probe number. 
        The fifth argument is the probe name."
   --#TYPE "APC ENV: Min humidity threshold violation cleared."
   --#SUMMARY "Min humidity threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 366

envSTIncTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Short-term increasing temperature rate violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Short-term inc. temp rate violation."
   --#SUMMARY "Short-term inc. temp rate violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 367

envSTIncTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Short-term increasing temperature rate cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Short-term inc. temp rate violation cleared."
   --#SUMMARY "Short-term inc. temp rate violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 368

envSTDecTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Short-term decreasing temperature rate violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Short-term dec. temp rate violation."
   --#SUMMARY "Short-term dec. temp rate violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 369

envSTDecTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Short-term decreasing temperature rate cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Short-term dec. temp rate violation cleared."
   --#SUMMARY "Short-term dec. temp rate violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 370

envLTIncTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Long-term increasing temperature rate violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Long-term inc. temp rate violation."
   --#SUMMARY "Long-term inc. temp rate violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 371

envLTIncTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Long-term increasing temperature rate cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Long-term inc. temp rate violation cleared."
   --#SUMMARY "Long-term inc. temp rate violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 372

envLTDecTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "SEVERE: Long-term decreasing temperature rate violated on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Long-term dec. temp rate violation."
   --#SUMMARY "Long-term dec. temp rate violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 373

envLTDecTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, emsProbeStatusProbeTemperature, emsStatusSysTempUnits, 
               emsProbeStatusProbeIndex, emsProbeStatusProbeName, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Long-term decreasing temperature rate cleared on the probe. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the current temperature. 
        The fourth argument is the temperature scale. 
        The fifth argument is the probe number. 
        The sixth argument is the probe name."
   --#TYPE "APC ENV: Long-term dec. temp rate violation cleared."
   --#SUMMARY "Long-term dec. temp rate violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 374

-- Battery Management System Traps

bmsCriticalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: A Battery Management System critical condition was detected.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC BMS: A critical condition was detected. "
   --#SUMMARY "A critical condition was detected. "
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 375

bmsCriticalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Battery Management System critical condition was cleared.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC BMS: A critical condition was cleared. "
   --#SUMMARY "A critical condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 376

bmsWarningCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: A Battery Management System warning condition was detected.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC BMS: A warning condition was detected. "
   --#SUMMARY "A warning condition was detected. "
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 377

bmsWarningConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: A Battery Management System warning condition was cleared.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC BMS: A warning condition was cleared. "
   --#SUMMARY "A warning condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 378

bmsInformationalCondition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Battery Management System informational condition was detected.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC BMS: Informational condition detected. "
   --#SUMMARY "An informational condition was detected. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 379

bmsInformationalConditionCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A Battery Management System informational condition was cleared.
       The first variable is the error condition text message.
       The second variable is the error number."
   --#TYPE "APC BMS: Informational condition was cleared. "
   --#SUMMARY "An informational condition was cleared. "
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 380

-- xATS Traps

xATSOutputVoltageLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The device three-phase output voltage of the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, from which the alarm was generated."
   --#TYPE "APC XATS:  Output voltage out-of-range alarm."
   --#SUMMARY "Output voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 381

xATSOutputVoltageLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output voltage is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XATS: Output voltage back in range."
   --#SUMMARY "Output voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 382

xATSOutputVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The device three-phase output voltage of the device is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts.
        The fifth argument is the threshold, in tenths of Volts, above which the alarm is generated."
   --#TYPE "APC XATS: Output voltage out-of-range alarm."
   --#SUMMARY "Output voltage is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 383

xATSOutputVoltageHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output voltage is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1-N, 2=L2-N, 3=L3-N, 4=unused, 5=L1-L2, 6=L2-L3, 7=L3-L1).
        The fourth argument is the measured voltage in tenths of Volts."
   --#TYPE "APC XATS: Output voltage back in range."
   --#SUMMARY "Output voltage in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 384

xATSOutputCurrentLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices three-phase load current is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3, 4=Neutral, 5=L1-2, 6=L2-3, 7=L3-1).
        The fourth argument is the measured current in Amps.
        The fifth argument is the threshold, in Amps, from which the alarm was generated."
   --#TYPE "APC XATS: Output (load) current out-of-range alarm."
   --#SUMMARY "Output current is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 385

xATSOutputCurrentLowAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output current is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3, 4=Neutral).
        The fourth argument is the measured current in Amps."
   --#TYPE "APC XATS: Output (load) current back in range."
   --#SUMMARY "Output current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 386

xATSOutputCurrentHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices three-phase load current is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3, 4=Neutral).
        The fourth argument is the measured current in Amps.
        The fifth argument is the threshold, in Amps, from which the alarm was generated."
   --#TYPE "APC XATS: Output (load) current out-of-range alarm."
   --#SUMMARY "Output current is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 387

xATSOutputCurrentHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices three-phase output current is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3, 4=Neutral).
        The fourth argument is the measured current in Amps."
   --#TYPE "APC XATS: Output (load) current back in range."
   --#SUMMARY "Output current in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 388


xATSOutputFrequencyAlarm TRAP-TYPE
  ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "SEVERE: The devices output frequency is outside the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the frequency deviation from the nominal in tenths of Hertz.
        The fourth argument is the frequency deviation threshold in tenths of Hertz, 
        from which the alarm was generated."
   --#TYPE "APC XATS: Output frequency out-of-range alarm."
   --#SUMMARY "Output frequency is out-of-range."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 389

xATSOutputFrequencyAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The devices output frequency is back within the specified limits.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Output frequency back in range."
   --#SUMMARY "Output frequency in range."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 390

xATSInternalCommError TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: There is an internal communication error in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Internal communication error."
   --#SUMMARY "Internal communication error."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 391

xATSInternalCommErrorCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Internal communication has been restored.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Internal Communication error cleared."
   --#SUMMARY "ATS Communication error cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 392

xATSDataCommMismatchError TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: A data incompatibility exists within the device.  This
        is typically the result of mismatches between firmware revisions
        of the transfer switch controller and the Network Management interface.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Data mismatch error."
   --#SUMMARY "ATS data mismatch error."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 393

xATSDataCommMismatchErrorCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The internal data incompatibility has been resolved.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: data mismatch error cleared."
   --#SUMMARY "ATS data mismatch error cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 394

xATSGenCommLost TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The XATS cannot communicate with the generator.
        This will make unavailable all the xATSGenerator OIDs.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: No communication with generator."
   --#SUMMARY "ATS/Generator communication lost."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 395

xATSGenCommEstablished TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The XATS has established communication with the generator.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Communication with generator established."
   --#SUMMARY "ATS/generator communication established."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 396
   
xATSNeutralPosition TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger,
                mtrapargsString }
   DESCRIPTION
      "WARNING: XATS has transferred to neutral position.
        In this position neither Source 1 nor Source 2 is selected,
        and the XATS will have no output voltage.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the mode in which the switch is operating
        (1=Auto, 2=Not-in-Auto, Abnormal Condition  3=Not-in-Auto, manual)."
   --#TYPE "APC XATS: Transferred to the neutral (no output power) position."
   --#SUMMARY "Transferred to neutral."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 397

xATSSwitchTransferEvent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger,
                mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: XATS has transferred from one source to the other.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the mode in which the switch is operating.
        (1=Auto, 2=Not-in-Auto, Abnormal Condition  3=Not-in-Auto, manual).
        The fourth argument is the input source selected (1=Source 1, 2=Source 2).
        The fifth argument is type of transfer that took place. (1=Closed, 2=Open, 3=Unknown)"
   --#TYPE "APC XATS: Transferred from Source-X to Source-Y."
   --#SUMMARY "Source-to-Source transfer."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 398

xATSInternalATSFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: An internal XATS fault has been detected.
        The XATS may have forced itself to not-in-auto mode (abnormal condition),
        as indicated by the xATSSwitchStatusAutoSwitchOperationalMode OID.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument indicates the detected fault.

           1=Cannot Close S1
           2=Cannot Close S2
           3=Cannot Open S1
           4=Cannot Open S2
           5=Cannot Trip Open S1 
           6=Cannot Trip Open S2 
           7=Start Contact Failure
           8=Voltage Sensing Failure"

   --#TYPE "APC XATS: Internal fault detected."
   --#SUMMARY "ATS internal fault detected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 399

xATSInternalATSFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected internal XATS fault has been cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument indicates the detected fault.

           1=Cannot Close S1
           2=Cannot Close S2
           3=Cannot Open S1
           4=Cannot Open S2
           5=Cannot Trip Open S1 
           6=Cannot Trip Open S2 
           7=Start Contact Failure
           8=Voltage Sensing Failure"

   --#TYPE "APC XATS: Internal fault cleared."
   --#SUMMARY "ATS internal fault cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 400

xATSEngineStartAsserted TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The XATS has asserted the Engine Start contact.
        This should result in the generator producing output voltage.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument indicates the reason that the start signal was asserted
        1=Unknown, 2=S1 Low Voltage, 3=S1 High Voltage, 4=S1 Line Imbalance,
        5=S1 Freq Range, 6=S1 Bad Rotation."
   --#TYPE "APC XATS: Engine Start signal asserted."
   --#SUMMARY "Engine Start asserted."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 401

xATSEngineStopAsserted TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The XATS has de-asserted the Engine Start contact.
        This should result in the generator shutting down, and producing no output voltage.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Engine Stop signal asserted."
   --#SUMMARY "Engine Stop asserted."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 402

xATSStartFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator failed to start. After assertion of the
        Engine Start signal, the quality of Source 2 was not seen as good.
        This alarm can be cleared using the xATSSwitchStatusClearLatchedAlarms OID.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument indicates the line quality at S2
         1=Unknown, 2=S2 Low Voltage, 3=S2 High Voltage, 4=S2 Line Imbalance,
         4=S2 Freq Range, 5=S2 Bad Rotation."
   --#TYPE "APC XATS: Generator failed to start alarm."
   --#SUMMARY "Generator failed to start."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 403

xATSStopFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The generator failed to stop. After de-assertion of the
        Engine Start signal, the quality of Source 2 continued to be seen as good.
        This alarm can be cleared using the xATSSwitchStatusClearLatchedAlarms OID.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Generator failed to stop alarm."
   --#SUMMARY "Generator failed to stop."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 404

xATSNotInAutomaticMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Automatic Transfer Switch is not in automatic mode.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The xATSSwitchStatusAutoSwitchStatus OID and the
        xATSSwitchStatusAutoSwitchOperationalMode OID
        can provide more information about the state of the XATS."
   --#TYPE "APC XATS: XATS is not-in-automatic mode."
   --#SUMMARY "ATS not in auto."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 405

xATSNotInAutomaticModeCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Automatic Transfer Switch is in automatic mode.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: XATS in auto mode."
   --#SUMMARY "ATS in auto mode."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 406

xATSEpoTripped TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The device's Emergency Power Off (EPO) circuit is tripped.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Emergency Power Off (EPO) tripped."
   --#SUMMARY "EPO tripped."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 407

xATSEpoReset TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's Emergency Power Off (EPO) circuit has been
        reset to the armed position.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Emergency Power Off (EPO) reset."
   --#SUMMARY "EPO armed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 408

xATSEpoTestMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The device's Emergency Power Off (EPO) circuit has been
        switched back to the test position.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Emergency Power Off (EPO) in test mode."
   --#SUMMARY "EPO disabled."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 409

xATSEpoArmed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's Emergency Power Off (EPO) circuit has been
        switched back to the armed position.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Emergency Power Off (EPO) enabled."
   --#SUMMARY "EPO armed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 410

xATSTestInitiated TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A scheduled test has been initiated.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the type of test initiated (1=scheduled, 2=manual)."
   --#TYPE "APC XATS: Test initiated."
   --#SUMMARY "Test initiated."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 411

xATSTestCancelled TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The scheduled test has been canceled
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the type of test initiated (1=scheduled, 2=manual)."
   --#TYPE "APC XATS: Test cancelled."
   --#SUMMARY "Test cancelled."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 412

xATSTestFailed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The initiated test has failed.
        This alarm can be cleared using the xATSSwitchStatusClearLatchedAlarms OID.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Initiated test failed."
   --#SUMMARY "Initiated test failed."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 413

xATSTestPassed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The initiated test has passed
        switched back to the armed position.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Initiated test passed."
   --#SUMMARY "Initiated test passed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 414

xATSInputContactStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsString02, mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: A user input contact on the device has changed to its abnormal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the input contact number. 
        The fourth argument is the input contact name.
        The fifth argument is the input contact state (1=OPEN, 2=CLOSED).
        The sixth argument is the configured normal input contact state (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XATS: Input contact has changed to its abnormal state."
   --#SUMMARY "Input contact has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 415

xATSInputContactStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, 
               mtrapargsString02, mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A user input contact on the device has changed to its normal state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the input contact number. 
        The fourth argument is the input contact name.
        The fifth argument is the input contact state (1=OPEN, 2=CLOSED).
        The sixth argument is the configured normal input contact state (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XATS: Input contact has changed to its normal state."
   --#SUMMARY "Input contact has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 416

xATSRemoteStartContactMismatch TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: The state of the generator's Remote Start input
        and the ATS's Engine Start output do not match. 
        This indicates something wrong in the Engine Start wiring,
        which must be corrected. This condition will prevent the 
        generator from being started when needed.

          (See also: xATSGeneratorStatusRemoteStart 
           and xATSSwitchStatusEngineStartSignal OIDs)

        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Generator/ATS start contact mismatch."
   --#SUMMARY "Generator/ATS start contact mismatch."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 417

xATSRemoteStartContactMismatchCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Mismatch in the state of the generator's 
        Remote Start input and the ATS's Engine Start output as been resolved. 
        This indicates something wrong in the Engine Start wiring,
        which must be corrected. This condition will prevent the 
        generator from being started when needed.

          (See also: xATSGeneratorStatusRemoteStart 
           and xATSSwitchStatusEngineStartSignal OIDs)

        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Generator/ATS start contact mismatch cleared."
   --#SUMMARY "Generator/ATS start contact mismatch cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 418

xATSDoorOpenAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The XATS exterior panel door is open.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Panel door is open alarm."
   --#SUMMARY "Panel door open alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 419

xATSDoorOpenAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The external door to the device is closed.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Panel door open alarm cleared."
   --#SUMMARY "Panel door open alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 420

xATSDCBackupAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The XATS's DC backup has been lost. The XATS will lose power
        on Source 1 failure, causing the Engine Start signal to be asserted.
        The XATS will then restart from Source 2.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: DC backup failure."
   --#SUMMARY "ATS DC backup failure."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 421

xATSDCBackupAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: DC backup alarm has been cleared in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: DC backup alarm cleared."
   --#SUMMARY "DC backup alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 422

-- xATS Generator Traps

xATSGeneratorLowCoolantLevelAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Low coolant level has been detected in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low coolant level alarm."
   --#SUMMARY "Generator low coolant level alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 423

xATSGeneratorLowCoolantLevelAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected low coolant level has been cleared in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low coolant level alarm cleared."
   --#SUMMARY "Generator low coolant level alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 424

xATSGeneratorVeryLowCoolantLevelAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Very low coolant level has been detected in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator very low coolant level alarm."
   --#SUMMARY "Generator very low coolant level alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 425

xATSGeneratorVeryLowCoolantLevelAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected Very low coolant level has been cleared in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator very low coolant level alarm cleared."
   --#SUMMARY "Generator very low coolant level alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 426

xATSGeneratorHighCoolantTempAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: High coolant temperature has been detected in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator high coolant temperature alarm."
   --#SUMMARY "Generator high coolant temperature alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 427

xATSGeneratorHighCoolantTempAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected high coolant temperature has been cleared in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator high coolant temperature alarm cleared."
   --#SUMMARY "Generator high coolant temperature alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 428

xATSGeneratorVeryHighCoolantTempAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Very high coolant temperature has been detected in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator very high coolant temperature alarm."
   --#SUMMARY "Generator very high coolant temperature alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 429

xATSGeneratorVeryHighCoolantTempAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The Very high coolant temperature condition has been cleared in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator very high coolant temperature alarm cleared."
   --#SUMMARY "Generator very high coolant temperature alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 430

xATSGeneratorLowCoolantTempAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Low coolant temperature has been detected in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low coolant temperature alarm."
   --#SUMMARY "Generator low coolant temperature alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 431

xATSGeneratorLowCoolantTempAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The low coolant temperature condition has been cleared in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low coolant temperature alarm cleared."
   --#SUMMARY "Generator low coolant temperature alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 432

xATSGeneratorLowOilLevelAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Low oil level has been detected in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low oil level alarm."
   --#SUMMARY "Generator low oil level alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 433

xATSGeneratorLowOilLevelAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Low oil level alarm has been cleared in the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low oil level alarm cleared."
   --#SUMMARY "Generator low oil level alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 434
   
xATSGeneratorLowBatteryVoltDuringCrankAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator's battery voltage has been detected 
        as low while cranking the engine.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Low batt. voltage while cranking alarm."
   --#SUMMARY "Generator low battery volts while cranking alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 435

xATSGeneratorLowBatteryVoltDuringCrankAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator's low battery voltage while
        cranking condition has been cleared.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "XGEN: Generator low batt. voltage while cranking alarm cleared."
   --#SUMMARY "Generator low battery volts while cranking alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 436

xATSGeneratorVeryLowBatteryVoltDuringCrankAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator's battery voltage has been detected 
        as very low while cranking the engine.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "XGEN: Generator v.low battery voltage while cranking alarm."
   --#SUMMARY "Generator v.low battery volts while cranking alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 437

xATSGeneratorVeryLowBatteryVoltDuringCrankAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator's high battery voltage while
        cranking condition has been cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "XGEN: Generator v.low batt volt, while cranking alarm cleared."
   --#SUMMARY "Generator v.low battery volts while cranking alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 438

xATSGeneratorEStop TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator's emergency stop input has been activated.
        After the emergency stop signal has been removed, the E-Stop condition  
        must be cleared before the generator can be started again.
        E-Stop conditions can only be cleared via the generator front panel.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code.
        The fourth argument is the type of E-Stop (1=LOCAL, 2=REMOTE)."
   --#TYPE "APC XGEN: Generator emergency stop engaged."
   --#SUMMARY "Generator emergency stop engaged."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 439

xATSGeneratorEStopCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator's emergency stop condition has been cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code.
        The fourth argument is the type of E-Stop (1=LOCAL, 2=REMOTE)."
   --#TYPE "APC XGEN: Generator emergency stop condition cleared."
   --#SUMMARY "Generator emergency stop condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 440

xATSGeneratorHighBatteryVolt TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The generator's battery voltage has been detected as high.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator high battery voltage."
   --#SUMMARY "Generator high battery volts."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 441

xATSGeneratorHighBatteryVoltCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected high battery voltage has been cleared, on the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator high battery voltage condition cleared."
   --#SUMMARY "Generator high battery volts condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 442

xATSGeneratorLowBatteryVolt TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator's battery voltage has been detected as low.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low battery voltage."
   --#SUMMARY "Generator low battery volts."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 443

xATSGeneratorLowBatteryVoltCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected low battery voltage has been cleared, on the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low battery voltage condition cleared."
   --#SUMMARY "Generator low battery volts condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 444

xATSGeneratorControlSwitchNotAuto TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The control switch on the generator is not in auto position.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator not-in-automatic mode."
   --#SUMMARY "Generator not-in-auto."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 445

xATSGeneratorControlSwitchNotAutoCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The control switch on the generator is in auto position.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator automatic mode restored."
   --#SUMMARY "Generator not-in-auto cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 446

xATSGeneratorLowOilPressure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator's oil pressure has been detected as low.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low oil pressure."
   --#SUMMARY "Generator low oil pressure."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 447

xATSGeneratorLowOilPressureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected low oil pressure has been cleared, on the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator low oil pressure condition cleared."
   --#SUMMARY "Generator low oil pressure condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 448

xATSGeneratorVeryLowOilPressure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator's oil pressure has been detected as very low.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator v.low oil pressure."
   --#SUMMARY "Generator v.low oil pressure."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 449

xATSGeneratorVeryLowOilPressureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected v.low oil pressure has been cleared, on the generator.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator v.low oil pressure condition cleared."
   --#SUMMARY "Generator v.low oil pressure condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 450

xATSGeneratorOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator is overloaded.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator is in overload event."
   --#SUMMARY "Generator on overload event."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 451

xATSGeneratorOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator is running within loading limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator is in overload event cleared."
   --#SUMMARY "Generator on overload event cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 452

xATSGeneratorLowACVEvent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator AC voltage is outside the acceptable bounds.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: State of the Generator ac voltage."
   --#SUMMARY " State of the Generator ac voltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 453

xATSGeneratorLowACVEventCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator AC voltage is within normal bounds.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: State of the Generator ac voltage cleared."
   --#SUMMARY "State of the Generator ac voltage cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 454

xATSGeneratorHighACVEvent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator AC voltage is outside the acceptable bounds.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: State of the Generator ac voltage."
   --#SUMMARY " State of the Generator ac voltage."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 455

xATSGeneratorHighACVEventCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator AC voltage is within normal bounds.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: State of the Generator ac voltage cleared."
   --#SUMMARY "State of the Generator ac voltage cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 456

xATSGeneratorOverspeed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator is running over the acceptable RPM.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator overspeed condition."
   --#SUMMARY "Generator overspeed condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 457

xATSGeneratorOverspeedCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator overspeed shutdown has been cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator overspeed condition cleared."
   --#SUMMARY "Generator overspeed condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 458

xATSGeneratorEngineCold TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator engine is cold, may not start.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator engine is cold, may not start."
   --#SUMMARY "Generator engine is cold."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 459

xATSGeneratorEngineColdCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The engine is not cold to start.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Engine is cold to start condition cleared."
   --#SUMMARY "Engine is cold to start condition cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 460

xATSGeneratorOutputBreakerOpen TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generators output breaker has been detected as open.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator output breaker open alarm."
   --#SUMMARY "Generator output breaker open."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE NONOPERATIONAL
   ::= 461

xATSGeneratorOutputBreakerOpenCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The engine is not cold to start.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator output breaker open alarm cleared."
   --#SUMMARY "Generator output breaker open cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 462

xATSGeneratorLowFuelLevelAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The tank fuel level is below the limits specified
        in the xATSGeneratorFuelSystemLowFuelLevelThreshold OID.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the measured fuel level in percent of full."
   --#TYPE "APC XGEN: Low fuel level alarm."
   --#SUMMARY "Generator low fuel level alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 463

xATSGeneratorLowFuelLevelAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The tank fuel level is back above the specified limit.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XGEN: Low fuel level alarm cleared."
   --#SUMMARY "Generator low fuel level alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 464

xATSGeneratorVeryLowFuelLevelAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The tank fuel level is below the low threshold limits.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the measured tank fuel level in percent of full."
   --#TYPE "APC XGEN: Very Low fuel level alarm."
   --#SUMMARY "Generator very low fuel level alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 465

xATSGeneratorVeryLowFuelLevelAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected low tank level has been cleared in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XGEN: Very low fuel level alarm cleared."
   --#SUMMARY "Generator very low fuel level alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 466

xATSGeneratorLowRunTimeAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The estimated runtime is below the limits specified.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the estimated runtime in hours."
   --#TYPE "APC XGEN: Low run time alarm."
   --#SUMMARY "Generator low run time alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 467

xATSGeneratorLowRunTimeAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected low runtime has been cleared in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XGEN: Low run time alarm cleared."
   --#SUMMARY "Generator low run time alarm."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 468

xATSGeneratorVeryLowRunTimeAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The estimated runtime is below the limits specified
        in the xATSGeneratorFuelSystemVeryLowRunTimeThreshold OID.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the estimated runtime in hours."
   --#TYPE "APC XGEN: Very low run time alarm."
   --#SUMMARY "Generator very low run time alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 469

xATSGeneratorVeryLowRunTimeAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The detected low runtime has been cleared in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XGEN: Very low run time alarm cleared."
   --#SUMMARY "Generator very low run time alarm."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 470

xATSGeneratorServiceDueAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The generator is due for scheduled service.
        Generation of this alarm is based on calender days since 
        and/or actual generator run-hours since last service.
        This alarm is cleared using the xATSGeneratorServiceResetRecord OID.

          (See also: xATSGeneratorServiceCalendarIntervalThreshold
           and xATSGeneratorServiceRunHoursThreshold OIDs)

        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Generator scheduled maintenance is due."
   --#SUMMARY "Generator maintenance due."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 471

xATSGeneratorServiceDueAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator's service registers have been reset.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Generator service due alarm is cleared."
   --#SUMMARY "Generator service alarm is cleard."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 472

xATSGeneratorShutdown TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator is shutdown.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator shutdown."
   --#SUMMARY "Generator shutdown"
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 473

xATSGeneratorShutdownCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The generator shutdown alarm is cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator shutdown is cleared."
   --#SUMMARY "Generator shutdown is cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 474

xATSGeneratorBatteryCharger TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: The generator battery charger is nonfunctional.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator batt. charger is nonfunctional."
   --#SUMMARY "Generator battery charger is nonfunctional"
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 475

xATSGeneratorBatteryChargerCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: nonfunctionality of the generator battery is cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: " Nonfunctionality of battery charger is cleared."
   --#SUMMARY "non-functionality of Generator battery charger is cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 476

xATSGeneratorGenericEvent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Any generic generator event.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generator generic event."
   --#SUMMARY "Generator generic event."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 477

xATSGeneratorGenericEventCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Generated generic generator event is cleared.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the OEM's fault/event code."
   --#TYPE "APC XGEN: Generic generator event is cleared."
   --#SUMMARY "Generic generator event is cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 478

-- xPDU Traps (part 2)

xPDUInternalCommErrorCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Internal communication has been restored.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Internal Communication error cleared."
   --#SUMMARY "Communication error cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 479

xPDUSystemStateAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName,
               mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The PDU's breakers (Q1, Q2 & Q3) are in a configuration that might lead
        to system unavailability.  it may signify a temporary condition, when the breakers
		are placed in an atypical manner as the user transitions to (UPS OPERATION or MAINTENANCE BYPASS)
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the type of alarm
        (1=NO UPS INPUT, 2=NO PANEL FEED, 3=ATYPICAL BYPASS MODE)."
   --#TYPE "APC XPDU: System state alarm ."
   --#SUMMARY "PDU state alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 480

xPDUSystemStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, 
               mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The PDU's breakers (Q1, Q2 & Q3) are set in a configuration
        that is a non-alarm state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the type of alarm (1=UPS OPERATION, 2=MAINTENANCE BYPASS)."
   --#TYPE "APC XPDU: System state returned to normal."
   --#SUMMARY "PDU state normal."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 481

xPDUEpoTestMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The device's Emergency Power Off (EPO) circuit has been
        switched back to the test position.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Emergency Power Off (EPO) in test mode."
   --#SUMMARY "EPO disabled."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 482

xPDUEpoArmed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's Emergency Power Off (EPO) circuit has been
        switched back to the armed position.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Emergency Power Off (EPO) enabled."
   --#SUMMARY "EPO armed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 483

xPDUFuseBlownAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName,
               mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: One or more fuses in this PDU have been detected as open.
        These fuses are in the feed to the UPS associated with this PDU.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3)."
   --#TYPE "APC XPDU: Check fuse alarm."
   --#SUMMARY "Fuse detected opened."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 484

xPDUFuseBlownAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName,
               mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A previous check fuse alarm in this PDU has cleared.
        These fuses are in the feed to the UPS associated with this PDU.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the phase (1=L1, 2=L2, 3=L3)."
   --#TYPE "APC XPDU: Check fuse alarm cleared."
   --#SUMMARY "Fuse alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 485

xPDUBreakerPositionAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, 
               mtrapargsInteger, mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "SEVERE: A PDU breaker is in a state that compromises system availability.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the breaker (1=MAIN INPUT, 2=BYPASS INPUT, 3=CROSS TIE).
        The fourth argument is the breaker position (1=OPEN, 2=CLOSED)."
   --#TYPE "APC XPDU: Breaker position alarm."
   --#SUMMARY "Breaker position alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 486

xPDUBreakerPositionAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName,
               mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A PDU breaker is no longer in a state that compromises system availability.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the breaker (1=MAIN INPUT, 2=BYPASS INPUT, 3=CROSS TIE)."
   --#TYPE "APC XPDU: Breaker position alarm cleared."
   --#SUMMARY "Breaker alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 487

xPDUBreakerChangeEvent TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger,
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A system breaker or switch within the device has changed state.
	    They are generated when any of the Q1, Q2 or Q3 breakers have changed states.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the breaker that has changed
        (1=UPS FEED (Q1), 2=UPS OUTPUT(Q2), 3=MAINTENANCE BYPASS (Q3).
        The fourth argument is the state of the breaker that has changed (1=OPEN, 2=CLOSED).
        The fifth argument is a 8-bit field representing the state of all breakers in the system,
		when any of one of the Q1, Q2 or Q3 breakers have changed state.

        The bit map is represented in the following manner (b7, b6 ... b0)
		b0 - UPS FEED (Q1)
		b1 - MAINTENANCE BYPASS (Q3)
		b2 - UPS OUTPUT (Q2)
        b3 - MAIN INPUT
		b4 - BYPASS INPUT
		b5 - CROSS-TIE OUTPUT

        Example:  value of 60 (0x3C) indicates that the CROSS_TIE, BYPASS and MAIN INPUT, and Q2 breakers 
        are CLOSED and Q2, Q1 breakers are OPEN." 
   --#TYPE "APC XPDU: Breaker/switch change event."
   --#SUMMARY "Breaker/switch change event."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 488

xPDUControllerFirmwareUpdateTransferStart TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Start Controller firmware transfer in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Start controller firmware transfer."
   --#SUMMARY "Start controller firmware transfer."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 489

xPDUControllerFirmwareUpdateTransferComplete TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Transfer of Controller firmware was completed in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Controller firmware transfer completed."
   --#SUMMARY "Controller firmware transfer completed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 490

xPDUControllerFirmwareUpdateTransferFailed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Transfer of Controller firmware has failed in the PDU.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: Controller firmware transfer failed."
   --#SUMMARY "Controller firmware transfer failed."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 491

xATSControllerFirmwareUpdateTransferStart TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Start Controller firmware transfer in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Start controller firmware transfer."
   --#SUMMARY "Start controller firmware transfer."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 492

xATSControllerFirmwareUpdateTransferComplete TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Transfer of Controller firmware was completed in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Controller firmware transfer completed."
   --#SUMMARY "Controller firmware transfer completed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 493

xATSControllerFirmwareUpdateTransferFailed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "SEVERE: Transfer of Controller firmware has failed in the device.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: Controller firmware transfer failed."
   --#SUMMARY "Controller firmware transfer failed."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 494

apcDeviceShutdownHeartbeat TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger, mtrapargsTimeTicks, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: "
   --#TYPE "APC X:"
   --#SUMMARY "."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 999

apcDiscoveryAlarmStateTableUpdate TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { apcDiscoveryDeviceAlarmStateChangeCount }
   DESCRIPTION
      "INTERNAL: A Discovery Alarm State Table Update trap is sent
       when any data alarm state is added, removed, or its parameters
       are changed in the condition table.  This trap is
       only for machine-to-machine communication. "
   --#TYPE "APC X:"
   --#SUMMARY "."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 1000
   
END
