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 }
consolePortServer              OBJECT IDENTIFIER ::=  { hardware 19 }

accessControl                  OBJECT IDENTIFIER ::=  { hardware 20 }
apcLocalDisplay                OBJECT IDENTIFIER ::=  { hardware 21 }


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 }
conPortServ                    OBJECT IDENTIFIER ::=  { system  20 }
gutor                          OBJECT IDENTIFIER ::=  { system  21 }

accControl                     OBJECT IDENTIFIER ::=  { system  22 }

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 }
battManUnitStatus              OBJECT IDENTIFIER ::=  { battMan 14 }

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 }

cpsAP930x                      OBJECT IDENTIFIER ::=  { consolePortServer 1 }

cpsAP930xSys                   OBJECT IDENTIFIER ::=  { cpsAP930x 1 }
cpsAP930xConf                  OBJECT IDENTIFIER ::=  { cpsAP930x 2 }
cpsAP930xInfo                  OBJECT IDENTIFIER ::=  { cpsAP930x 3 }
cpsAP930xAdm                   OBJECT IDENTIFIER ::=  { cpsAP930x 4 }



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 }
smartUPS3000DSP                OBJECT IDENTIFIER ::=  { smartUPS  17 }
smartUPS5000DSP                OBJECT IDENTIFIER ::=  { smartUPS  18 }
smartUPS8000                   OBJECT IDENTIFIER ::=  { smartUPS  19 }

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 }
mem                            OBJECT IDENTIFIER ::=  { monitors  4 }

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 }  
airIRSC100Series               OBJECT IDENTIFIER ::=  { networkAir 4 }  
airIRRC100Series               OBJECT IDENTIFIER ::=  { networkAir 5 }  
airIRRP100Series               OBJECT IDENTIFIER ::=  { networkAir 6 }  
airIRRP500Series               OBJECT IDENTIFIER ::=  { networkAir 7 }  

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 }

conPortServAP930x              OBJECT IDENTIFIER ::=  { conPortServ 1 }

gutorPEW                       OBJECT IDENTIFIER ::=  { gutor 1 }
gutorPDW                       OBJECT IDENTIFIER ::=  { gutor 2 }
gutorWEW                       OBJECT IDENTIFIER ::=  { gutor 3 }
gutorWDW                       OBJECT IDENTIFIER ::=  { gutor 4 }
gutorSDC                       OBJECT IDENTIFIER ::=  { gutor 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 }
rPDUStatus                     OBJECT IDENTIFIER ::=  { rPDU 5 }
 
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 }
modEnvMgr                      OBJECT IDENTIFIER ::=  { environmentalMonitor 4 }                

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 }

memModules                      OBJECT IDENTIFIER ::=  { modEnvMgr 1 }
memSensors                      OBJECT IDENTIFIER ::=  { modEnvMgr 2 }
memInputs                       OBJECT IDENTIFIER ::=  { modEnvMgr 3 }
memOutputs                      OBJECT IDENTIFIER ::=  { modEnvMgr 4 }
memOutlets                      OBJECT IDENTIFIER ::=  { modEnvMgr 5 }
memBeacons                      OBJECT IDENTIFIER ::=  { modEnvMgr 6 }

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 }

airIR                           OBJECT IDENTIFIER ::=  { airConditioners 3 }
airIRAlarms                     OBJECT IDENTIFIER ::=  { airIR 1 }
airIRRC                         OBJECT IDENTIFIER ::=  { airIR 2 }
airIRRP                         OBJECT IDENTIFIER ::=  { airIR 3 }
airIRSC                         OBJECT IDENTIFIER ::=  { airIR 4 }

airIRRCGroup                    OBJECT IDENTIFIER ::=  { airIRRC 1 }
airIRRCUnit                     OBJECT IDENTIFIER ::=  { airIRRC 2 }
                      
airIRRCGroupStatus              OBJECT IDENTIFIER ::=  { airIRRCGroup 1 }
airIRRCGroupSetpoints           OBJECT IDENTIFIER ::=  { airIRRCGroup 2 }
airIRRCGroupConfig              OBJECT IDENTIFIER ::=  { airIRRCGroup 3 }

airIRRCUnitIdent                OBJECT IDENTIFIER ::=  { airIRRCUnit 1 }
airIRRCUnitStatus               OBJECT IDENTIFIER ::=  { airIRRCUnit 2 }
airIRRCUnitRunHours             OBJECT IDENTIFIER ::=  { airIRRCUnit 3 }
airIRRCUnitServiceIntervals     OBJECT IDENTIFIER ::=  { airIRRCUnit 4 }
airIRRCUnitThresholds           OBJECT IDENTIFIER ::=  { airIRRCUnit 5 }
airIRRCUnitConfig               OBJECT IDENTIFIER ::=  { airIRRCUnit 6 }

-- Series 100 DX Air Conditioners
airIRRP100                      OBJECT IDENTIFIER ::=  { airIRRP 1 }
-- Series 500 CW Air Conditioners
airIRRP500                      OBJECT IDENTIFIER ::=  { airIRRP 2 }

airIRRP100Group                 OBJECT IDENTIFIER ::=  { airIRRP100 1 }
airIRRP100Unit                  OBJECT IDENTIFIER ::=  { airIRRP100 2 }

airIRRP100GroupStatus           OBJECT IDENTIFIER ::=  { airIRRP100Group 1 }
airIRRP100GroupSetpoints        OBJECT IDENTIFIER ::=  { airIRRP100Group 2 }
airIRRP100GroupConfig           OBJECT IDENTIFIER ::=  { airIRRP100Group 3 }

airIRRP100UnitIdent             OBJECT IDENTIFIER ::=  { airIRRP100Unit 1 }
airIRRP100UnitStatus            OBJECT IDENTIFIER ::=  { airIRRP100Unit 2 }
airIRRP100UnitRunHours          OBJECT IDENTIFIER ::=  { airIRRP100Unit 3 }
airIRRP100UnitServiceIntervals  OBJECT IDENTIFIER ::=  { airIRRP100Unit 4 }
airIRRP100UnitThresholds        OBJECT IDENTIFIER ::=  { airIRRP100Unit 5 }
airIRRP100UnitConfig            OBJECT IDENTIFIER ::=  { airIRRP100Unit 6 }
                      
airIRRP500Group                 OBJECT IDENTIFIER ::=  { airIRRP500 1 }
airIRRP500Unit                  OBJECT IDENTIFIER ::=  { airIRRP500 2 }

airIRRP500GroupStatus           OBJECT IDENTIFIER ::=  { airIRRP500Group 1 }
airIRRP500GroupSetpoints        OBJECT IDENTIFIER ::=  { airIRRP500Group 2 }
airIRRP500GroupConfig           OBJECT IDENTIFIER ::=  { airIRRP500Group 3 }

airIRRP500UnitIdent             OBJECT IDENTIFIER ::=  { airIRRP500Unit 1 }
airIRRP500UnitStatus            OBJECT IDENTIFIER ::=  { airIRRP500Unit 2 }
airIRRP500UnitRunHours          OBJECT IDENTIFIER ::=  { airIRRP500Unit 3 }
airIRRP500UnitServiceIntervals  OBJECT IDENTIFIER ::=  { airIRRP500Unit 4 }
airIRRP500UnitThresholds        OBJECT IDENTIFIER ::=  { airIRRP500Unit 5 }
airIRRP500UnitConfig            OBJECT IDENTIFIER ::=  { airIRRP500Unit 6 }


airIRSCUnit                     OBJECT IDENTIFIER ::=  { airIRSC 1 }
                      
airIRSCUnitIdent                OBJECT IDENTIFIER ::=  { airIRSCUnit 1 }
airIRSCUnitStatus               OBJECT IDENTIFIER ::=  { airIRSCUnit 2 }
airIRSCUnitRunHours             OBJECT IDENTIFIER ::=  { airIRSCUnit 3 }
airIRSCUnitServiceIntervals     OBJECT IDENTIFIER ::=  { airIRSCUnit 4 }
airIRSCUnitThresholds           OBJECT IDENTIFIER ::=  { airIRSCUnit 5 }
airIRSCUnitSetpoints            OBJECT IDENTIFIER ::=  { airIRSCUnit 6 }
airIRSCUnitConfig               OBJECT IDENTIFIER ::=  { airIRSCUnit 7 }


rARUIdent                       OBJECT IDENTIFIER ::=  { rARU 1 }
rARUConfig                      OBJECT IDENTIFIER ::=  { rARU 2 }
rARUStatus                      OBJECT IDENTIFIER ::=  { rARU 3 }
rARUFanStatus                   OBJECT IDENTIFIER ::=  { rARU 4 }
rARUPower                       OBJECT IDENTIFIER ::=  { rARU 5 }
rARUSensors                     OBJECT IDENTIFIER ::=  { rARU 6 }


accessPX                        OBJECT IDENTIFIER ::=  { accessControl 1 }

accessPXIdent                   OBJECT IDENTIFIER ::=  { accessPX 1 }
accessPXConfig                  OBJECT IDENTIFIER ::=  { accessPX 2 }
accessPXConfigFront             OBJECT IDENTIFIER ::=  { accessPX 3 }
accessPXStatusFront             OBJECT IDENTIFIER ::=  { accessPX 4 }
accessPXConfigRear              OBJECT IDENTIFIER ::=  { accessPX 5 }
accessPXStatusRear              OBJECT IDENTIFIER ::=  { accessPX 6 }
accessPXConfigBeacon            OBJECT IDENTIFIER ::=  { accessPX 7 }
accessPXStatusBeacon            OBJECT IDENTIFIER ::=  { accessPX 8 }

apcLocalDisplayIdent            OBJECT IDENTIFIER ::=  { apcLocalDisplay 1 }
apcLocalDisplayConfig           OBJECT IDENTIFIER ::=  { apcLocalDisplay 2 }

accPX                           OBJECT IDENTIFIER ::=  { accControl 1 }



-- 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
      "The value of yes(1) indicates that trap generation for this manager is enabled.
       The value of no(2) indicates that trap generation for this manager is disabled"
   ::= { mconfigTrapReceiverEntry 5 }


receiveTrapType OBJECT-TYPE
   SYNTAX INTEGER   {
      powernet (1),
      ietf     (2),
      both     (3)
   }
   ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Type of trap."
   ::= { 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 }

mtrapargsString04 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 16 }

mtrapargsString05 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 17 }

mtrapargsInteger04 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 18 }

mtrapargsInteger05 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 19 }

   
-- 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),
       amps200     (4),
       amps2000    (5)
   }    
   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 deprecated
   DESCRIPTION
      "This OID has been deprecated."
   ::= { 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."
   ::= { 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 Celsius."
   ::= { 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 Celsius."
   ::= { 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 Celsius."
   ::= { 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 percent."
   ::= { 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 signaling when all alarm conditions clear."
   ::= { battManConfig 19 }

battManConfigSuspendCellVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This is used along with the number of cells per battery 
       and the number of batteries per string to determine if 
       a battery string has violated the low voltage limit. If 
       so, the Battery Management System will enter suspend mode.
       Measured in millivolts DC"
   ::= { battManConfig 20 }

battManConfigOhmicTestWaitTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The amount of time in seconds after a discharge event before 
       data will be collected for the ohmic value calculation."
   ::= { battManConfig 21 }

battManConfigNumberOfBoosts OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of consecutive times the Battery Management 
       System applies a charge to each battery during a boost 
       cycle.  Batteries with a Rated Battery AH Capacity 
       less than or equal to 120 AH will always have a value
       of one for Number of Boosts."
   ::= { battManConfig 22 }

-- 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 conditions identified
       alarm(2) an alarm condition exists."
   ::= { 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 conditions identified
       alarm(2) an alarm condition exists."
   ::= { 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 conditions identified
       alarm(2) an alarm condition exists."
   ::= { 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 conditions identified
       alarm(2) an alarm condition exists."
   ::= { battManAlarm 4 }

-- the battManSystemStatus group

-- These are system wide parameters

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

battManSystemAmbientTempF OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The system ambient temperature 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 Celsius."
   ::= { 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 }

battManSystemConfigurationInvalid OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system is not configured correctly."
   ::= { battManSystemStatus 10 }

battManSystemSuspendVoltage OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates that the system has suspended voltage scans."
   ::= { battManSystemStatus 11 }

-- 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 battManInputContactTable." 
   ::= { 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-write
   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 input contact 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,
      battManStringHighRippleCurrent           INTEGER,
      battManStringVoltage                     INTEGER,
      battManStringDischargeLess5Seconds       INTEGER,
      battManStringDischarge5to10Seconds       INTEGER,
      battManStringDischarge10to60Seconds      INTEGER,
      battManStringDischargeMore60Seconds      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 }

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

battManStringVoltage OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The sum of the voltages for all of the batteries on a 
       string in millivolts DC."
   ::= { battManStringTableEntry 9 }

battManStringDischargeLess5Seconds OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of recorded discharges lasting less than 
       5 seconds."
   ::= { battManStringTableEntry 10 }

battManStringDischarge5to10Seconds OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of recorded discharges lasting between 5 
       and 10 seconds."
   ::= { battManStringTableEntry 11 }

battManStringDischarge10to60Seconds OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of recorded discharges lasting between 10 
       and 60 seconds."
   ::= { battManStringTableEntry 12 }

battManStringDischargeMore60Seconds OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of recorded discharges lasting more than 
       60 seconds (1 minute)."
   ::= { battManStringTableEntry 13 }

-- the battManString1BatteryStatus group

battManString1BatteryTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the battManString1BatteryTable." 
   ::= { 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,
      battManString1BatteryUserHighVoltageAlarm        INTEGER,
      battManString1BatteryUserLowVoltageAlarm         INTEGER,
      battManString1BatteryChemHighVoltageAlarm        INTEGER,
      battManString1BatteryChemLowVoltageAlarm         INTEGER,
      battManString1BatteryOpenCell                    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 millivolts DC."
   ::= { battManString1BatteryTableEntry 2 }
   
battManString1BatteryLowestVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The lowest battery discharge voltage during the last power event in millivolts DC."
   ::= { 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 }

battManString1BatteryUserHighVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the user level high voltage limit."
   ::= { battManString1BatteryTableEntry 10 }

battManString1BatteryUserLowVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the user level low voltage limit."
   ::= { battManString1BatteryTableEntry 11 }

battManString1BatteryChemHighVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the chemistry level high voltage limit."
   ::= { battManString1BatteryTableEntry 12 }

battManString1BatteryChemLowVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the chemistry level low voltage limit."
   ::= { battManString1BatteryTableEntry 13 }

battManString1BatteryOpenCell OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates the battery has an open 
       cell or an inter-connection is abnormal."
   ::= { battManString1BatteryTableEntry 14 }


-- the battManString2BatteryStatus group

battManString2BatteryTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of entries in the battManString2BatteryTable." 
   ::= { 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,
      battManString2BatteryUserHighVoltageAlarm        INTEGER,
      battManString2BatteryUserLowVoltageAlarm         INTEGER,
      battManString2BatteryChemHighVoltageAlarm        INTEGER,
      battManString2BatteryChemLowVoltageAlarm         INTEGER,
      battManString2BatteryOpenCell                    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 millivolts DC."
   ::= { battManString2BatteryTableEntry 2 }
   
battManString2BatteryLowestVoltage OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The lowest battery discharge voltage during the last power event in millivolts DC."
   ::= { 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 }

battManString2BatteryUserHighVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the user level high voltage limit."
   ::= { battManString2BatteryTableEntry 10 }

battManString2BatteryUserLowVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the user level low voltage limit."
   ::= { battManString2BatteryTableEntry 11 }

battManString2BatteryChemHighVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the chemistry level high voltage limit."
   ::= { battManString2BatteryTableEntry 12 }

battManString2BatteryChemLowVoltageAlarm OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates a battery has violated 
       the chemistry level low voltage limit."
   ::= { battManString2BatteryTableEntry 13 }

battManString2BatteryOpenCell OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates the battery has an open 
       cell or an inter-connection is abnormal."
   ::= { battManString2BatteryTableEntry 14 }

-- 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 }

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

-- 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: Zero or 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 2."
   ::= { 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: Zero or 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 2."
   ::= { 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 }

-- battManUnitStatus 

battManUnitStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the battManUnitStatusTable."
   ::= { battManUnitStatus 1 }
   
battManUnitStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BattManUnitStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting status information from each unit in the system."
   ::= { battManUnitStatus 2 }
   
battManUnitStatusTableEntry OBJECT-TYPE
   SYNTAX BattManUnitStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "The unit to get data from."
   INDEX { battManUnitStatusIndex }
   ::= { battManUnitStatusTable 1 }
   
BattManUnitStatusTableEntry ::=
   SEQUENCE {
       battManUnitStatusIndex           INTEGER,
       battManUnitStatusSerialNumber    DisplayString,
       battManUnitHardwareRev           INTEGER,                                 
       battManUnitFirmwareRev           INTEGER,
       battManUnitCommLoss              INTEGER,
       battManUnitRelayStuck            INTEGER
   }       

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

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

battManUnitHardwareRev OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery manager unit hardware revision. 
       This value is set at the factory." 
   ::= { battManUnitStatusTableEntry 3 }

battManUnitFirmwareRev OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The battery manager unit firmware revision. 
       This value is set at the factory and can change with firmware update." 
   ::= {  battManUnitStatusTableEntry 4 }

battManUnitCommLoss OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates the system has lost 
       communication with the unit."
   ::= { battManUnitStatusTableEntry 5 }

battManUnitRelayStuck OBJECT-TYPE
   SYNTAX INTEGER {
     normal          (1),
     alarm           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "When set to alarm(2), indicates the unit monitor relay 
       is stuck."
   ::= { battManUnitStatusTableEntry 6 }


-- 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.
       A value of zero indicates that the threshold is disabled."
   ::= { 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.
       A value of zero indicates that the threshold is disabled."
   ::= { 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{
          phase1(1),
          phase2(2),
          phase3(3)
         }
       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),
        unknown     (3)
   } 
   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.
       A value of zero indicates that the threshold is disabled."
   ::= { 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.
       A value of zero indicates that the threshold is disabled."
   ::= { 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.
       A value of zero indicates that the threshold is disabled."
   ::= { 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.
       A value of zero indicates that the threshold is disabled."
   ::= { 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 circuit 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 circuit 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.
       Measured in tenths of Amps, or -1 if not available."
   ::= { 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. Specified 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),
          unknown (3)
       } 
       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 (panel positions) in the Panel.
       returns 42 for a 1-panel or 84 for a 2-panel system."
   ::= { xPDUBranchBreakers 1 }

-- Branch Breakers Table

xPDUBranchBreakerTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of branch breaker entries determined by the xPDUNumOfBranchBreakers OID."
   ::= { 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 (panel position)."
       INDEX { xPDUBranchBreakerTableIndex }
       ::= { xPDUBranchBreakerTable 1 }

   XPDUBranchBreakerEntry ::= SEQUENCE {
       xPDUBranchBreakerTableIndex             INTEGER,
       xPDUBranchBreakerRating                 INTEGER,
       xPDUBranchBreakerRDPFeed                INTEGER,
       xPDUBranchBreakerTieIndicator           INTEGER,
       xPDUBranchBreakerCurrent                INTEGER,
       xPDUBranchBreakerOverCurrentThreshold   INTEGER,
       xPDUBranchBreakerUnderCurrentThreshold  INTEGER,
       xPDUBranchBreakerMaxCurrentThreshold    INTEGER,
       xPDUBranchBreakerMinCurrentThreshold    INTEGER,
       xPDUBranchBreakerName                   DisplayString,
       xPDUBranchBreakerLocation               DisplayString
       }

   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.
           A value above 60 Amp will signify a remote feed.
           The xPDUBranchBreakerRDPFeed OID will indicate which breakers are
           configured as a remote drop.
           Note: When setting branch circuit thresholds/ratings for an entry,
           all positions tied (see the xPDUBranchBreakerTieIndicator OID)
           to this entry will inherit the new threshold/rating."
       ::= { xPDUBranchBreakerEntry 2 }

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

   xPDUBranchBreakerTieIndicator OBJECT-TYPE
       SYNTAX INTEGER  {
          breakerUnTied   (1),
          breakerTied     (2)
       } 
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Indicates whether or not the breaker in this position 
           is logically associated with the breaker immediately below it.
           This setting is used grouping the breakers feeding 
           a multi-pole branch circuit.
           Note: When setting an entry's branch breaker tie indicator to breakerTied,
           all the positions that are tied to this breaker will take on the rating
           and thresholds for this entry of the table."
       ::= { 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 high current 
           condition will be generated. 
           Specified as a percent of the branch breaker rating.
           A value of zero indicates that the threshold is disabled.
           Note: When setting branch circuit thresholds/ratings for an entry,
           all positions tied (see the xPDUBranchBreakerTieIndicator OID)
           to this entry will inherit the new threshold/rating."
       ::= { xPDUBranchBreakerEntry 6 }

    xPDUBranchBreakerUnderCurrentThreshold OBJECT-TYPE
       SYNTAX INTEGER (0..100)
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Threshold below which a branch circuit low current 
           condition will be generated. 
           Specified as a percent of the branch breaker rating.
           A value of zero indicates that the threshold is disabled.
           Note: When setting branch circuit thresholds/ratings for an entry,
           all positions tied (see the xPDUBranchBreakerTieIndicator OID)
           to this entry will inherit the new threshold/rating."
       ::= { xPDUBranchBreakerEntry 7 }

    xPDUBranchBreakerMaxCurrentThreshold OBJECT-TYPE
       SYNTAX INTEGER (0..100)
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Threshold above which a branch circuit maximum current 
           condition will be generated. 
           Specified as a percent of the branch breaker rating.
           A value of zero indicates that the threshold is disabled.
           Note: When setting branch circuit thresholds/ratings for an entry,
           all positions tied (see the xPDUBranchBreakerTieIndicator OID)
           to this entry will inherit the new threshold/rating."
       ::= { xPDUBranchBreakerEntry 8 }

    xPDUBranchBreakerMinCurrentThreshold OBJECT-TYPE
       SYNTAX INTEGER (0..100)
       ACCESS read-write
       STATUS mandatory
       DESCRIPTION
          "Threshold below which a branch circuit minimum current 
           condition will be generated. 
           Specified as a percent of the branch breaker rating.
           A value of zero indicates that the threshold is disabled.
           Note: When setting branch circuit thresholds/ratings for an entry,
           all positions tied (see the xPDUBranchBreakerTieIndicator OID)
           to this entry will inherit the new threshold/rating."
       ::= { xPDUBranchBreakerEntry 9 }

xPDUBranchBreakerName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The description of the purpose/use of the breaker."
   ::= { xPDUBranchBreakerEntry 10 }

xPDUBranchBreakerLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The description of the location of the breaker."
   ::= { xPDUBranchBreakerEntry 11 }

-- 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),
      unknown (3)
   }
   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),
      unknown   (3)
   }
   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),
        unknown  (3)
   } 
   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),
        unknown              (4)
   } 
   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),
        unknown               (4)
   } 
   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 seamless (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 available at the circuit panel. 
           Measured in tenths of Volts. -1 if not available."
       ::= { xATSSystemOutputPhaseEntry 2 }

   xATSSystemOutputVoltageLtoN OBJECT-TYPE
       SYNTAX     INTEGER
       ACCESS     read-only
       STATUS     mandatory
       DESCRIPTION
          "Line-to-neutral system output voltage available at the circuit panel.
           Measured in tenths of Volts. -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 canceled 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 {
      noResultsAvailable        (1),
      startTestPassed           (2),
      loadTestPassed            (3),
      startSignalFailure        (4),
      failedGenNotInAuto        (5),
      failedGenEmerStop         (6),
      failedGenShutdown         (7),
      failedGenDidNotStart      (8),
      failedS2NeverGood         (9),
      genFailedDuringWarmup     (10),
      failureOnXferToS1         (11),
      genFailedLoaded           (12),
      failureOnRexferToS2       (13),
      failedOnCooldown          (14),
      genFailedToStop           (15),
      failedAtsInternalFault    (16),
      failedAtsNotInAuto        (17),
      canceledManualTest        (18),
      canceledScheduledTest     (19)
   }
   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 available."
   ::= { 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 available."
   ::= { 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 available."
   ::= { 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 available."
   ::= { 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 available."
       ::= { 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 available."
       ::= { 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 available."
       ::= { 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 available."
       ::= { 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 }

xATSGeneratorServiceTotalRunHoursSinceMaintenance 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 }

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

xATSGeneratorServiceTotalkWhMaintenance 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 calendar-based threshold is set to off."
   ::= { xATSGeneratorService 9 }
   
xATSGeneratorServiceRunHoursUntilServiceDate OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Run hours until the next generator service is due, in hours. 
       Based on the xATSGeneratorServiceRunHoursThreshold OID 
       or -1 if the run hour-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
      "Run hour-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
      "Calendar-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 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 console Port Server AP930x system group

apCPSpname OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "The product's name."
::= { cpsAP930xSys 1 }

apCPSversion OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "The firmware's version."
::= {cpsAP930xSys 2}

apCPSPower OBJECT IDENTIFIER ::= { cpsAP930xSys 3 }

apCPSPwNum OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "The number of the power supplies."
::= { apCPSPower 1 }

apCPSPw1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "State of the first power supply. 
                 0 will indicate not installed,
                 1 will indicate power ON,
                 2 will indicate power OFF."
::= { apCPSPower 2 }

apCPSPw2 OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "State of the second power supply.
                 0 will indicate not installed,
                 1 will indicate power ON,
                 2 will indicate power OFF."
::= { apCPSPower 3 }

apCPSPcmcia OBJECT IDENTIFIER ::= {cpsAP930xSys 4}

apCPSNPcmcia OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Number of PCMCIA cards available."
::= { apCPSPcmcia 1 }

cpsCardIdentTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CpsCardIdentEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "A table of PCMCIA card identifications."
::= { apCPSPcmcia 2 }

cpsCardIdentEntry OBJECT-TYPE
   SYNTAX CpsCardIdentEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "Identification information for a PCMCIA card."
   INDEX { cpsCardIdentIndex }
::= { cpsCardIdentTable 1 }

CpsCardIdentEntry ::= SEQUENCE {
   cpsCardIdentIndex Integer32,
   cpsCardIdentProd  DisplayString,
   cpsCardIdentMan   DisplayString ,
   cpsCardIdentFunc  DisplayString,
   cpsCardIdentPCI   DisplayString
}

cpsCardIdentIndex OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Number to identify the socket Card."
::= { cpsCardIdentEntry 1 }

cpsCardIdentProd OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Product identification string."
::= { cpsCardIdentEntry 2 }

cpsCardIdentMan OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Manufacturer ID code."
::= { cpsCardIdentEntry 3 }

cpsCardIdentFunc OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Function ID code."
::= { cpsCardIdentEntry 4 }

cpsCardIdentPCI OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "PCI ID"
::= { cpsCardIdentEntry 5 }

cpsCardConfTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CpsCardConfEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "A table of socket configuration information."
::= { apCPSPcmcia 3 }

cpsCardConfEntry OBJECT-TYPE
   SYNTAX CpsCardConfEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "Configuration information for a socket."
   INDEX { cpsCardConfIndex }
::= { cpsCardConfTable 1 }

CpsCardConfEntry ::= SEQUENCE {
   cpsCardConfIndex Integer32,
   cpsCardConfPower DisplayString,
   cpsCardConfType  DisplayString,
   cpsCardConfInter DisplayString,
   cpsCardConfFunc  DisplayString,
   cpsCardConfCardv DisplayString,
   cpsCardConfPort1 DisplayString,
   cpsCardConfPort2 DisplayString
}

cpsCardConfIndex OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Number to identify the socket PCMCIA."
::= { cpsCardConfEntry 1 }

cpsCardConfPower OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Power Settings."
::= { cpsCardConfEntry 2 }

cpsCardConfType OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Interface Type."
::= { cpsCardConfEntry 3 }

cpsCardConfInter OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Interrupt number."
::= { cpsCardConfEntry 4 }

cpsCardConfFunc OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Function."
::= { cpsCardConfEntry 5 }

cpsCardConfCardv OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Card values."
::= { cpsCardConfEntry 6 }

cpsCardConfPort1 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "I/O Port 1."
::= { cpsCardConfEntry 7 }

cpsCardConfPort2 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "I/O Port 2."
::= { cpsCardConfEntry 8 }

cpsCardStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CpsCardStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "A table of current socket status information."
::= { apCPSPcmcia 4 }

cpsCardStatusEntry OBJECT-TYPE
   SYNTAX CpsCardStatusEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "Current status information for a socket."
   INDEX { cpsCardStatusIndex }
::= { cpsCardStatusTable 1 }

CpsCardStatusEntry ::= SEQUENCE {
   cpsCardStatusIndex Integer32,
   cpsCardStatusCard  DisplayString,
   cpsCardStatusFunc  DisplayString
}

cpsCardStatusIndex OBJECT-TYPE
   SYNTAX Integer32(0..2)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Number to identify the socket PCMCIA."
::= { cpsCardStatusEntry 1 }

cpsCardStatusCard OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Current Card State."
::= { cpsCardStatusEntry 2 }

cpsCardStatusFunc OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Current Function."
::= { cpsCardStatusEntry 3 }

apCPSFlashSize OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Total amount of flash memory in Mbytes."
::= {cpsAP930xSys 5}

apCPSRAMSize OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Total amount of RAM in Mbytes."
::= {cpsAP930xSys 6}

apCPSCPUfreq OBJECT-TYPE
   SYNTAX Integer32
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "CPU clock in MHz."
::= {cpsAP930xSys 7}

apCPSDevId OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "The product's identifier."
::= { cpsAP930xSys 8 }


-- The console Port Server AP930x configuration group

cpsHostName   OBJECT-TYPE
   SYNTAX       DisplayString (SIZE (0..40))
   ACCESS       read-write
   STATUS       mandatory
   DESCRIPTION   "The Host Name."
::= { cpsAP930xConf 1 }                              

cpsConsoleBanner   OBJECT-TYPE
   SYNTAX       DisplayString (SIZE (0..255))
   ACCESS       read-write
   STATUS       mandatory
   DESCRIPTION   "The console banner."
::= { cpsAP930xConf 2 }                              

cpsMotd   OBJECT-TYPE
   SYNTAX       DisplayString (SIZE (0..255))
   ACCESS       read-write
   STATUS       mandatory
   DESCRIPTION   "The motd message."
::= { cpsAP930xConf 3 }                              

cpsEthItf  OBJECT IDENTIFIER ::= { cpsAP930xConf 4 }

cpsEthDhcpc   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "0 will indicate DHCP inactive,
                  1 will indicate DHCP active,
                  2 will indicate DHCP active and the last parameter is saved."
::= { cpsEthItf 1 }

cpsEthIPaddr   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This is the IP address of the Ethernet Interface."
::= { cpsEthItf 2 }

cpsEthIPmask   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The mask for the Ethernet network."
::= { cpsEthItf 3 }

cpsEthMTU      OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The Maximum Transmission Unit size, which determines 
          whether packets should be broken up."
::= { cpsEthItf 4 }

cpsEthIPaddr2  OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The Ethernet secondary IP address."
::= { cpsEthItf 5 }

cpsEthIPmask2   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The Ethernet secondary IP mask."
::= { cpsEthItf 6 }

cpsNameService  OBJECT IDENTIFIER ::= { cpsAP930xConf 5 }  

cpsResolverOrder   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..15))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Specifies how host lookups are to be performed.
          Valid values : empty, 'hosts', 'bind', 'hosts, bind', 
          'bind, hosts' "
::= { cpsNameService 1 }
                   
cpsMultipleIP   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..3))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Valid values are ON or OFF. If set to ON, the resolve 
          library will return all valid addresses for a host 
          that appears in the /etc/hosts file, instead of only 
          the first.  "
::= { cpsNameService 2 }

cpsDNSserv     OBJECT IDENTIFIER ::= { cpsNameService 3 }

cpsDNSpriserv   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Internet Address (in dot notation) of primary name 
          server that the resolver should query."
::= { cpsDNSserv 1 }
 
cpsDNSsecserv   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Internet Address (in dot notation) of secondary name 
          server that the resolver should query."
::= { cpsDNSserv 2 }

cpsDNSdomain      OBJECT-TYPE
   SYNTAX         DisplayString (SIZE (0..40))
   ACCESS         read-write
   STATUS         mandatory
   DESCRIPTION   "Local domain name."
::= { cpsDNSserv 3 }

cpsSerialPortConf  OBJECT IDENTIFIER ::= { cpsAP930xConf 6 }  

cpsSerialGlobal   OBJECT IDENTIFIER ::= { cpsSerialPortConf 1 }

cpsSerialInclude   OBJECT-TYPE
   SYNTAX         DisplayString (SIZE (0..40))
   ACCESS         read-write
   STATUS         mandatory
   DESCRIPTION   "File used in centralized management."
::= { cpsSerialGlobal 1 }

cpsSerialNFS      OBJECT-TYPE
   SYNTAX         DisplayString (SIZE (0..50))
   ACCESS         read-write
   STATUS         mandatory
   DESCRIPTION   "Remote Network File System where data buffering will be 
          written instead of the default directory '/var/run/DB'."
::= { cpsSerialGlobal 2 }

cpsSerialLockDir      OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..50))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The lock directory."
::= { cpsSerialGlobal 3 }

cpsSerialRlogin      OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..50))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Location of the rlogin binary that accepts the -i flag."
::= { cpsSerialGlobal 4 }

cpsSerialPppd   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..50))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Location of the pppd binary."
::= { cpsSerialGlobal 5 }

cpsSerialTelnet   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..50))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Location of the telnet application."
::= { cpsSerialGlobal 6 }

cpsSerialSsh      OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..50))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Location of the ssh application."
::= { cpsSerialGlobal 7 }

cpsSerialLocalLogins   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION    "This parameter is only necessary when authentication is 
                    being performed for a port.
                    This is useful if the Radius authentication server is down.
                    0 indicates OFF,
                    1 indicates ON."
::= { cpsSerialGlobal 8 }

cpsSerialFacility   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This value (0-7) is the Local facility sent to the syslog daemon."
::= { cpsSerialGlobal 9 }

cpsSerialDBFacility   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This value (0-7) is the Local facility sent to the syslog daemon."
::= { cpsSerialGlobal 10 }

cpsSerialGroupTable   OBJECT-TYPE
   SYNTAX      SEQUENCE OF CpsGroupEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION   ""
::= { cpsSerialGlobal 11 }

cpsgroupEntry   OBJECT-TYPE
   SYNTAX      CpsGroupEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION   ""
   INDEX      { cpsGroupIndex }
::= { cpsSerialGroupTable 1 }

CpsGroupEntry ::= SEQUENCE  {
   cpsGroupIndex   INTEGER,
   cpsGroupName    DisplayString,
   cpsGroupUsers   DisplayString
}

cpsGroupIndex   OBJECT-TYPE
   SYNTAX      INTEGER   
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "Number to identify the group."
::= { cpsgroupEntry  1 }                              

cpsGroupName   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..20))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The group name."
::= { cpsgroupEntry  2 }                              

cpsGroupUsers   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..80))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The user's names."
::= { cpsgroupEntry  3 }                              

cpsSerialSpec  OBJECT IDENTIFIER ::= { cpsSerialPortConf 2 }

cpsSerialPortTable   OBJECT-TYPE
   SYNTAX      SEQUENCE OF CpsSPortEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION    "This is the specific configuration per serial port."
::= { cpsSerialSpec 1 }

cpssportEntry   OBJECT-TYPE
   SYNTAX      CpsSPortEntry
   ACCESS   not-accessible
   STATUS      mandatory
   DESCRIPTION   "One particular serial port configuration."
   INDEX      { cpsSPortNumber }
::= { cpsSerialPortTable 1 }

CpsSPortEntry ::= SEQUENCE  {
   cpsSPortNumber        INTEGER,        -- 0 == all.  X == ttyX sX.
   cpsSPortTty           DisplayString,  -- associate device
   cpsSPortName          DisplayString,  -- alias name
   cpsSPortSpeed         Integer32,      -- physical port configuration
   cpsSPortDataSize      Integer32,
   cpsSPortStopBits      Integer32,
   cpsSPortParity        DisplayString,
   cpsSPortFlowCtrl      DisplayString,
   cpsSPortDTRdelay      Integer32,
   cpsSPortDCDCtrl       INTEGER,
   cpsSPortLogUtmp       INTEGER,        -- log into UTMP
   cpsSPortLogWtmp       INTEGER,        -- log into WTMP
   cpsSPortLogform       DisplayString,
   cpsSPortAuthtype      DisplayString,  -- authentication type
   cpsSPortAuthSrv1      IpAddress,      -- IP address of the primary authentication server
   cpsSPortAccSrv1       IpAddress,      -- IP address of the primary accounting server
   cpsSPortAuthTmo       Integer32,      -- time out per authentication query
   cpsSPortAuthRetr      Integer32,      -- authentication number of retries
   cpsSPortAuthSrv2      IpAddress,      -- IP address of the secondary authentication server
   cpsSPortAccSrv2       IpAddress,      -- IP address of the secondary accounting server
   cpsSPortAuthSecret    DisplayString,  -- secret used in authentication
   cpsSPortAuthRadP      INTEGER,        -- accept RADIUS' user without password
   cpsSPortAuthAcc       DisplayString,  -- access restriction on Users
   cpsSPortProtocol      DisplayString,  -- Profile
   cpsSPortRemoteIP      DisplayString,  -- remote IP address
   cpsSPortSocketPort    DisplayString,  -- number of socket port
   cpsSPortRemHost       IpAddress,      -- IP address of the remote Host
   cpsSPortBanner        DisplayString,  -- Banner
   cpsSPortPrompt        DisplayString,  -- Login prompt
   cpsSPortTermType      DisplayString,  -- terminal type
   cpsSPortAutomUsr      DisplayString,  -- automatic user
   cpsSPortNetMask       IpAddress,      -- net mask
   cpsSPortPppMtu        Integer32,
   cpsSPortPppMru        Integer32,
   cpsSPortPppOptions    DisplayString,
   cpsSPortPppFoption    DisplayString,
   cpsSPortModemChat     DisplayString,  -- initchat send to modem
   cpsSPortSttyCmd       DisplayString,
   cpsSPortSockTx        Integer32,      -- socket transmission interval
   cpsSPortSockPoll      Integer32,      -- socket polling interval
   cpsSPortSockIdle      Integer32,      -- socket idle timeout
   cpsSPortDBsize        Integer32,      -- maximum size of the data buffering file
   cpsSPortDBtime        INTEGER,        -- data buffering with/without timestamp
   cpsSPortDBmode        DisplayString,  -- data bufferinf mode circ or line
   cpsSPortDBsyslog      Integer32,      -- size of the data send to syslog
   cpsSPortDBmenu        INTEGER,        -- menu of the data buffering
   cpsSPortDBalarm       INTEGER,        -- use alarm generating feature
   cpsSPortSSHbreak      DisplayString,  -- break sequence (SSH)
   cpsSPortSniffSess     DisplayString,  -- sniff session type
   cpsSPortSniffAdm      DisplayString,  -- admin users to sniff
   cpsSPortSniffEsc      DisplayString,  -- escape char to sniff session
   cpsSPortSniffMsess    DisplayString,  -- multiple session
   cpsSPortTelnetMode    INTEGER,        -- telnet client mode
   cpsSPortSysBufSess    INTEGER,        -- syslog buffering at all times
   cpsSPortLFSuppress    INTEGER,        -- LF suppression in socket_server session
   cpsSPortAutoInput     DisplayString,  -- Input string to auto answer 
   cpsSPortAutoOutput    DisplayString,  -- Output string to auto answer
   cpsSPortBreakInterval Integer32       -- Break interval (in ms) 
}

cpsSPortNumber   OBJECT-TYPE
   SYNTAX      INTEGER   
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "Number to identify the serial port. Value 0 is ALL."
::= { cpssportEntry 1 }

cpsSPortTty      OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..25))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The device name for the serial port."
::= { cpssportEntry 2 }

cpsSPortName      OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Alias name given to the server connected to the serial port."
::= { cpssportEntry 3 }

cpsSPortSpeed   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The speed of the serial port.
                  Supported values are: 
                   50, 75, 110, 134, 150, 200, 300, 600, 
                   1200, 1800, 2400, 4800, 9600, 14400, 19200, 
                   28800, 38400, 57600, 115200, 230400,  and 460800"
::= { cpssportEntry 4 }

cpsSPortDataSize   OBJECT-TYPE
   SYNTAX      Integer32 (4..8)
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The data size for the serial port."
::= { cpssportEntry 5 }

cpsSPortStopBits   OBJECT-TYPE
   SYNTAX      Integer32 (0..2)
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The number of stop bits for the serial port."
::= { cpssportEntry 6 }

cpsSPortParity   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..5))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The parity for the serial port."
::= { cpssportEntry 7 }

cpsSPortFlowCtrl   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..5))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The flow control for the serial port."
::= { cpssportEntry 8 }

cpsSPortDTRdelay   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This specifies how long (in milliseconds) a DTR signal
             will be turned off before it is turned on again."
::= { cpssportEntry 9 }

cpsSPortDCDCtrl   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "DCD signal controls the connection request.
                 0 will indicate nocontrol,
                 1 will indicate control."
::= { cpssportEntry 10 }

cpsSPortLogUtmp   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Update the login records in /var/run/utmp file.
                 0 will indicate inactive,
                 1 will indicate active."
::= { cpssportEntry 11 }

cpsSPortLogWtmp   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Update the login records in /var/run/wtmp file.
                 0 will indicate inactive,
                 1 will indicate active."
::= { cpssportEntry 12 }

cpsSPortLogform   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This is the format to write the login record." 
::= { cpssportEntry 13 }

cpsSPortAuthtype      OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..25))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Authentication type." 
::= { cpssportEntry 14 }

cpsSPortAuthSrv1   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "IP address of the primary authentication server." 
::= { cpssportEntry 15 }

cpsSPortAccSrv1   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "IP address of the primary accounting server." 
::= { cpssportEntry 16 }

cpsSPortAuthTmo   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This is the timeout (in seconds) for the authentication 
         query to be answered." 
::= { cpssportEntry 17 }

cpsSPortAuthRetr   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This defines the number of times each server is tried 
         before another is contacted." 
::= { cpssportEntry 18 }

cpsSPortAuthSrv2   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "IP address of the secondary authentication server." 
::= { cpssportEntry 19 }

cpsSPortAccSrv2   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "IP address of the secondary accounting server." 
::= { cpssportEntry 20 }

cpsSPortAuthSecret   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This is the shared secret with authentication servers." 
::= { cpssportEntry 21 }

cpsSPortAuthRadP   OBJECT-TYPE
   SYNTAX      INTEGER 
      ACCESS   read-write
   STATUS      mandatory
   DESCRIPTION   "Radius state.
                 0 will indicate inactive,
                 1 will indicate active."
::= { cpssportEntry 22 }

cpsSPortAuthAcc   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS   read-write
   STATUS      mandatory
   DESCRIPTION   "Access restriction." 
::= { cpssportEntry 23 }

cpsSPortProtocol   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Defines the serial port's protocol." 
::= { cpssportEntry 24 }

cpsSPortRemoteIP   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..20))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This is the default IP address of the serial port." 
::= { cpssportEntry 25 }

cpsSPortSocketPort   OBJECT-TYPE   
   SYNTAX      DisplayString (SIZE (0..10))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This defines an alternative labeling system for the serial port." 
::= { cpssportEntry 26 }

cpsSPortRemHost   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The IP address of the host to which the serial port will connect." 
::= { cpssportEntry 27 }

cpsSPortBanner   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..250))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This defines the banner." 
::= { cpssportEntry 28 }

cpsSPortPrompt   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..250))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This defines the login prompt to the serial port." 
::= { cpssportEntry 29 }

cpsSPortTermType   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..20))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This defines the terminal type." 
::= { cpssportEntry 30 }

cpsSPortAutomUsr   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "This defines the automatic user." 
::= { cpssportEntry 31 }

cpsSPortNetMask   OBJECT-TYPE
   SYNTAX      IpAddress
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The network mask used in dial in connection." 
::= { cpssportEntry 32 }

cpsSPortPppMtu   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The PPP MTU - dial in connection." 
::= { cpssportEntry 33 }

cpsSPortPppMru   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The PPP MRU - dial in connection." 
::= { cpssportEntry 34 }

cpsSPortPppOptions   OBJECT-TYPE
   SYNTAX      DisplayString
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The PPP options when the PPP session is autodetected." 
::= { cpssportEntry 35 }

cpsSPortPppFoption   OBJECT-TYPE
   SYNTAX      DisplayString
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The PPP forced options when the user has already been authenticated." 
::= { cpssportEntry 36 }

cpsSPortModemChat   OBJECT-TYPE
   SYNTAX      DisplayString
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The initchat send to modem connected." 
::= { cpssportEntry 37 }

cpsSPortSttyCmd   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..180))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The tty settings after socket connection is established." 
::= { cpssportEntry 38 }

cpsSPortSockTx   OBJECT-TYPE   
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Defines the delay (in milliseconds) before transmission to
          the Ethernet of data received through a serial port." 
::= { cpssportEntry 39 }

cpsSPortSockPoll   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Keep-alive timer (milliseconds) for the TCP connection." 
::= { cpssportEntry 40 }

cpsSPortSockIdle   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The idle timeout in seconds." 
::= { cpssportEntry 41 }

cpsSPortDBsize   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Maximum size of the data buffering file." 
::= { cpssportEntry 42 }

cpsSPortDBtime   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS        read-write
   STATUS        mandatory
   DESCRIPTION   "Timestamp in data buffering. 
                 0 will indicate inactive,
                 1 will indicate active."
::= { cpssportEntry 43 }

cpsSPortDBmode   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..5))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Data buffering mode : circ or line."
::= { cpssportEntry 44 }

cpsSPortDBsyslog   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Size of the data buffer sent to syslog." 
::= { cpssportEntry 45 }

cpsSPortDBmenu   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Menu type for data buffering.
                 0 will indicate display Menu,
                 1 will indicate inactive,
                 2 will indicate DB,
                 3 will indicate Parc."
::= { cpssportEntry 46 }

cpsSPortDBalarm   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Alarm generation status.
                 0 will indicate inactive,
                 1 will indicate active."
::= { cpssportEntry 47 }

cpsSPortSSHbreak   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..16))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Break sequence - ssh session."
::= { cpssportEntry 48 }

cpsSPortSniffSess   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..5))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Sniff session type."
::= { cpssportEntry 49 }

cpsSPortSniffAdm   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "List of admin users allowed to sniff session."
::= { cpssportEntry 50 }

cpsSPortSniffEsc   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..6))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Escape sequence used in sniff session."
::= { cpssportEntry 51 }

cpsSPortSniffMsess   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..20))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   ""
::= { cpssportEntry 52 }

cpsSPortTelnetMode   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Mode negotiated by client telnet with the server.
                 0 will indicate text,
                 1 will indicate binary."
::= { cpssportEntry 53 }

cpsSPortSysBufSess   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Syslog Buffering at all times.
                 0 will indicate yes,
                 1 will indicate no."
::= { cpssportEntry 54 }

cpsSPortLFSuppress   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "LF suppression in socket_server session.
                 0 will indicate inactive,
                 1 will indicate active."
::= { cpssportEntry 55 }

cpsSPortAutoInput   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Input string used for auto answer."
::= { cpssportEntry 56 }

cpsSPortAutoOutput   OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..40))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Output string used for auto answer."
::= { cpssportEntry 57 }

cpsSPortBreakInterval   OBJECT-TYPE
   SYNTAX      Integer32
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "The break interval in milliseconds." 
::= { cpssportEntry 58 }

-- The console Port Server AP930x information group

cpsInfoSerialTable   OBJECT-TYPE
   SYNTAX      SEQUENCE OF CpsISPortEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION   "This is the information of the specific serial port."
::= { cpsAP930xInfo 1 }

cpsisPortEntry   OBJECT-TYPE
   SYNTAX      CpsISPortEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION   "One particular serial port."
   INDEX      { cpsISPortNumber }
::= { cpsInfoSerialTable 1 }

CpsISPortEntry ::= SEQUENCE  {
   cpsISPortNumber      INTEGER,       --  X == ttyX sX.
   cpsISPortTty         DisplayString, -- associate device
   cpsISPortName        DisplayString, -- alias name
   cpsISPortSpeed       Integer32,
   cpsISPortTxBytes     Integer32,          
   cpsISPortRXBytes     Integer32,
   cpsISPortErrFrame    Integer32,
   cpsISPortErrParity   Integer32,
   cpsISPortErrBreaks   Integer32,
   cpsISPortErrOverrun  Integer32,
   cpsISPortSigDTR      INTEGER,
   cpsISPortSigCD       INTEGER,
   cpsISPortSigDSR      INTEGER,
   cpsISPortSigRTS      INTEGER,
   cpsISPortSigCTS      INTEGER,
   cpsISPortSigRI       INTEGER
 }

cpsISPortNumber   OBJECT-TYPE
   SYNTAX      INTEGER   
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "Number to identify the serial port."
::= { cpsisPortEntry 1 }

cpsISPortTty      OBJECT-TYPE
   SYNTAX      DisplayString   
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The device name for the serial port."
::= { cpsisPortEntry 2 }

cpsISPortName      OBJECT-TYPE
   SYNTAX      DisplayString   
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "Alias name given to the server connected to the serial port."
::= { cpsisPortEntry 3 }

cpsISPortSpeed   OBJECT-TYPE
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The speed for serial port."
::= { cpsisPortEntry 4 }

cpsISPortTxBytes   OBJECT-TYPE        
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The number of transmitted bytes by the serial port."
::= { cpsisPortEntry 5 }

cpsISPortRXBytes   OBJECT-TYPE
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The number of received bytes by the serial port."
::= { cpsisPortEntry 6 }

cpsISPortErrFrame   OBJECT-TYPE
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The number of frame errors."
::= { cpsisPortEntry 7 }

cpsISPortErrParity   OBJECT-TYPE
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The number of parity errors."
::= { cpsisPortEntry 8 }

cpsISPortErrBreaks   OBJECT-TYPE   
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The number of breaks errors."
::= { cpsisPortEntry 9 }

cpsISPortErrOverrun   OBJECT-TYPE
   SYNTAX      Integer32 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The number of overrun errors."
::= { cpsisPortEntry 10 }

cpsISPortSigDTR   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The state of the DTR signal.
                 0 will indicate down,
                 1 will indicate up."
::= { cpsisPortEntry 11 }

cpsISPortSigCD   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The state of the DCD signal.
                 0 will indicate down,
                 1 will indicate up."
::= { cpsisPortEntry 12 }

cpsISPortSigDSR   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The state of the DSR signal.
                 0 will indicate down,
                 1 will indicate up."
::= { cpsisPortEntry 13 }

cpsISPortSigRTS   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The state of the RTS signal.
                 0 will indicate down,
                 1 will indicate up."
::= { cpsisPortEntry 14 }

cpsISPortSigCTS   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The state of the CTS signal.
                 0 will indicate down,
                 1 will indicate up."
::= { cpsisPortEntry 15 }

cpsISPortSigRI   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION   "The state of the RI signal.
                 0 will indicate down,
                 1 will indicate up."
::= { cpsisPortEntry 16 }

-- The console Port Server AP930x administrative group

apCPSSave   OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION   "Exec saveconf command.
                 0 will indicate don't save,
                 1 will indicate save."
::= { cpsAP930xAdm 1 }
                               
apCPSSerialHUP   OBJECT-TYPE
   SYNTAX      INTEGER 
   ACCESS          read-write
   STATUS          mandatory
   DESCRIPTION     "Exec signal_ras hup command.
                 0 will indicate no restart,
                 1 will indicate restart."
::= { cpsAP930xAdm 2 }

-- the access PX group

accessPXIdentAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Access PX alarm status
        1 = Normal
        2 = Warning
        3 = Critical."
   ::= { accessPXIdent 1 }


accessPXIdentProductNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The product number of the Access PX."
   ::= { accessPXIdent 2 }

accessPXIdentHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision number of the Access PX."
   ::= { accessPXIdent 3 }

accessPXIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of manufacture of the Access PX."
   ::= { accessPXIdent 4 }

accessPXIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Access PX."
   ::= { accessPXIdent 5 }

accessPXConfigCardReaderEnableDisableAction OBJECT-TYPE
   SYNTAX INTEGER {
      disabled   (1),
      enable     (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Action to disable/enable the card reader."
   ::= { accessPXConfig 1 }

accessPXConfigAutoRelockTime OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Time (10 - 60) in seconds when the door will automatically relock
       after it has been unlocked and the handle has not been opened."
   ::= { accessPXConfig 2 }

accessPXConfigCardFormat OBJECT-TYPE
   SYNTAX INTEGER {
      hidStd26             (1),
      hid37Bit             (2),
      hid37BitWithFacility (3),
      hidCorp1000          (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Indicates and controls the HID card format.
      NOTE: This OID is only valid for HID systems."
   ::= { accessPXConfig 3 }

accessPXConfigFrontDoorLockControl OBJECT-TYPE
   SYNTAX INTEGER {
      unlock                (1),
      lock                  (2),
      notInstalledReadOnly  (3),
      disconnectedReadOnly  (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Control action (unlock, lock) for the front door. Setting this OID 
       will unlock or lock the front door.  Getting this OID will respond 
       with the current state of the front door lock which could be 
       1 = unlocked,
       2 = locked,   
       3 = not installed,
       4 = disconnected."
   ::= { accessPXConfigFront 1 }

accessPXConfigFrontDoorMaxOpenTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Time in minutes, (1 - 120), that the front door can be 
       allowed to remain open without generating an alarm condition."
   ::= { accessPXConfigFront 2 }

accessPXStatusFrontDoorLock OBJECT-TYPE
   SYNTAX INTEGER {
      unlocked      (1),
      locked        (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Present state of the front door lock: unlocked, locked,
       not installed, or disconnected."
   ::= { accessPXStatusFront 1 }

accessPXStatusFrontDoor OBJECT-TYPE
   SYNTAX INTEGER {
      open          (1),
      closed        (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Present state of the front door: open, closed,
       not installed, or disconnected."
   ::= { accessPXStatusFront 2 }

accessPXStatusFrontDoorHandle OBJECT-TYPE
   SYNTAX INTEGER {
      open          (1),
      closed        (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Present state of the front door handle: open, closed,
       not installed, or disconnected."
   ::= { accessPXStatusFront 3 }

accessPXStatusFrontDoorMaxOpenTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Time in minutes, (1 - 120), that the front door can be 
       allowed to remain open without generating an alarm condition."
   ::= { accessPXStatusFront 4 }

accessPXStatusFrontDoorAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Front door alarm status
        1 = Normal
        2 = Warning
        3 = Critical
        4 = Front door not installed."
   ::= { accessPXStatusFront 5 }

accessPXConfigRearDoorLockControl OBJECT-TYPE
   SYNTAX INTEGER {
      unlock                (1),
      lock                  (2),
      notInstalledReadOnly  (3),
      disconnectedReadOnly  (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Control action (unlock, lock) for the rear door. Setting this OID 
       will unlock or lock the rear door.  Getting this OID will respond 
       with the current state of the rear door lock which could be 
       1 = unlocked,
       2 = locked,
       3 = not installed,
       4 = disconnected."
   ::= { accessPXConfigRear 1 }

accessPXConfigRearDoorMaxOpenTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Time in minutes, (1 - 120), that the rear door can be 
       allowed to remain open without generating an alarm condition."
   ::= { accessPXConfigRear 2 }

accessPXStatusRearDoorLock OBJECT-TYPE
   SYNTAX INTEGER {
      unlocked      (1),
      locked        (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Present state of the rear door lock: unlocked, locked,
       not installed, or disconnected."
   ::= { accessPXStatusRear 1 }

accessPXStatusRearDoor OBJECT-TYPE
   SYNTAX INTEGER {
      open          (1),
      closed        (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Present state of the rear door: open, closed, 
       not installed, or disconnected."
   ::= { accessPXStatusRear 2 }

accessPXStatusRearDoorHandle OBJECT-TYPE
   SYNTAX INTEGER {
      open          (1),
      closed        (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Present state of the rear door handle: open, closed, 
       not installed, or disconnected."
   ::= { accessPXStatusRear 3 }

accessPXStatusRearDoorMaxOpenTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Time in minutes, (1 - 120), that the rear door can be 
       allowed to remain open without generating an alarm condition."
   ::= { accessPXStatusRear 4 }

accessPXStatusRearDoorAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Rear door alarm status
        1 = Normal
        2 = Warning
        3 = Critical
        4 = Rear door not installed."
   ::= { accessPXStatusRear 5 }

accessPXConfigBeaconName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the Beacon."
   ::= { accessPXConfigBeacon 1 }

accessPXConfigBeaconLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive name for the location of the Beacon."
   ::= { accessPXConfigBeacon 2 }

accessPXConfigBeaconAction OBJECT-TYPE
   SYNTAX INTEGER {
      turnOff               (1),
      turnOn                (2),
      notInstalledReadOnly  (3),
      disconnectedReadOnly  (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Control action (turnOff, turnOn) for the beacon. Setting this OID 
       will turn the beacon off or on.  Getting this OID will respond 
       with the current state which could be 
       1 = off,
       2 = on,
       3 = not installed, 
       4 = disconnected."
   ::= { accessPXConfigBeacon 3 }

accessPXStatusBeaconName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The name of the beacon."
   ::= { accessPXStatusBeacon 1 }

accessPXStatusBeaconLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The name of the location of the beacon."
   ::= { accessPXStatusBeacon 2 }

accessPXStatusBeaconCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      off           (1),
      on            (2),
      notInstalled  (3),
      disconnected  (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current state of the beacon: off, on, 
       not installed, or disconnected."
   ::= { accessPXStatusBeacon 3 }

-- the apcLocalDisplay group

apcLocalDisplayIdentDisplayType OBJECT-TYPE
   SYNTAX INTEGER {
      noDisplayFound (1),
      powerviewRM    (2),
      powerviewWW    (3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Numeric value used to identify the type of display in use."
   ::= { apcLocalDisplayIdent 1 }

apcLocalDisplayIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The model number of the local display."
   ::= { apcLocalDisplayIdent 2 }

apcLocalDisplayIdentFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision number of the local display."
   ::= { apcLocalDisplayIdent 3 }

apcLocalDisplayIdentOptions OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A display-specific string identifying options in the local display."
   ::= { apcLocalDisplayIdent 4 }

apcLocalDisplayIdentDateOfManufacture OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of manufacture of the local display, if available."
   ::= { apcLocalDisplayIdent 5 }

apcLocalDisplayIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the local display, if available."
   ::= { apcLocalDisplayIdent 6 }

apcLocalDisplayConfigAlarmBeeper OBJECT-TYPE
   SYNTAX INTEGER {
      beeperDisabled   (1),
      beeperEnabled    (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The alarm beeper setting for the local display. 
       When enabled, the alarm beeper will begin to sound whenever 
       there a new alarm becomes active. The alarm beeper will continue to 
       periodically sound until a key is pressed on the display."
   ::= { apcLocalDisplayConfig 1 }

apcLocalDisplayConfigBeeperVolume OBJECT-TYPE
   SYNTAX INTEGER {
      beeperDisabled  (1),
      beeperLow       (2),
      beeperMedium    (3),
      beeperHigh      (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The volume setting of the beeper on the local display."
   ::= { apcLocalDisplayConfig 2 }

apcLocalDisplayConfigCheckLogIndicator OBJECT-TYPE
   SYNTAX INTEGER {
      checklogNotPresent    (1),
      checklogDisabled      (2),
      checklogInformational (3),
      checklogWarning       (4),
      checklogCritical      (5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum level event severity level required to illuminate 
       the check log light on the local display.
       notPresent (1) indicates that the display does not have a check log light."
   ::= { apcLocalDisplayConfig 3 }

apcLocalDisplayConfigKeyClick OBJECT-TYPE
   SYNTAX INTEGER {
      keyclickDisabled   (1),
      keyclickEnabled    (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The key click setting of the local display."
   ::= { apcLocalDisplayConfig 4 }

apcLocalDisplayConfigContrast OBJECT-TYPE
   SYNTAX INTEGER {
      contrast1 (1),
      contrast2 (2),
      contrast3 (3),
      contrast4 (4),
      contrast5 (5),
      contrast6 (6),
      contrast7 (7),
      contrast8 (8)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The contrast level of the local display."
   ::= { apcLocalDisplayConfig 5 }

-- 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),
      rateOfVoltageChange(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 }

upsAdvOutputRedundancy OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of power modules which can fail or be
       removed without causing the UPS to generate a Minimum
       Redundancy Lost event."
   ::= { upsAdvOutput 5 }

upsAdvOutputKVACapacity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum load that theis UPS can support."
   ::= { upsAdvOutput 6 }


-- 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),
     freqRange60Var1dot0 (9),
     freqRange50Var1dot0 (10)
   }
   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
       freqRange60Var1dot0(9) configure the output frequency range for 60 +/- 1.0 Hz
       freqRange50Var1dot0(10) configure the output frequency range for 50 +/- 1.0 Hz
       
       For a list of allowed values supported by your UPS model,
       see the UPS User's Manual."
   ::= { 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 scaling.
       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 }

upsAdvConfigMaxShutdownTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum amount of time for server shutdown to complete before a 
      UPS shutdown occurs."
   ::= { upsAdvConfig 27 }

upsAsiUpsControlServerRequestShutdown OBJECT-TYPE
   SYNTAX INTEGER {
     serverShutdownOff    (1),
     serverShutdownReboot (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Start a server shutdown sequence:
      serverShutdownOff: Shutdown server and turn off UPS
      serverShutdownReboot: Shutdown server and turn reboot UPS."
   ::= { upsAdvConfig 28 }

upsAdvConfigMinReturnRuntime OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum amount of run time in seconds required before the output will be
      turned on, using power calculation captured at start of last shutdown."
   ::= { upsAdvConfig 29 }

upsAdvConfigBasicSignalLowBatteryDuration OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The duration of runtime in seconds during an on-battery condition at which 
      the UPS will signal the basic low battery shutdown condition."
   ::= { upsAdvConfig 30 }

upsAdvConfigBypassPhaseLockRequired OBJECT-TYPE
   SYNTAX INTEGER {
     unknown    (1),
     disabled   (2),
     enabled    (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Sets the condition for when bypass is an acceptable mode of operation as a
      requirement."
   ::= { upsAdvConfig 31 }

-- 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: Warning Battery Temperature 
       Flag 28: Critical Battery Temperature

       Flag 29: Self Test In Progress   
       Flag 30: Low Battery / On Battery
       Flag 31: Graceful Shutdown Issued by Upstream Device
       Flag 32: Graceful Shutdown Issued by Downstream Device

       Flag 33: No Batteries Attached
       Flag 34: Synchronized Command is in Progress
       Flag 35: Synchronized Sleeping Command is in Progress  
       Flag 36: Synchronized Rebooting Command is in Progress 

       Flag 37: Inverter DC Imbalance 
       Flag 38: Transfer Relay Failure
       Flag 39: Shutdown or Unable to Transfer
       Flag 40: Low Battery Shutdown

       Flag 41: Electronic Unit Fan Failure
       Flag 42: Main Relay Failure
       Flag 43: Bypass Relay Failure
       Flag 44: Temporary Bypass

       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 Maintenance 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 Circuit 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: Static Bypass Switch Module Removed
      
      Flag 17: System Start-Up Configuration Fault
      Flag 18: Battery Charger Shutdown Externally
      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 Active
      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: SII Aux Input Activiated
      Flag 32: <Not Used>
      
      Flag 33: Blown Inverter Fuse
      Flag 34: Blown Rectifier Fuse
      Flag 35: Auxilliary 1 Fault
      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: High Temperature Charger Magnetic
      Flag 47: <Not Used>
      Flag 48: Battery Monitor Warning
      
      Flag 49: Battery Monitor Alarm
      Flag 50: <Not Used>
      Flag 51: <Not Used>
      Flag 52: <Not Used>
      
      Flag 53: TSM 1/2/3 Temperature Shutdown
      Flag 54: Charger 0/30 Temperature Warning
      Flag 55: Charger 0/30 Temperature Shutdown
      Flag 56: High Output Voltage
      
      Flag 57: SSW Temperature Over 90
      Flag 58: <Not Used>
      Flag 59: Low Current Failure In AC Capacitors
      Flag 60: <Not Used>
      
      Flag 61: Advanced Battery Management Not Installed
      Flag 62: <Not Used>
      Flag 63: <Not Used>
      Flag 64: <Not Used>"
   ::= { upsAdvState 3 }

upsAdvStateSymmetraSpecificFaults 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
      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: System Fault
      Flag  2: Bypass Relay Fault
      Flag  3: Power Module Turn Off Failure
      Flag  4: Frame Identification Fault
        
      Flag  5: <Not Used>
      Flag  6: <Not Used>
      Flag  7: <Not Used>
      Flag  8: <Not Used>
      
      Flag  9: <Not Used>
      Flag 10: <Not Used>
      Flag 11: <Not Used>
      Flag 12: <Not Used>
      
      Flag 13: <Not Used>
      Flag 14: <Not Used>
      Flag 15: <Not Used>
      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 4 }

upsAdvStateSmartUPSSpecificFaults 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 Smart-UPS 
      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: EPO Switch Activated
      Flag  2: Static Bypass Switch Fault
      Flag  3: System Configuration Fault
      Flag  4: Power Supply Unit Fault
        
      Flag  5: Weak Battery
      Flag  6: High Battery Temperature
      Flag  7: Internal Mechanical Bypass
      Flag  8: Loss Of Parallel Redundancy
      
      Flag  9: Parallel Bus Communication Fault on Cable 1
      Flag 10: Parallel Bus Communication Fault on Cable 2
      Flag 11: Auxiliary Bus Communication Fault
      Flag 12: Parallel Bus Termination Fault on Cable 1
      
      Flag 13: Parallel Bus Termination Fault on Cable 2
      Flag 14: Auxiliary Bus Termination Fault
      Flag 15: No Master Present In The Parallel System
      Flag 16: Overload on a Parallel Unit
      
      Flag 17: Parallel Configuration Fault
      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 5 }


-- 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 Phase 2.
               4: threePhasePhaseToNeutral - phase 1 voltage is between
               Phase 1 and Neutral; phase 2 voltage is between Phase 2 
               and Neutral; phase 3 voltage is between Phase 3 and
               Neutral.
               5: threePhasePhaseToPhase - phase 1 voltage is between 
               Phase 1 and Phase 2; phase 2 voltage is between Phase 2
               and Phase 3; phase 3 voltage is between Phase 3 and
               Phase 1."
       ::= { 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 Phase 2.
               4: threePhasePhaseToNeutral - phase 1 voltage is between
               Phase 1 and Neutral; phase 2 voltage is between Phase 2 
               and Neutral; phase 3 voltage is between Phase 3 and
               Neutral.
               5: threePhasePhaseToPhase - phase 1 voltage is between 
               Phase 1 and Phase 2; phase 2 voltage is between Phase 2
               and Phase 3; phase 3 voltage is between Phase 3 and
               Phase 1."
       ::= { 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 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,
      upsDiagSubSysSystemPowerSupplyFirmwareRev           DisplayString,
      upsDiagSubSysSystemPowerSupplyHardwareRev           DisplayString,
      upsDiagSubSysSystemPowerSupplySerialNum             DisplayString,
      upsDiagSubSysSystemPowerSupplyManufactureDate       DisplayString
   }      

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 }
      
upsDiagSubSysSystemPowerSupplyFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the System Power Supply monitor card."
   ::= { upsDiagSubSysSystemPowerSupplyEntry 4 }
      
upsDiagSubSysSystemPowerSupplyHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the System Power Supply monitor card."
   ::= { upsDiagSubSysSystemPowerSupplyEntry 5 }
      
upsDiagSubSysSystemPowerSupplySerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the System Power Supply monitor card."
   ::= { upsDiagSubSysSystemPowerSupplyEntry 6 }
      
upsDiagSubSysSystemPowerSupplyManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of the manufacture for the System Power Supply monitor card."
   ::= { upsDiagSubSysSystemPowerSupplyEntry  7 }

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,
      upsDiagSubSysXRCommunicationCardFirmwareRev           DisplayString,
      upsDiagSubSysXRCommunicationCardSerialNum             DisplayString
     
   }      

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 }

upsDiagSubSysXRCommunicationCardFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the XR Communication card."
   ::= { upsDiagSubSysXRCommunicationCardEntry 4 }
      
upsDiagSubSysXRCommunicationCardSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the XR Communication card."
   ::= { upsDiagSubSysXRCommunicationCardEntry 5 }

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 }
      
upsDiagSubSysInverterTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Inverters attached to the UPS."
   ::= { upsDiagnosticSubsystem 21 }

upsDiagSubSysInverterTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysInverterEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual Inverters."
   ::= { upsDiagnosticSubsystem 22 }

upsDiagSubSysInverterEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysInverterEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of an Inverter."
   INDEX  { upsDiagSubSysInverterIndex}
   ::= { upsDiagSubSysInverterTable 1 }

UpsDiagSubSysInverterEntry ::=
   SEQUENCE {
      upsDiagSubSysInverterFrameIndex            INTEGER,
      upsDiagSubSysInverterIndex                 INTEGER,
      upsDiagSubSysInverterStatus                INTEGER,
      upsDiagSubSysInverterFirmwareRev           DisplayString,
      upsDiagSubSysInverterHardwareRev           DisplayString,
      upsDiagSubSysInverterSerialNum             DisplayString,
      upsDiagSubSysInverterManufactureDate       DisplayString
   }      

upsDiagSubSysInverterFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysInverterEntry 1 }
      
upsDiagSubSysInverterIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of an Inverter."
   ::= { upsDiagSubSysInverterEntry 2 }
      
upsDiagSubSysInverterStatus 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 Inverter.
       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."
   ::= { upsDiagSubSysInverterEntry 3 }
      
upsDiagSubSysInverterFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Inverter monitor."
   ::= { upsDiagSubSysInverterEntry 4 }
      
upsDiagSubSysInverterHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Inverter monitor."
   ::= { upsDiagSubSysInverterEntry 5 }
      
upsDiagSubSysInverterSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Inverter monitor."
   ::= { upsDiagSubSysInverterEntry 6 }
      
upsDiagSubSysInverterManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of manufacture for the Inverter monitor."
   ::= { upsDiagSubSysInverterEntry  7 }

upsDiagSubSysPowerFactorCorrectionTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of Power Factor Correction devices attached to the UPS."
   ::= { upsDiagnosticSubsystem 23 }

upsDiagSubSysPowerFactorCorrectionTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UpsDiagSubSysPowerFactorCorrectionEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for diagnostics of individual PowerFactorCorrections."
   ::= { upsDiagnosticSubsystem 24 }

upsDiagSubSysPowerFactorCorrectionEntry OBJECT-TYPE
   SYNTAX UpsDiagSubSysPowerFactorCorrectionEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The diagnostics of a Power Factor Correction."
   INDEX  { upsDiagSubSysPowerFactorCorrectionIndex}
   ::= { upsDiagSubSysPowerFactorCorrectionTable 1 }

UpsDiagSubSysPowerFactorCorrectionEntry ::=
   SEQUENCE {
      upsDiagSubSysPowerFactorCorrectionFrameIndex            INTEGER,
      upsDiagSubSysPowerFactorCorrectionIndex                 INTEGER,
      upsDiagSubSysPowerFactorCorrectionStatus                INTEGER,
      upsDiagSubSysPowerFactorCorrectionFirmwareRev           DisplayString,
      upsDiagSubSysPowerFactorCorrectionHardwareRev           DisplayString,
      upsDiagSubSysPowerFactorCorrectionSerialNum             DisplayString,
      upsDiagSubSysPowerFactorCorrectionManufactureDate       DisplayString
   }      

upsDiagSubSysPowerFactorCorrectionFrameIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The frame index entry."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry 1 }
      
upsDiagSubSysPowerFactorCorrectionIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index of a Power Factor Correction."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry 2 }
      
upsDiagSubSysPowerFactorCorrectionStatus 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 Factor Correction.
       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."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry 3 }
      
upsDiagSubSysPowerFactorCorrectionFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The firmware revision of the Power Factor Correction monitor."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry 4 }
      
upsDiagSubSysPowerFactorCorrectionHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The hardware revision of the Power Factor Correction monitor."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry 5 }
      
upsDiagSubSysPowerFactorCorrectionSerialNum OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The serial number of the Power Factor Correction monitor."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry 6 }
      
upsDiagSubSysPowerFactorCorrectionManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The date of the manufacture for the Power Factor Correction monitor."
   ::= { upsDiagSubSysPowerFactorCorrectionEntry  7 }

-- 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 inconsistency 
          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 inconsistency 
          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."
   ::= { 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/yyyy 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.
       0 will be returned if the unit has no phase breakers. "

   ::= { 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 } 

rPDUIdentDeviceDisplayOrientation OBJECT-TYPE
   SYNTAX INTEGER       {
      displayNormal            (1),
      displayReverse           (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the intended physical orientation of the Seven-Segment Display.
       
       Normal(1) indicates Normal.
       Reverse(2)indicates Upside-Down."

   ::= { rPDUIdent 14 }


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

      The valid range is between 0V to 440V"

   ::= { rPDUIdent 15 }

rPDUIdentDevicePowerWatts OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Power in Watts."

   ::= { rPDUIdent 16 }

rPDUIdentDevicePowerFactor OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Getting/setting this OID will return/set the 
       Power Factor in thousanths (1000 is power factor of 1).  
       Valid range is from 0 to 1000."   
       
   ::= { rPDUIdent 17 }

rPDUIdentDevicePowerVA OBJECT-TYPE
   SYNTAX INTEGER      
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Power in VA."

   ::= { rPDUIdent 18 }


-- 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.

       0 will be returned if the unit is banked." 
   ::= { 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 a bank of the Rack PDU can provide. It is 
       represented in Amps.
       
       0 will be returned if the device does not have any banks."
       
   ::= { 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.

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

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

   ::= { rPDULoadDevice 6 }

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

LoadDevBankEntry ::=
   SEQUENCE {
      rPDULoadDevBankIndex      INTEGER,
      rPDULoadDevBankNumber     INTEGER,      
      rPDULoadDevBankMaxLoad    INTEGER
   }

rPDULoadDevBankIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the Rack PDU bank entry."
   ::= { rPDULoadDevBankEntry 1 }     

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

rPDULoadDevBankMaxLoad 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."
       
   ::= { rPDULoadDevBankEntry 3 }    

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

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

LoadDevMaxOutletEntry ::=
   SEQUENCE {
      rPDULoadDevOutletIndex    INTEGER,
      rPDULoadDevOutletNumber   INTEGER,      
      rPDULoadDevMaxOutletLoad  INTEGER
   }

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

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

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



-- 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,
      rPDULoadPhaseConfigAlarm                  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 }


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





-- 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 precede 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 precede
       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."
   ::= { 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
       any bank is not present or if it is phase related."
   ::= { 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,
      rPDULoadBankConfigAlarm                    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."

   ::= { 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."

   ::= { 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."

   ::= { rPDULoadBankConfigEntry 4 }

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


-- the rPDUOutletDevice group

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

       Setting this OID to delayedAllOn (5) will turn all outlets on as 
       defined by each outlet's 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.

       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 }

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

-- 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. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size.
       This OID is provided for informational purposes only."
   ::= { 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)
   }     

   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."

    ::= { 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. The maximum string size is device dependent.
       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 7200 - power on up to 7200 seconds 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 7200 - power off up to 7200 seconds 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 }

-- Monitored Outlets table

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


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

OutletConfigMonitoredEntry ::=
   SEQUENCE {
      rPDUOutletConfigMonitoredIndex                    INTEGER,
      rPDUOutletConfigMonitoredName                     DisplayString,
      rPDUOutletConfigMonitoredNumber                   INTEGER,
      rPDUOutletConfigMonitoredLowLoadThreshold         INTEGER,
      rPDUOutletConfigMonitoredNearOverloadThreshold    INTEGER,
      rPDUOutletConfigMonitoredOverloadThreshold        INTEGER      
   } 
   
rPDUOutletConfigMonitoredIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Phase entry."
   ::= { rPDUOutletConfigMonitoredEntry 1 }
   
rPDUOutletConfigMonitoredName    OBJECT-TYPE
   SYNTAX  DisplayString    
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The name of the Monitored Outlet. The maximum string size is device dependent.
       An error will be returned if the set request exceeds the max size."
   ::= { rPDUOutletConfigMonitoredEntry 2 }

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


rPDUOutletConfigMonitoredLowLoadThreshold 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 rPDUOutletConfigMonitoredNearOverloadThreshold OID.
       
       0 will be returned if the unit is not Outlet Monitored Rack PDU."  
   ::= { rPDUOutletConfigMonitoredEntry 4 }

rPDUOutletConfigMonitoredNearOverloadThreshold 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 rPDUOutletConfigMonitoredLowLoadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the rPDUOutletConfigMonitoredOverloadThreshold OID.

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

rPDUOutletConfigMonitoredOverloadThreshold 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 rPDUOutletConfigMonitoredNearOverloadThreshold OID.
       
       Maximum value must be less than or equal to the value 
       returned by the rPDULoadDevMaxOutletLoad OID.

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




-- 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,
      rPDUOutletStatusLoad           Gauge
   }      

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. The maximum string size is device dependent.
       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 }  

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


-- 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 
       rPDULoadBankConfigNearOverloadThreshold OID is exceeded.
              
       Setting this OID to restrictOnOverload (3) will not allow
       outlets on the corresponding bank to turn on if the 
       rPDULoadBankConfigOverloadThreshold OID is exceeded."
   ::= { rPDUOutletBankEntry 2 }

-- the rPDUPowerSupplyDevice group

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

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

       Metered Rack PDUs do not have a redundant powersupply."
         
   ::= { rPDUPowerSupplyDevice 2 }



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

-- the rPDUStatus group  

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


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

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

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


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

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

-- Outlet status table

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


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

OutletEntry ::=
   SEQUENCE {
      rPDUStatusOutletIndex     INTEGER,
      rPDUStatusOutletNumber    INTEGER,
      rPDUStatusOutletState     INTEGER
   } 
   
rPDUStatusOutletIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the RACK PDU Outlet entry."
   ::= { rPDUStatusOutletEntry 1 }
   
rPDUStatusOutletNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Getting this OID will return the Outlet number."
   ::= { rPDUStatusOutletEntry 2 }
    
rPDUStatusOutletState    OBJECT-TYPE
   SYNTAX INTEGER {
      outletLoadNormal                 (1),
      outletLoadLow                    (2),
      outletLoadNearOverload           (3),
      outletLoadOverload               (4)
   }    
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
    "Getting this OID will return the Outlet load state.
    
    outletLoadNormal(1) indicates that the Outlet is 
    operating properly within the rPDUOutletConfigMonitoredLowLoadThreshold 
    and rPDUOutletConfigMonitoredNearOverloadThreshold OID values.
    
    outletLoadLow(2) indicates that the Outlet load has
    dropped below the rPDUOutletConfigMonitoredLowLoadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    outletLoadNearOverload(3) indicates that the Outlet load
    is greater than or equal to the 
    rPDUOutletConfigMonitoredNearOverloadThreshold OID value.
    An SNMP trap will occur when this state is entered or cleared.
    
    outletLoadOverload(4) indicates that the Outlet load is
    greater than or equal to the rPDUOutletConfigMonitoredOverloadThreshold 
    OID value.
    An SNMP trap will occur when this state is entered or cleared."
   ::= { rPDUStatusOutletEntry 3 }  



-- 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 Celsius.
      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 Celsius.
      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 present 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 present 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 Phase 2.
               4: threePhasePhaseToNeutral - phase 1 voltage is between
               Phase 1 and Neutral; phase 2 voltage is between Phase 2 
               and Neutral; phase 3 voltage is between Phase 3 and
               Neutral.
               5: threePhasePhaseToPhase - phase 1 voltage is between 
               Phase 1 and Phase 2; phase 2 voltage is between Phase 2
               and Phase 3; phase 3 voltage is between Phase 3 and
               Phase 1."
       ::= { 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 Phase 2.
               4: threePhasePhaseToNeutral - phase 1 voltage is between
               Phase 1 and Neutral; phase 2 voltage is between Phase 2 
               and Neutral; phase 3 voltage is between Phase 3 and
               Neutral.
               5: threePhasePhaseToPhase - phase 1 voltage is between 
               Phase 1 and Phase 2; phase 2 voltage is between Phase 2
               and Phase 3; phase 3 voltage is between Phase 3 and
               Phase 1."
       ::= { 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,
      emConfigProbeMaxTempThreshold
         INTEGER,
      emConfigProbeMinTempThreshold
         INTEGER,
      emConfigProbeMaxHumidThreshold
         INTEGER,
      emConfigProbeMinHumidThreshold
         INTEGER,
      emConfigProbeMaxTempEnable
         INTEGER,
      emConfigProbeMinTempEnable
         INTEGER,
      emConfigProbeMaxHumidEnable
         INTEGER,
      emConfigProbeMinHumidEnable
         INTEGER,
      emConfigProbeTempHysteresis
         INTEGER,
      emConfigProbeHumidHysteresis
         INTEGER,
      emConfigProbeLocation
         DisplayString
   }

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 }

emConfigProbeMaxTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum temperature alarm threshold for the probe.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { emConfigProbesEntry 12 }

emConfigProbeMinTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum temperature alarm threshold for the probe.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { emConfigProbesEntry 13 }

emConfigProbeMaxHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximun humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { emConfigProbesEntry 14 }

emConfigProbeMinHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { emConfigProbesEntry 15 }

emConfigProbeMaxTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum 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 16 }

emConfigProbeMinTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum 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 17 }

emConfigProbeMaxHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum 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 18 }

emConfigProbeMinHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum 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 19 }

emConfigProbeTempHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of degrees beyond the temperature thresholds
       at which an active temperature alarm will be cleared.
       This configuration setting applies to all temperature
       thresholds.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { emConfigProbesEntry 20 }

emConfigProbeHumidHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of percent RH points beyond the humidity
       thresholds at which an active humidity alarm will be
       cleared. This configuration setting applies to all
       humidity thresholds.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { emConfigProbesEntry 21 }

emConfigProbeLocation OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A string describing the location of the probe."
   ::= { emConfigProbesEntry 22 }

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,
       emConfigContactSeverity
           INTEGER,
       emConfigContactNormalState
           INTEGER,
       emConfigContactLocation
           DisplayString
   }

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 }

emConfigContactSeverity OBJECT-TYPE
   SYNTAX INTEGER {
      critical(1),
      warning(2),
      informational(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The severtity of the alarm that will be triggered when
       the input caontact is activated. The alarms can be
       critical(1), warning(2) or informational(3)."
   ::= { emConfigContactsEntry 4 }

emConfigContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      open(1),
      closed(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The contact state that will be considered normal, i.e.
      will not trigger an alarm. The states are open(1) or 
      closed(2)."
   ::= { emConfigContactsEntry 5 }

emConfigContactLocation OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive label for the contact denoting its
      location or purpose."
   ::= { emConfigContactsEntry 6 }

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,
      emStatusProbeMaxTempViolation
         INTEGER,
      emStatusProbeMinTempViolation
         INTEGER,
      emStatusProbeMaxHumidViolation
         INTEGER,
      emStatusProbeMinHumidViolation
         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 }

emStatusProbeMaxTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      maxTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The max temperature violation status of the probe
       temperature reading. This OID will show a maxTempViolation(2)
       if the current temperature reading shown in the
       'emStatusProbeCurrentTemp' OID is greater than or equal to
       the maximun temperature threshold value, the 
       'emConfigProbeMaxTempThreshold' OID, and the value of the
       'emConfigProbeMaxTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'emConfigProbeMaxTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { emStatusProbesEntry 11 }

emStatusProbeMinTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      minTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum temperature violation status of the probe
       temperature reading. This OID will show a minTempViolation(2)
       if the current temperature reading shown in the
       'emStatusProbeCurrentTemp' OID is less than or equal to
       the minimum temperature threshold value, the 
       'emConfigProbeMinTempThreshold' OID, and the value of the
       'emConfigProbeMinTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'emConfigProbeMinTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { emStatusProbesEntry 12 }

emStatusProbeMaxHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      maxHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum humidity violation status of the probe humidity
       reading. This OID will show a maxTempViolation(2)
       if the current humidity reading shown in the
       'emStatusProbeCurrentHumid' OID is greater than or equal to
       the maximum humidity threshold value, the 
       'emConfigProbeMaxHumidThreshold' OID, and the value of the
       'emConfigProbeMaxHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1).  If the 'emConfigProbeMaxHumidEnable' OID is
       disabled, this OID will show disabled(3)"
   ::= { emStatusProbesEntry 13 }

emStatusProbeMinHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      minHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum humidity violation status of the probe humidity
       reading. This OID will show a minTempViolation(2)
       if the current humidity reading shown in the
       'emStatusProbeCurrentHumid' OID is less than or equal to
       the minimum humidity threshold value, the 
       'emConfigProbeMinHumidThreshold' OID, and the value of the
       'emConfigProbeMinHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1). If the 'emConfigProbeMinHumidEnable' OID is
       disabled, this OID will show disabled(3)."
   ::= { emStatusProbesEntry 14 }

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 }

-- Modular Environmental Manager (MEM)

-- MEM Modules Status table

memModulesStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memModulesStatusTable."
   ::= { memModules 1 }
   
memModulesStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemModulesStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting status information from the modules
        attached to the system."
   ::= { memModules 2 }
   
memModulesStatusTableEntry OBJECT-TYPE
   SYNTAX MemModulesStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memModulesStatusModuleNumber }
   ::= { memModulesStatusTable 1 }
 
MemModulesStatusTableEntry ::=
   SEQUENCE {
      memModulesStatusModuleNumber   INTEGER,
      memModulesStatusModuleName     DisplayString,
      memModulesStatusModuleLocation DisplayString,
      memModulesStatusModelNumber    DisplayString,
      memModulesStatusSerialNumber   DisplayString,
      memModulesStatusFirmwareRev    DisplayString,
      memModulesStatusHardwareRev    DisplayString                                 
   }

memModulesStatusModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The module number."
   ::= { memModulesStatusTableEntry 1 }

memModulesStatusModuleName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The module name."
   ::= { memModulesStatusTableEntry 2 }

memModulesStatusModuleLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The location of the module."
   ::= { memModulesStatusTableEntry 3 }

memModulesStatusModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The model number of the module."
   ::= { memModulesStatusTableEntry 4 }

memModulesStatusSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The serial number of the module."
   ::= { memModulesStatusTableEntry 5 }

memModulesStatusFirmwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The firmware revision of the module."
   ::= { memModulesStatusTableEntry 6 }

memModulesStatusHardwareRev OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The hardware revision."
   ::= { memModulesStatusTableEntry 7 }

-- MEM Modules Config table

memModulesConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memModulesConfigTable."
   ::= { memModules 3 }
   
memModulesConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemModulesConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting status information from the modules
        attached to the system."
   ::= { memModules 4 }
   
memModulesConfigTableEntry OBJECT-TYPE
   SYNTAX MemModulesConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memModulesConfigModuleNumber }
   ::= { memModulesConfigTable 1 }
 
MemModulesConfigTableEntry ::=
   SEQUENCE {
      memModulesConfigModuleNumber      INTEGER,
      memModulesConfigModuleName        DisplayString,
      memModulesConfigModuleLocation    DisplayString
   }

memModulesConfigModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The module number."
   ::= { memModulesConfigTableEntry 1 }

memModulesConfigModuleName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The module name."
   ::= { memModulesConfigTableEntry 2 }

memModulesConfigModuleLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the module."
   ::= { memModulesConfigTableEntry 3 }


-- MEM Sensor Status Table

memSensorsStatusSysTempUnits 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."
   ::= { memSensors 1 }

memSensorsStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memSensorsStatusTable."
   ::= { memSensors 2 }
   
memSensorsStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemSensorsStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting sensor status information."
   ::= { memSensors 3 }
   
memSensorsStatusTableEntry OBJECT-TYPE
   SYNTAX MemSensorsStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memSensorsStatusModuleNumber, memSensorsStatusSensorNumber }
   ::= { memSensorsStatusTable 1 }
 
MemSensorsStatusTableEntry ::=
   SEQUENCE {
      memSensorsStatusModuleNumber   INTEGER,
      memSensorsStatusSensorNumber   INTEGER,
      memSensorsStatusSensorName     DisplayString,
      memSensorsStatusSensorLocation DisplayString,
      memSensorsTemperature          INTEGER,
      memSensorsHumidity             INTEGER,
      memSensorsCommStatus           INTEGER,
      memSensorsAlarmStatus          INTEGER
   }

memSensorsStatusModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the sensor is attached to."
   ::= { memSensorsStatusTableEntry 1 }

memSensorsStatusSensorNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this sensor on the module."
   ::= { memSensorsStatusTableEntry 2 }

memSensorsStatusSensorName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The sensor name."
   ::= { memSensorsStatusTableEntry 3 }

memSensorsStatusSensorLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The location of the sensor."
   ::= { memSensorsStatusTableEntry 4 }

memSensorsTemperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The sensor's current temperature reading. 
         Units are displayed in the scale shown in
         the memSensorsStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { memSensorsStatusTableEntry 5 }

memSensorsHumidity OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The current humidity reading from the sensor."
   ::= { memSensorsStatusTableEntry 6 }

memSensorsCommStatus OBJECT-TYPE
   SYNTAX INTEGER {
      notInstalled(1),
      commsOK(2),
      commsLost(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The communications status of the sensor."
   ::= { memSensorsStatusTableEntry 7 }

memSensorsAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER {
      memNormal(1),
      memWarning(2),
      memCritical(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The alarm status of the sensor."
   ::= { memSensorsStatusTableEntry 8 }


-- MEM Sensor Config Table

memSensorsConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memSensorsConfigTable."
   ::= { memSensors 4 }
   
memSensorsConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemSensorsConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting configuration information from 
        sensors attached to the system."
   ::= { memSensors 5 }
   
memSensorsConfigTableEntry OBJECT-TYPE
   SYNTAX MemSensorsConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memSensorsConfigModuleNumber, memSensorsConfigSensorNumber }
   ::= { memSensorsConfigTable 1 }
 
MemSensorsConfigTableEntry ::=
   SEQUENCE {
      memSensorsConfigModuleNumber           INTEGER,
      memSensorsConfigSensorNumber           INTEGER,
      memSensorsName                         DisplayString,
      memSensorsLocation                     DisplayString,
      memSensorsAlarmGeneration              INTEGER,
      memSensorsTempMaxThresh                INTEGER,
      memSensorsTempHighThresh               INTEGER,
      memSensorsTempLowThresh                INTEGER,
      memSensorsTempMinThresh                INTEGER,
      memSensorsTempThreshHysteresis         INTEGER,
      memSensorsTempShortDecRateThreshValue  INTEGER,
      memSensorsTempShortDecRateThreshTime   INTEGER,
      memSensorsTempShortIncRateThreshValue  INTEGER,
      memSensorsTempShortIncRateThreshTime   INTEGER,
      memSensorsTempLongDecRateThreshValue   INTEGER,
      memSensorsTempLongDecRateThreshTime    INTEGER,
      memSensorsTempLongIncRateThreshValue   INTEGER,
      memSensorsTempLongIncRateThreshTime    INTEGER,
      memSensorsHumidityMaxThresh            INTEGER,
      memSensorsHumidityHighThresh           INTEGER,
      memSensorsHumidityLowThresh            INTEGER,
      memSensorsHumidityMinThresh            INTEGER,
      memSensorsHumidityThreshHysteresis     INTEGER
   }

memSensorsConfigModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the sensor is attached to."
   ::= { memSensorsConfigTableEntry 1 }

memSensorsConfigSensorNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this sensor on the module."
   ::= { memSensorsConfigTableEntry 2 }

memSensorsName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "A descriptive name for the sensor."
   ::= { memSensorsConfigTableEntry 3 }
                       
memSensorsLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the sensor."
   ::= { memSensorsConfigTableEntry 4 }

memSensorsAlarmGeneration OBJECT-TYPE
   SYNTAX INTEGER {
      disabled         (1),
      enabled          (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Enable or disable alarm generation on this sensor."
   ::= { memSensorsConfigTableEntry 5 }

memSensorsTempMaxThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which the MEM will generate a maximum
         temperature threshold violation alarm on this sensor.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."

   ::= { memSensorsConfigTableEntry 6 }
              
memSensorsTempHighThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which the MEM will generate a high
         temperature threshold violation alarm on this sensor.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 7 }
             
memSensorsTempLowThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which the MEM will generate a low
         temperature threshold violation alarm on this sensor.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 8 }
              
memSensorsTempMinThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which the MEM will generate a minimum
         temperature threshold violation alarm on this sensor.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 9 }
              
memSensorsTempThreshHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The change in temperature required to cause a
         temperature alarm to change from an active to an inactive state.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
 
   ::= { memSensorsConfigTableEntry 10 }

memSensorsTempShortDecRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature short-term decreasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 11 }

memSensorsTempShortDecRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not decrease
         beyond the value specified by the temperature short-term
         decreasing rate threshold value."
   ::= { memSensorsConfigTableEntry 12 }
 
memSensorsTempShortIncRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature short-term increasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 13 }

memSensorsTempShortIncRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not increase
         beyond the value specified by the temperature short-term
         increasing rate threshold value."
   ::= { memSensorsConfigTableEntry 14 }
 
memSensorsTempLongDecRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature long-term decreasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 15 }

memSensorsTempLongDecRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not decrease
         beyond the value specified by the temperature long-term
         decreasing rate threshold value."
   ::= { memSensorsConfigTableEntry 16 }
 
memSensorsTempLongIncRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature long-term increasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the memSensorsStatusSysTempUnits OID."
   ::= { memSensorsConfigTableEntry 17 }

memSensorsTempLongIncRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not increase
         beyond the value specified by the temperature long-term
         increasing rate threshold value."
   ::= { memSensorsConfigTableEntry 18 }
 
memSensorsHumidityMaxThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The humidity at which the maximum humidity threshold alarm
         will be generated."
   ::= { memSensorsConfigTableEntry 19 }
          
memSensorsHumidityHighThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The humidity at which the high humidity threshold alarm
         will be generated."
   ::= { memSensorsConfigTableEntry 20 }
         
memSensorsHumidityLowThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The humidity at which the low humidity threshold alarm
         will be generated."
   ::= { memSensorsConfigTableEntry 21 }
          
memSensorsHumidityMinThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The humidity at which the minimum humidity threshold alarm
         will be generated."
   ::= { memSensorsConfigTableEntry 22 }
          
memSensorsHumidityThreshHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The change in humidity required to cause an active humidity
         alarm to change to the inactive state."
   ::= { memSensorsConfigTableEntry 23 }


-- MEM Input Status Table

memInputsStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memInputsStatusTable."
   ::= { memInputs 1 }
   
memInputsStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemInputsStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting input status information."
   ::= { memInputs 2 }
   
memInputsStatusTableEntry OBJECT-TYPE
   SYNTAX MemInputsStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memInputsStatusModuleNumber, memInputsStatusInputNumber }
   ::= { memInputsStatusTable 1 }
 
MemInputsStatusTableEntry ::=
   SEQUENCE {
      memInputsStatusModuleNumber           INTEGER,
      memInputsStatusInputNumber            INTEGER,
      memInputsStatusInputName              DisplayString,
      memInputsStatusInputLocation          DisplayString,
      memInputsStatusCurrentState           INTEGER,
      memInputsStatusCurrentAnalogValue     DisplayString,
      memInputsStatusAlarmStatus            INTEGER
   }

memInputsStatusModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the input is attached to."
   ::= { memInputsStatusTableEntry 1 }

memInputsStatusInputNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this input on the module."
   ::= { memInputsStatusTableEntry 2 }

memInputsStatusInputName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The input name."
   ::= { memInputsStatusTableEntry 3 }

memInputsStatusInputLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The location of the input."
   ::= { memInputsStatusTableEntry 4 }

memInputsStatusCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      inputClosedHighMEM      (1),
      inputOpenLowMEM         (2),
      inputDisabled           (3),
      inputStateNotApplicable (4)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The current state of the input. This OID will return 
         inputStateNotAplicable(4) for analog input types. "
   ::= { memInputsStatusTableEntry 5 }

memInputsStatusCurrentAnalogValue OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The current analog value of the input in the units defined
         by the user."
   ::= { memInputsStatusTableEntry 6 }

memInputsStatusAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER {
      memNormal(1),
      memWarning(2),
      memCritical(3)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The alarm status of the input."
   ::= { memInputsStatusTableEntry 7 }


-- MEM Input Config Table

memInputsConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memInputsConfigTable."
   ::= { memInputs 3 }
   
memInputsConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemInputsConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting input configuration information."
   ::= { memInputs 4 }
   
memInputsConfigTableEntry OBJECT-TYPE
   SYNTAX MemInputsConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memInputsConfigModuleNumber, memInputsConfigInputNumber }
   ::= { memInputsConfigTable 1 }
 
MemInputsConfigTableEntry ::=
   SEQUENCE {
      memInputsConfigModuleNumber           INTEGER,
      memInputsConfigInputNumber            INTEGER,
      memInputName                          DisplayString,
      memInputLocation                      DisplayString,
      memInputType                          INTEGER,
      memInputAlarmGeneration               INTEGER,
      memInputNormalState                   INTEGER,
      memInputAbnormalSeverity              INTEGER,
      memInputNumberCalibrationPoints       INTEGER,
      memInputAnalogCalibrationPoint1       DisplayString,
      memInputAnalogCalibrationPoint2       DisplayString,
      memInputAnalogCalibrationPoint3       DisplayString,
      memInputAnalogCalibrationPoint4       DisplayString,
      memInputAnalogCalibrationPoint5       DisplayString,
      memInputAnalogCalibrationPoint1Value  DisplayString,
      memInputAnalogCalibrationPoint2Value  DisplayString,
      memInputAnalogCalibrationPoint3Value  DisplayString,
      memInputAnalogCalibrationPoint4Value  DisplayString,
      memInputAnalogCalibrationPoint5Value  DisplayString,
      memInputAnalogMeasurementUnits        DisplayString,
      memInputAnalogMaxThresh               DisplayString,
      memInputAnalogHighThresh              DisplayString,
      memInputAnalogLowThresh               DisplayString,
      memInputAnalogMinThresh               DisplayString,
      memInputAnalogThreshHysteresis        DisplayString
   }

memInputsConfigModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the input is attached to."
   ::= { memInputsConfigTableEntry 1 }

memInputsConfigInputNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this input on the module."
   ::= { memInputsConfigTableEntry 2 }

memInputName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The name of the input."
   ::= { memInputsConfigTableEntry 3 }

memInputLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the input."
   ::= { memInputsConfigTableEntry 4 }

memInputType OBJECT-TYPE
   SYNTAX INTEGER {
      noConnection          (1),
      dryContact            (2),
      digital               (3),
      analogmAmps           (4),
      analogVolts           (5)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The type of input this contact will take."
   ::= { memInputsConfigTableEntry 5 }

memInputAlarmGeneration OBJECT-TYPE
   SYNTAX INTEGER {
      disabled         (1),
      enabled          (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Enable or disable alarm generation on this input."
   ::= { memInputsConfigTableEntry 6 }

memInputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      inputClosedHighMEM      (1),
      inputOpenLowMEM         (2),
      inputDisabled           (3),
      inputStateNotApplicable (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Defines the normal (no alarm) state of the input."
   ::= { memInputsConfigTableEntry 7 }

memInputAbnormalSeverity OBJECT-TYPE
   SYNTAX INTEGER {
      inputSeverityinformational (1),
      inputSeveritywarning       (2),
      inputSeveritysevere        (3),
      inputSeverityNotApplicable (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Defines the severity of the event that is associated
         with the abnormal state of the input.  This OID will return 
         inputSeverityNotApplicable(4) for analog input types. "
   ::= { memInputsConfigTableEntry 8 }

memInputNumberCalibrationPoints OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The number of calibration points that are required for
         this input."
   ::= { memInputsConfigTableEntry 9 }
    
memInputAnalogCalibrationPoint1 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The electrical value that the input sensor will measure at the
         first calibration point.  
         This OID is relevant only for inputs configured as analog type (ma or V)."
   ::= { memInputsConfigTableEntry 10 }
         
memInputAnalogCalibrationPoint2 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The electrical value that the input sensor will measure at the
         second calibration point.  
         This OID is relevant only for inputs configured as analog type (ma or V)."
   ::= { memInputsConfigTableEntry 11 }
         
memInputAnalogCalibrationPoint3 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The electrical value that the input sensor will measure at the
         third calibration point.  
         This OID is relevant only for inputs configured as analog type (ma or V)."
   ::= { memInputsConfigTableEntry 12 }
         
memInputAnalogCalibrationPoint4 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The electrical value that the input sensor will measure at the
         fourth calibration point.  
         This OID is relevant only for inputs configured as analog type (ma or V)."
   ::= { memInputsConfigTableEntry 13 }
         
memInputAnalogCalibrationPoint5 OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The electrical value that the input sensor will measure at the
         fifth calibration point.  
         This OID is relevant only for inputs configured as analog type (ma or V)."
   ::= { memInputsConfigTableEntry 14 }
         
memInputAnalogCalibrationPoint1Value OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the input, in units of measure defined by
         the user, that corresponds to the current setting at the
         first calibration point."
   ::= { memInputsConfigTableEntry 15 }

memInputAnalogCalibrationPoint2Value OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the input, in units of measure defined by
         the user, that corresponds to the current setting at the
         second calibration point."
   ::= { memInputsConfigTableEntry 16 }

memInputAnalogCalibrationPoint3Value OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the input, in units of measure defined by
         the user, that corresponds to the current setting at the
         third calibration point."
   ::= { memInputsConfigTableEntry 17 }

memInputAnalogCalibrationPoint4Value OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the input, in units of measure defined by
         the user, that corresponds to the current setting at the
         fourth calibration point."
   ::= { memInputsConfigTableEntry 18 }

memInputAnalogCalibrationPoint5Value OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the input, in units of measure defined by
         the user, that corresponds to the current setting at the
         fifth calibration point."
   ::= { memInputsConfigTableEntry 19 }

memInputAnalogMeasurementUnits OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The units of measure to be used for this input."
   ::= { memInputsConfigTableEntry 20 }
     
memInputAnalogMaxThresh OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The input value at which a maximum threshold violation
         alarm will be generated on this input."
   ::= { memInputsConfigTableEntry 21 }
            
memInputAnalogHighThresh OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The input value at which a high threshold violation
         alarm will be generated on this input."
   ::= { memInputsConfigTableEntry 22 }
            
memInputAnalogLowThresh OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The input value at which a low threshold violation
         alarm will be generated on this input."
   ::= { memInputsConfigTableEntry 23 }
            
memInputAnalogMinThresh OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The input value at which a minimum threshold violation
         alarm will be generated on this input."
   ::= { memInputsConfigTableEntry 24 }
            
   
memInputAnalogThreshHysteresis OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The change in value required to cause an alarm on this input
         to change from active to inactive."
   ::= { memInputsConfigTableEntry 25 }
          

-- MEM Output Status Table

memOutputStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memOutputStatusTable."
   ::= { memOutputs 1 }
   
memOutputStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemOutputStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting output status information."
   ::= { memOutputs 2 }
   
memOutputStatusTableEntry OBJECT-TYPE
   SYNTAX MemOutputStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memOutputStatusModuleNumber, memOutputStatusOutputNumber }
   ::= { memOutputStatusTable 1 }
 
MemOutputStatusTableEntry ::=
   SEQUENCE {
      memOutputStatusModuleNumber           INTEGER,
      memOutputStatusOutputNumber           INTEGER,
      memOutputStatusOutputName             DisplayString,
      memOutputStatusOutputLocation         DisplayString,
      memOutputStatusCurrentState           INTEGER
   }

memOutputStatusModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the output is attached to."
   ::= { memOutputStatusTableEntry 1 }

memOutputStatusOutputNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this output on the module."
   ::= { memOutputStatusTableEntry 2 }

memOutputStatusOutputName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The output name."
   ::= { memOutputStatusTableEntry 3 }

memOutputStatusOutputLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The location of the output."
   ::= { memOutputStatusTableEntry 4 }

memOutputStatusCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      memOutputClosed (1),
      memOutputOpen   (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The state of the output."
   ::= { memOutputStatusTableEntry 5 }


-- MEM Output Config Table

memOutputConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memOutputConfigTable."
   ::= { memOutputs 3 }
   
memOutputConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemOutputConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting output configuration information."
   ::= { memOutputs 4 }
   
memOutputConfigTableEntry OBJECT-TYPE
   SYNTAX MemOutputConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memOutputConfigModuleNumber, memOutputConfigOutputNumber }
   ::= { memOutputConfigTable 1 }
 
MemOutputConfigTableEntry ::=
   SEQUENCE {
      memOutputConfigModuleNumber           INTEGER,
      memOutputConfigOutputNumber           INTEGER,
      memOutputName                         DisplayString,
      memOutputLocation                     DisplayString,
      memOutputNormalState                  INTEGER,
      memOutputAction                       INTEGER
   }

memOutputConfigModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the output is attached to."
   ::= { memOutputConfigTableEntry 1 }

memOutputConfigOutputNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this output on the module."
   ::= { memOutputConfigTableEntry 2 }

memOutputName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The name of the output."
   ::= { memOutputConfigTableEntry 3 }

memOutputLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the output."
   ::= { memOutputConfigTableEntry 4 }

memOutputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      memOutputClosed (1),
      memOutputOpen   (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The state of the output that will not generate an alarm."
   ::= { memOutputConfigTableEntry 5 }

memOutputAction OBJECT-TYPE
   SYNTAX INTEGER {
       memActionClose (1),
       memActionOpen  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Manual control actions for the output. SNMP get command will return the state
         of the output, SNMP set of this OID controls the output."
   ::= { memOutputConfigTableEntry 6 }


-- MEM Outlet Status Table

memOutletStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memOutletStatusTable."
   ::= { memOutlets 1 }
   
memOutletStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemOutletStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting outlet status information."
   ::= { memOutlets 2 }
   
memOutletStatusTableEntry OBJECT-TYPE
   SYNTAX MemOutletStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memOutletStatusModuleNumber, memOutletStatusOutletNumber }
   ::= { memOutletStatusTable 1 }
 
MemOutletStatusTableEntry ::=
   SEQUENCE {
      memOutletStatusModuleNumber           INTEGER,
      memOutletStatusOutletNumber           INTEGER,
      memOutletStatusOutletName             DisplayString,
      memOutletStatusOutletLocation         DisplayString,
      memOutletStatusCurrentState           INTEGER
   }

memOutletStatusModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the outlet is attached to."
   ::= { memOutletStatusTableEntry 1 }

memOutletStatusOutletNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this outlet on the module."
   ::= { memOutletStatusTableEntry 2 }

memOutletStatusOutletName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The outlet name."
   ::= { memOutletStatusTableEntry 3 }

memOutletStatusOutletLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The location of the outlet."
   ::= { memOutletStatusTableEntry 4 }

memOutletStatusCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      off          (1),
      on           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The state of the outlet."
   ::= { memOutletStatusTableEntry 5 }


-- MEM Outlet Config Table

memOutletConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memOutletConfigTable."
   ::= { memOutlets 3 }
   
memOutletConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemOutletConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting outlet configuration information."
   ::= { memOutlets 4 }
   
memOutletConfigTableEntry OBJECT-TYPE
   SYNTAX MemOutletConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memOutletConfigModuleNumber, memOutletConfigOutletNumber }
   ::= { memOutletConfigTable 1 }
 
MemOutletConfigTableEntry ::=
   SEQUENCE {
      memOutletConfigModuleNumber           INTEGER,
      memOutletConfigOutletNumber           INTEGER,
      memOutletName                         DisplayString,
      memOutletLocation                     DisplayString,
      memOutletNormalState                  INTEGER,
      memOutletAction                       INTEGER
   }

memOutletConfigModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the Outlet is attached to."
   ::= { memOutletConfigTableEntry 1 }

memOutletConfigOutletNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this Outlet on the module."
   ::= { memOutletConfigTableEntry 2 }

memOutletName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The name of the Outlet."
   ::= { memOutletConfigTableEntry 3 }

memOutletLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the Outlet."
   ::= { memOutletConfigTableEntry 4 }

memOutletNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      off      (1),
      on       (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The state of the Outlet that will not generate an alarm."
   ::= { memOutletConfigTableEntry 5 }

memOutletAction OBJECT-TYPE
   SYNTAX INTEGER {
       turnOff      (1),
       turnOn       (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Manual control actions for the Outlet.  Get displays state
         of outlet, set controls outlet."
   ::= { memOutletConfigTableEntry 6 }


-- MEM Beacon Status Table

memBeaconStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memBeaconStatusTable."
   ::= { memBeacons 1 }
   
memBeaconStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemBeaconStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting beacon status information."
   ::= { memBeacons 2 }
   
memBeaconStatusTableEntry OBJECT-TYPE
   SYNTAX MemBeaconStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memBeaconStatusModuleNumber, memBeaconStatusBeaconNumber }
   ::= { memBeaconStatusTable 1 }
 
MemBeaconStatusTableEntry ::=
   SEQUENCE {
      memBeaconStatusModuleNumber           INTEGER,
      memBeaconStatusBeaconNumber           INTEGER,
      memBeaconStatusBeaconName             DisplayString,
      memBeaconStatusBeaconLocation         DisplayString,
      memBeaconStatusCurrentState           INTEGER
   }

memBeaconStatusModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the beacon is attached to."
   ::= { memBeaconStatusTableEntry 1 }

memBeaconStatusBeaconNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this beacon on the module."
   ::= { memBeaconStatusTableEntry 2 }

memBeaconStatusBeaconName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The beacon name."
   ::= { memBeaconStatusTableEntry 3 }

memBeaconStatusBeaconLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The location of the beacon."
   ::= { memBeaconStatusTableEntry 4 }

memBeaconStatusCurrentState OBJECT-TYPE
   SYNTAX INTEGER {
      off          (1),
      on           (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The state of the beacon."
   ::= { memBeaconStatusTableEntry 5 }


-- MEM Beacon Config Table

memBeaconConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the memBeaconConfigTable."
   ::= { memBeacons 3 }
   
memBeaconConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MemBeaconConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting beacon configuration information."
   ::= { memBeacons 4 }
   
memBeaconConfigTableEntry OBJECT-TYPE
   SYNTAX MemBeaconConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { memBeaconConfigModuleNumber, memBeaconConfigBeaconNumber }
   ::= { memBeaconConfigTable 1 }
 
MemBeaconConfigTableEntry ::=
   SEQUENCE {
      memBeaconConfigModuleNumber           INTEGER,
      memBeaconConfigBeaconNumber           INTEGER,
      memBeaconConfigName                   DisplayString,
      memBeaconConfigLocation               DisplayString,
      memBeaconAction                       INTEGER
   }

memBeaconConfigModuleNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the module that the beacon is attached to."
   ::= { memBeaconConfigTableEntry 1 }

memBeaconConfigBeaconNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of this beacon on the module."
   ::= { memBeaconConfigTableEntry 2 }

memBeaconConfigName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The name of the beacon."
   ::= { memBeaconConfigTableEntry 3 }

memBeaconConfigLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the beacon."
   ::= { memBeaconConfigTableEntry 4 }

memBeaconAction OBJECT-TYPE
   SYNTAX INTEGER {
      turnOff       (1),
      turnOn        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "Control action (on/off) for the beacon. Setting this OID will turn the
         beacon on/off.  Getting this OID will respond with the current state."
   ::= { memBeaconConfigTableEntry 5 }


-- 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,
      iemConfigProbeMaxTempThreshold
         INTEGER,
      iemConfigProbeMinTempThreshold
         INTEGER,
      iemConfigProbeMaxHumidThreshold
         INTEGER,
      iemConfigProbeMinHumidThreshold
         INTEGER,
      iemConfigProbeMaxTempEnable
         INTEGER,
      iemConfigProbeMinTempEnable
         INTEGER,
      iemConfigProbeMaxHumidEnable
         INTEGER,
      iemConfigProbeMinHumidEnable
         INTEGER,
      iemConfigProbeTempHysteresis
         INTEGER,
      iemConfigProbeHumidHysteresis
         INTEGER,
      iemConfigProbeLocation
         DisplayString
   }

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 }

iemConfigProbeMaxTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximun temperature alarm threshold for the probe.
       Units are displayed in the scale selected in the
       'iemConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { iemConfigProbesEntry 12 }

iemConfigProbeMinTempThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimun temperature alarm threshold for the probe.
       Units are displayed in the scale selected in the
       'iemConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { iemConfigProbesEntry 13 }

iemConfigProbeMaxHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { iemConfigProbesEntry 14 }

iemConfigProbeMinHumidThreshold OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum humidity alarm threshold for the probe in
      percent relative humidity."
   ::= { iemConfigProbesEntry 15 }

iemConfigProbeMaxTempEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum 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 16 }

iemConfigProbeMinTempEnable 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 17 }

iemConfigProbeMaxHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The maximum 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 18 }

iemConfigProbeMinHumidEnable OBJECT-TYPE
   SYNTAX INTEGER {
      disabled(1),
      enabled(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The minimum 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 19 }

iemConfigProbeTempHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of degrees beyond the temperature thresholds
       at which an active temperature alarm will be cleared.
       This configuration setting applies to all temperature
       thresholds.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { iemConfigProbesEntry 20 }

iemConfigProbeHumidHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of percent RH points beyond the humidity
       thresholds at which an active humidity alarm will be
       cleared. This configuration setting applies to all
       humidity thresholds.
       Units are displayed in the scale selected in
       the 'emConfigProbeTempUnits' OID (Celsius or Fahrenheit)."
   ::= { iemConfigProbesEntry 21 }

iemConfigProbeLocation OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A string describing the location of the probe."
   ::= { iemConfigProbesEntry 22 }

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,
       iemConfigContactSeverity
           INTEGER,
       iemConfigContactNormalState
           INTEGER,
       iemConfigContactLocation
           DisplayString
   }

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 }

iemConfigContactSeverity OBJECT-TYPE
   SYNTAX INTEGER {
      critical(1),
      warning(2),
      informational(3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The severtity of the alarm that will be triggered when
       the input contact is activated. The alarms can be
       critical(1), warning(2) or informational(3).
       NOTE: informational(3) is deprecated (and no longer valid) for this OID."
   ::= { iemConfigContactsEntry 4 }

iemConfigContactNormalState OBJECT-TYPE
   SYNTAX INTEGER {
      open(1),
      closed(2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The contact state that will be considered normal, i.e.
      will not trigger an alarm. The states are open(1) or 
      closed(2)."
   ::= { iemConfigContactsEntry 5 }

iemConfigContactLocation OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A descriptive label for the contact denoting its
      location or purpose."
   ::= { iemConfigContactsEntry 6 }


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,
      iemStatusProbeMaxTempViolation
         INTEGER,
      iemStatusProbeMinTempViolation
         INTEGER,
      iemStatusProbeMaxHumidViolation
         INTEGER,
      iemStatusProbeMinHumidViolation
         INTEGER,
      iemStatusProbeLocation
         DisplayString
   }

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."
   ::= { 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 }

iemStatusProbeMaxTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      maxTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The max temperature violation status of the probe
       temperature reading. This OID will show a maxTempViolation(2)
       if the current temperature reading shown in the
       'iemStatusProbeCurrentTemp' OID is greater than or equal to
       the maximun temperature threshold value, the 
       'iemConfigProbeMaxTempThreshold' OID, and the value of the
       'iemConfigProbeMaxTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'iemConfigProbeMaxTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 11 }

iemStatusProbeMinTempViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      minTempViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum temperature violation status of the probe
       temperature reading. This OID will show a minTempViolation(2)
       if the current temperature reading shown in the
       'iemStatusProbeCurrentTemp' OID is less than or equal to
       the minimum temperature threshold value, the 
       'iemConfigProbeMinTempThreshold' OID, and the value of the
       'iemConfigProbeMinTempEnable' OID is enabled. Otherwise it will show
       noViolation(1). If the 'iemConfigProbeMinTempEnable' OID is disabled,
       this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 12 }

iemStatusProbeMaxHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      maxHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum humidity violation status of the probe humidity
       reading. This OID will show a maxTempViolation(2)
       if the current humidity reading shown in the
       'iemStatusProbeCurrentHumid' OID is greater than or equal to
       the maximum humidity threshold value, the 
       'iemConfigProbeMaxHumidThreshold' OID, and the value of the
       'iemConfigProbeMaxHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1).  If the 'iemConfigProbeMaxHumidEnable' OID is
       disabled, this OID will show disabled(3)"
   ::= { iemStatusProbesEntry 13 }

iemStatusProbeMinHumidViolation OBJECT-TYPE
   SYNTAX INTEGER {
      noViolation(1),
      minHumidViolation(2),
      disabled(3)
   } 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The minimum humidity violation status of the probe humidity
       reading. This OID will show a minTempViolation(2)
       if the current humidity reading shown in the
       'iemStatusProbeCurrentHumid' OID is less than or equal to
       the minimum humidity threshold value, the 
       'iemConfigProbeMinHumidThreshold' OID, and the value of the
       'iemConfigProbeMinHumidEnable' OID is enabled. Otherwise it will
       show noViolation(1). If the 'iemConfigProbeMinHumidEnable' OID is
       disabled, this OID will show disabled(3)."
   ::= { iemStatusProbesEntry 14 }

iemStatusProbeLocation OBJECT-TYPE
   SYNTAX DisplayString 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A descriptive location for the probe set by the user."
   ::= { iemStatusProbesEntry 15 }

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-write
   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 in tenths of percent RH.
       "
   ::= { 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 in tenths of percent RH.
       "
   ::= { 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 in tenths of percent RH. 
       "
   ::= { 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 in tenths of percent RH.
       "
   ::= { 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 in tenths of percent RH.
       "
   ::= { airFMStatusModuleEntry 8 }
   
-- airFM AIR CONDITIONER GROUP DATA

airFMGroupSysStatus OBJECT-TYPE
   SYNTAX INTEGER {
        statusOnLine    (1),
        statusIdle      (2),
        statusLoadShare (3),
        statusOffLine   (4),
        statusFailed    (5),
        statusDisabled  (6),
        statusUndefined (7)
   }
   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 }

--  air InRow Air Conditioners
--  airIR AIR CONDITIONER Alarm Status - shared across all IR products

airIRAlarmConditionsTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The number of active alarm conditions in the airIRAlarmConditionTable."
   ::= { airIRAlarms 1 }

airIRAlarmConditionsTable    OBJECT-TYPE
   SYNTAX SEQUENCE  OF  AirIRAlarmConditionsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Table of active alarm conditions for the device."
   ::= { airIRAlarms 2 }

airIRAlarmConditionsEntry    OBJECT-TYPE
   SYNTAX AirIRAlarmConditionsEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION  "Alarm condition specification"
   INDEX {  airIRAlarmConditionsIndex  }
   ::=  { airIRAlarmConditionsTable 1 }

AirIRAlarmConditionsEntry  ::=  SEQUENCE {
        airIRAlarmConditionsIndex   INTEGER,
        airIREventCode              INTEGER,
        airIRAlarmDescription       DisplayString
        }

airIRAlarmConditionsIndex OBJECT-TYPE    
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Alarm condition index."
   ::=  {  airIRAlarmConditionsEntry 1  }

airIREventCode OBJECT-TYPE    
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Code for the alarm."
   ::=  {  airIRAlarmConditionsEntry 2  }

airIRAlarmDescription OBJECT-TYPE    
   SYNTAX DisplayString (SIZE (0..64))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION "Description of the alarm."
   ::=  {  airIRAlarmConditionsEntry 3  }
   
--  airIRRC AIR CONDITIONER Group Status

airIRRCGroupStatusCoolOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group coolant output in tenths of kW."
   ::= { airIRRCGroupStatus 1 }
   
airIRRCGroupStatusCoolDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group coolant demand in tenths of kW."
   ::= { airIRRCGroupStatus 2 }
   
airIRRCGroupStatusAirFlowUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group air flow in cubic feet per minute."
   ::= { airIRRCGroupStatus 3 }
   
airIRRCGroupStatusAirFlowMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group air flow in liters per second."
   ::= { airIRRCGroupStatus 4 }
   
airIRRCGroupStatusMaxRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group maximum rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRCGroupStatus 5 }
   
airIRRCGroupStatusMaxRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group maximum rack inlet temperature in tenths of 
      degrees Celsius."
   ::= { airIRRCGroupStatus 6 }
   
airIRRCGroupStatusMinRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group minimum rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRCGroupStatus 7 }
   
airIRRCGroupStatusMinRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group minimum rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRRCGroupStatus 8 }
   


--  airIRRC AIR CONDITIONER Group Setpoints

airIRRCGroupSetpointsCoolUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group cooling setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRCGroupSetpoints 1 }

airIRRCGroupSetpointsCoolMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group cooling setpoint in tenths of
      degrees Celsius."
   ::= { airIRRCGroupSetpoints 2 }

airIRRCGroupSetpointsSupplyAirUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRCGroupSetpoints 3 }

airIRRCGroupSetpointsSupplyAirMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Celsius."
   ::= { airIRRCGroupSetpoints 4 }

airIRRCGroupSetpointsFanSpeedPreference OBJECT-TYPE
   SYNTAX INTEGER   {
      low           (1),
      med-low       (2),
      med           (3),
      med-high      (4),
      high          (5)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The preferred fan speed setting."
   ::= { airIRRCGroupSetpoints 5 }


--  airIRRC AIR CONDITIONER Group Config

airIRRCGroupConfigNumberofCoolingUnits OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of cooling units present in the group."
   ::= { airIRRCGroupConfig 1 }

airIRRCGroupConfigConfigurationType OBJECT-TYPE
   SYNTAX INTEGER   {
      racs          (1),
      hacs          (2),
      in-row        (3)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The group configuration type."
   ::= { airIRRCGroupConfig 2 }

airIRRCGroupConfigPctGlycol OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The glycol mixture in percent."
   ::= { airIRRCGroupConfig 3 }

airIRRCGroupConfigCoolGainP OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The gain component of the PID in hundredths."
   ::= { airIRRCGroupConfig 4 }

airIRRCGroupConfigCoolResetRateI OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The integral component of the PID in hundredths."
   ::= { airIRRCGroupConfig 5 }

airIRRCGroupConfigCoolDerivativeD OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The derivative component of the PID in hundredths."
   ::= { airIRRCGroupConfig 6 }


--  airIRRC AIR CONDITIONER UNIT Status

airIRRCUnitStatusOperateMode OBJECT-TYPE
   SYNTAX INTEGER  {
   standby         (1),
   on              (2),
   idle            (3)  
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The cooling unit operating mode."
   ::= { airIRRCUnitStatus 1 }

airIRRCUnitStatusCoolOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling output in tenths of kW."
   ::= { airIRRCUnitStatus 2 }

airIRRCUnitStatusCoolDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling demand in tenths of kW."
   ::= { airIRRCUnitStatus 3 }

airIRRCUnitStatusAirFlowUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in cubic feet per minute."
   ::= { airIRRCUnitStatus 4 }

airIRRCUnitStatusAirFlowMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in hundredths of 
      liters per second."
   ::= { airIRRCUnitStatus 5 }

airIRRCUnitStatusRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRCUnitStatus 6 }

airIRRCUnitStatusRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRRCUnitStatus 7 }

airIRRCUnitStatusSupplyAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRCUnitStatus 8 }

airIRRCUnitStatusSupplyAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Celsius."
   ::= { airIRRCUnitStatus 9 }

airIRRCUnitStatusReturnAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRCUnitStatus 10 }

airIRRCUnitStatusReturnAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Celsius."
   ::= { airIRRCUnitStatus 11 }

airIRRCUnitStatusContainmtDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in 
      hundredths of inches of water."
   ::= { airIRRCUnitStatus 12 }

airIRRCUnitStatusContainmtDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in Pa."
   ::= { airIRRCUnitStatus 13 }

airIRRCUnitStatusFilterDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in 
      hundredths of inches of water."
   ::= { airIRRCUnitStatus 14 }

airIRRCUnitStatusFilterDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in Pa."
   ::= { airIRRCUnitStatus 15 }

airIRRCUnitStatusFanSpeed OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit average fan speed in tenths of percent."
   ::= { airIRRCUnitStatus 16 }

airIRRCUnitStatusInputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the input contact."
   ::= { airIRRCUnitStatus 17 }

airIRRCUnitStatusOutputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the output relay."
   ::= { airIRRCUnitStatus 18 }

airIRRCUnitStatusActivePowerSource OBJECT-TYPE
   SYNTAX INTEGER {
   sourceA          (1),
   sourceB          (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power source that is powering the unit."
   ::= { airIRRCUnitStatus 19 }

airIRRCUnitStatusFluidValvePosition OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The fluid valve position in percent open."
   ::= { airIRRCUnitStatus 20 }

airIRRCUnitStatusFluidFlowUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The fluid flow in tenths of gallons per minute."
   ::= { airIRRCUnitStatus 21 }

airIRRCUnitStatusFluidFlowMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The fluid flow in hundredths of liters per second."
   ::= { airIRRCUnitStatus 22 }

airIRRCUnitStatusEnteringFluidTemperatureUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the entering fluid in 
       tenths of degrees Fahrenheit."
   ::= { airIRRCUnitStatus 23 }

airIRRCUnitStatusEnteringFluidTemperatureMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the entering fluid in 
      tenths of degrees Celsius."
   ::= { airIRRCUnitStatus 24 }

airIRRCUnitStatusLeavingFluidTemperatureUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the Leaving fluid in 
       tenths of degrees Fahrenheit."
   ::= { airIRRCUnitStatus 25 }

airIRRCUnitStatusLeavingFluidTemperatureMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the Leaving fluid in 
      tenths of degrees Celsius."
   ::= { airIRRCUnitStatus 26 }


--  airIRRC AIR CONDITIONER UNIT Ident

airIRRCUnitIdentID OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The unit identification number."
   ::= { airIRRCUnitIdent 1 }

airIRRCUnitIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit name."
   ::= { airIRRCUnitIdent 2 }

airIRRCUnitIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit location."
   ::= { airIRRCUnitIdent 3 }

airIRRCUnitIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit model number."
   ::= { airIRRCUnitIdent 4 }

airIRRCUnitIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit serial number."
   ::= { airIRRCUnitIdent 5 }

airIRRCUnitIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit firmware version."
   ::= { airIRRCUnitIdent 6 }

airIRRCUnitIdentHardwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit controller hardware revision."
   ::= { airIRRCUnitIdent 7 }

airIRRCUnitIdentManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit manufacture date."
   ::= { airIRRCUnitIdent 8 }


--  airIRRC AIR CONDITIONER UNIT Runhours

airIRRCUnitRunHoursAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit air filter run hours."
   ::= { airIRRCUnitRunHours 1 }

airIRRCUnitRunHoursFan1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 1 run hours."
   ::= { airIRRCUnitRunHours 2 }

airIRRCUnitRunHoursFan2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 2 run hours."
   ::= { airIRRCUnitRunHours 3 }

airIRRCUnitRunHoursFan3 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 3 run hours."
   ::= { airIRRCUnitRunHours 4 }

airIRRCUnitRunHoursFan4 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 4 run hours."
   ::= { airIRRCUnitRunHours 5 }

airIRRCUnitRunHoursFan5 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 5 run hours."
   ::= { airIRRCUnitRunHours 6 }

airIRRCUnitRunHoursFan6 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 6 run hours."
   ::= { airIRRCUnitRunHours 7 }

airIRRCUnitRunHoursFan7 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 7 run hours."
   ::= { airIRRCUnitRunHours 8}

airIRRCUnitRunHoursFan8 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 8 run hours."
   ::= { airIRRCUnitRunHours 9 }

airIRRCUnitRunHoursFanPowerSupplyLeft OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan left power supply run hours."
   ::= { airIRRCUnitRunHours 10 }

airIRRCUnitRunHoursFanPowerSupplyRight OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan right power supply run hours."
   ::= { airIRRCUnitRunHours 11 }

airIRRCUnitRunHoursCondensatePump OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condensate pump run hours."
   ::= { airIRRCUnitRunHours 12 }

--  airIRRC AIR CONDITIONER UNIT Service Intervals

airIRRCUnitServiceIntervalsAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Air filter service interval in weeks."
   ::= { airIRRCUnitServiceIntervals 1 }

airIRRCUnitServiceIntervalsAirFilterAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The air filter service interval alarm enable/disable."
   ::= { airIRRCUnitServiceIntervals 2 }


--  airIRRC AIR CONDITIONER UNIT Thresholds

airIRRCUnitThresholdsRackInletHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRCUnitThresholds 1 }

airIRRCUnitThresholdsRackInletHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRCUnitThresholds 2 }

airIRRCUnitThresholdsSupplyAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRCUnitThresholds 3 }

airIRRCUnitThresholdsSupplyAirHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRCUnitThresholds 4 }

airIRRCUnitThresholdsReturnAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRCUnitThresholds 5 }

airIRRCUnitThresholdsReturnAirHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRCUnitThresholds 6 }

airIRRCUnitThresholdsEnteringFluidHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit entering fluid high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRCUnitThresholds 7 }

airIRRCUnitThresholdsEnteringFluidHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit incoming fluid high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRCUnitThresholds 8 }


--  airIRRC AIR CONDITIONER UNIT Config

airIRRCUnitConfigCoolCapacity OBJECT-TYPE
   SYNTAX INTEGER {
   automatic      (1),
   maximum        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The cooling capacity options setting."
   ::= { airIRRCUnitConfig 1 }

airIRRCUnitConfigStartupDelay OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The startup delay in seconds."
   ::= { airIRRCUnitConfig 2 }

airIRRCUnitConfigIdleOnLeakDetect OBJECT-TYPE
   SYNTAX INTEGER {
   yes            (1),
   no             (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The idle on leak options setting."
   ::= { airIRRCUnitConfig 3 }

airIRRCUnitConfigPowerSource OBJECT-TYPE
   SYNTAX INTEGER {
   sourceA          (1),
   sourceB          (2),
   sourceAandB      (3)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The configured power source of the unit."
   ::= { airIRRCUnitConfig 4 }

airIRRCUnitConfigInputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the input contact."
   ::= { airIRRCUnitConfig 5 }

airIRRCUnitConfigOutputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the output relay."
   ::= { airIRRCUnitConfig 6 }

airIRRCUnitConfigOutputSource OBJECT-TYPE
   SYNTAX INTEGER {
   anyAlarm       (1),
   criticalAlarm  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The source of output relay change."
   ::= { airIRRCUnitConfig 7 }


--  airIRRP100 AIR CONDITIONER Group Status

airIRRP100GroupStatusAirFlowUS OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group air flow in cubic feet per minute."
   ::= { airIRRP100GroupStatus 1 }

airIRRP100GroupStatusAirFlowMetric OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group air flow in liters per second."
   ::= { airIRRP100GroupStatus 2 }

airIRRP100GroupStatusMaxRackInletTempUS OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group maximum rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100GroupStatus 3 }

airIRRP100GroupStatusMaxRackInletTempMetric OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group maximum rack inlet temperature in tenths of 
      degrees Celsius."
   ::= { airIRRP100GroupStatus 4 }

airIRRP100GroupStatusMinRackInletTempUS OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group minimum rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100GroupStatus 5 }

airIRRP100GroupStatusMinRackInletTempMetric OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group minimum rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRRP100GroupStatus 6 }

airIRRP100GroupStatusCoolDemand OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group coolant demand in tenths of kiloWatts."
   ::= { airIRRP100GroupStatus 7 }

airIRRP100GroupStatusCoolOutput OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group coolant output in tenths of kiloWatts."
   ::= { airIRRP100GroupStatus 8 }

airIRRP100GroupStatusHumidifyDemand OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of humidification the group is demanding 
       from the humidifiers in percent."
   ::= { airIRRP100GroupStatus 9 }

airIRRP100GroupStatusHumidifyOutput OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual amount of humidification the group is 
       supplying in percent."
   ::= { airIRRP100GroupStatus 10 }

airIRRP100GroupStatusDehumidifyDemand OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of dehumidification the group is demanding 
       from the electric heaters in percent."
   ::= { airIRRP100GroupStatus 11 }

airIRRP100GroupStatusDehumidifyOutput OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual amount of dehumidification the group is 
       supplying in percent."
   ::= { airIRRP100GroupStatus 12 }

airIRRP100GroupStatusReheatDemand OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of heating the group is demanding 
       from the electric heaters in percent."
   ::= { airIRRP100GroupStatus 13 }

airIRRP100GroupStatusReheatOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual amount of heating the group is 
       supplying in percent."
   ::= { airIRRP100GroupStatus 14 }
   


--  airIRRP100 AIR CONDITIONER Group Setpoints

airIRRP100GroupSetpointsCoolUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group cooling setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100GroupSetpoints 1 }

airIRRP100GroupSetpointsCoolMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group cooling setpoint in tenths of
      degrees Celsius."
   ::= { airIRRP100GroupSetpoints 2 }

airIRRP100GroupSetpointsSupplyAirUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100GroupSetpoints 3 }

airIRRP100GroupSetpointsSupplyAirMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Celsius."
   ::= { airIRRP100GroupSetpoints 4 }

airIRRP100GroupSetpointsHumidify OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group humidify setpoint in tenths of
      percent relative humidity."
   ::= { airIRRP100GroupSetpoints 5 }

airIRRP100GroupSetpointsDehumidify OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group dehumidify setpoint in tenths of
      percent relative humidity."
   ::= { airIRRP100GroupSetpoints 6 }

airIRRP100GroupSetpointsDehumidifyDeadband OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group dehumidify deadband in percent relative humidity."
   ::= { airIRRP100GroupSetpoints 7 }

airIRRP100GroupSetpointsReheatUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100GroupSetpoints 8 }

airIRRP100GroupSetpointsReheatMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Celsius."
   ::= { airIRRP100GroupSetpoints 9 }

airIRRP100GroupSetpointsFanSpeedPreference OBJECT-TYPE
   SYNTAX INTEGER   {
      low           (1),
      med-low       (2),
      med           (3),
      med-high      (4),
      high          (5)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The preferred fan speed setting."
   ::= { airIRRP100GroupSetpoints 10 }


--  airIRRP100 AIR CONDITIONER Group Config

airIRRP100GroupConfigNumberofCoolingUnits OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of cooling units present in the group."
   ::= { airIRRP100GroupConfig 1 }

airIRRP100GroupConfigConfigurationType OBJECT-TYPE
   SYNTAX INTEGER   {
      racs          (1),
      hacs          (2),
      in-row        (3)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The group configuration type."
   ::= { airIRRP100GroupConfig 2 }

airIRRP100GroupConfigCoolGainP OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The gain component of the cool PID in hundredths."
   ::= { airIRRP100GroupConfig 3 }

airIRRP100GroupConfigCoolResetRateI OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The integral component of the cool PID in hundredths."
   ::= { airIRRP100GroupConfig 4 }

airIRRP100GroupConfigCoolDerivativeD OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The derivative component of the cool PID in hundredths."
   ::= { airIRRP100GroupConfig 5 }

airIRRP100GroupConfigHumidifySensitivityBand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The percent relative humidity below the setpoint that 
       will cause the humidifier to run at 100% capacity."
   ::= { airIRRP100GroupConfig 6 }

airIRRP100GroupConfigReheatGainP OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The gain component of the reheat PID in hundredths."
   ::= { airIRRP100GroupConfig 7 }

airIRRP100GroupConfigReheatResetRateI OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The integral component of the reheat PID in hundredths."
   ::= { airIRRP100GroupConfig 8 }

airIRRP100GroupConfigReheatDerivativeD OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The derivative component of the reheat PID in hundredths."
   ::= { airIRRP100GroupConfig 9 }


--  airIRRP100 AIR CONDITIONER UNIT Status

airIRRP100UnitStatusOperateMode OBJECT-TYPE
   SYNTAX INTEGER  {
   standby         (1),
   on              (2),
   idle            (3)  
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The cooling unit operating mode."
   ::= { airIRRP100UnitStatus 1 }

airIRRP100UnitStatusRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 2 }

airIRRP100UnitStatusRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRRP100UnitStatus 3 }

airIRRP100UnitStatusSupplyAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 4 }

airIRRP100UnitStatusSupplyAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Celsius."
   ::= { airIRRP100UnitStatus 5 }

airIRRP100UnitStatusReturnAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 6 }

airIRRP100UnitStatusReturnAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Celsius."
   ::= { airIRRP100UnitStatus 7 }

airIRRP100UnitStatusSupplyHumidity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The relative humidity of the supply air in
       tenths of percent."
   ::= { airIRRP100UnitStatus 8 }

airIRRP100UnitStatusReturnHumidity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The relative humidity of the return air in
       tenths of percent."
   ::= { airIRRP100UnitStatus 9 }

airIRRP100UnitStatusAirFlowUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in cubic feet per minute."
   ::= { airIRRP100UnitStatus 10 }

airIRRP100UnitStatusAirFlowMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in hundredths of 
      liters per second."
   ::= { airIRRP100UnitStatus 11 }

airIRRP100UnitStatusFanSpeed OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit average fan speed in tenths of percent."
   ::= { airIRRP100UnitStatus 12 }

airIRRP100UnitStatusCoolDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling demand in tenths of kiloWatts."
   ::= { airIRRP100UnitStatus 13 }

airIRRP100UnitStatusCoolOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling output in tenths of kiloWatts."
   ::= { airIRRP100UnitStatus 14 }

airIRRP100UnitStatusHumidifyDemand OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of humidification the unit is demanding 
       from the humidifier in percent."
   ::= { airIRRP100UnitStatus 15 }

airIRRP100UnitStatusHumidifyOutput OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual humidification output of the unit
       in percent."
   ::= { airIRRP100UnitStatus 16 }

airIRRP100UnitStatusDehumidifyDemand OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of dehumidification the unit is 
       demanding in percent."
   ::= { airIRRP100UnitStatus 17 }

airIRRP100UnitStatusDehumidifyOutput OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual dehumidification output of the unit
       in percent."
   ::= { airIRRP100UnitStatus 18 }

airIRRP100UnitStatusReheatDemand OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of heating the unit is demanding 
       from the electric heater in percent."
   ::= { airIRRP100UnitStatus 19 }

airIRRP100UnitStatusReheatOutput OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual heating output of the unit
       in percent."
   ::= { airIRRP100UnitStatus 20 }

airIRRP100UnitStatusInputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the input contact."
   ::= { airIRRP100UnitStatus 21 }

airIRRP100UnitStatusOutputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the output relay."
   ::= { airIRRP100UnitStatus 22 }

airIRRP100UnitStatusRackInletTemperature1US OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 23 }

airIRRP100UnitStatusRackInletTemperature1Metric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Celsius."
   ::= { airIRRP100UnitStatus 24 }

airIRRP100UnitStatusRackInletTemperature2US OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 25 }

airIRRP100UnitStatusRackInletTemperature2Metric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Celsius."
   ::= { airIRRP100UnitStatus 26 }

airIRRP100UnitStatusRackInletTemperature3US OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 27 }

airIRRP100UnitStatusRackInletTemperature3Metric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Celsius."
   ::= { airIRRP100UnitStatus 28 }

airIRRP100UnitStatusFilterDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in 
      hundredths of inches of water."
   ::= { airIRRP100UnitStatus 29 }

airIRRP100UnitStatusFilterDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in Pa."
   ::= { airIRRP100UnitStatus 30 }

airIRRP100UnitStatusContainmtDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in 
      hundredths of inches of water."
   ::= { airIRRP100UnitStatus 31 }

airIRRP100UnitStatusContainmtDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in Pa."
   ::= { airIRRP100UnitStatus 32 }

airIRRP100UnitStatusHumidifierCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The humidifier current of the unit
       in amperes."
   ::= { airIRRP100UnitStatus 33 }

airIRRP100UnitStatusHumidifierWaterConductivity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The water conductivity in the humidifier of the unit
       in microSiemens/cm."
   ::= { airIRRP100UnitStatus 34 }

airIRRP100UnitStatusCompressorDriveSpeed OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The compressor drive speed in hundredths of Hertz."
   ::= { airIRRP100UnitStatus 35 }

airIRRP100UnitStatusCompressorDrivePower OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The compressor drive power consumption in 
       tenths of kiloWatts."
   ::= { airIRRP100UnitStatus 36 }

airIRRP100UnitStatusCompressorDriveVoltage OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The compressor drive voltage consumption in 
       tenths of volts."
   ::= { airIRRP100UnitStatus 37 }

airIRRP100UnitStatusCompressorDriveCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The compressor drive voltage consumption in 
       tenths of amperes."
   ::= { airIRRP100UnitStatus 38 }

airIRRP100UnitStatusCompressorDriveDCLinkVoltage OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The compressor drive DC link voltage in 
       tenths of volts."
   ::= { airIRRP100UnitStatus 39 }

airIRRP100UnitStatusCompressorDriveHeatSinkTempUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the compressor drive heatsink
       in tenths of degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 40 }

airIRRP100UnitStatusCompressorDriveHeatSinkTempMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the compressor drive heatsink
       in tenths of degrees Celsius."
   ::= { airIRRP100UnitStatus 41 }

airIRRP100UnitStatusCompressorDriveControlCardTempUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the compressor drive control card
       in tenths of degrees Fahrenheit."
   ::= { airIRRP100UnitStatus 42 }

airIRRP100UnitStatusCompressorDriveControlCardTempMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the compressor drive control card
       in tenths of degrees Celsius."
   ::= { airIRRP100UnitStatus 43 }

airIRRP100UnitStatusCompressorDriveWarningStatus OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The four byte warning status of the compressor drive 
       in hexadecimal."
   ::= { airIRRP100UnitStatus 44 }

airIRRP100UnitStatusCompressorDriveAlarmStatus OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The four byte alarm status of the compressor drive 
       in hexadecimal."
   ::= { airIRRP100UnitStatus 45 }

airIRRP100UnitStatusSuctionPressureUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit suction pressure in PSI."
   ::= { airIRRP100UnitStatus 46 }

airIRRP100UnitStatusSuctionPressureMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit suction pressure in kPa."
   ::= { airIRRP100UnitStatus 47 }
   
airIRRP100UnitStatusDischargePressureUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit discharge pressure in PSI."
   ::= { airIRRP100UnitStatus 48 }

airIRRP100UnitStatusDischargePressureMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit discharge pressure in kPa."
   ::= { airIRRP100UnitStatus 49 }


--  airIRRP100 AIR CONDITIONER UNIT Ident

airIRRP100UnitIdentID OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The unit identification number."
   ::= { airIRRP100UnitIdent 1 }

airIRRP100UnitIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit name."
   ::= { airIRRP100UnitIdent 2 }

airIRRP100UnitIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit location."
   ::= { airIRRP100UnitIdent 3 }

airIRRP100UnitIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit model number."
   ::= { airIRRP100UnitIdent 4 }

airIRRP100UnitIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit serial number."
   ::= { airIRRP100UnitIdent 5 }

airIRRP100UnitIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit firmware version."
   ::= { airIRRP100UnitIdent 6 }

airIRRP100UnitIdentHardwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit controller hardware revision."
   ::= { airIRRP100UnitIdent 7 }

airIRRP100UnitIdentManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit manufacture date."
   ::= { airIRRP100UnitIdent 8 }


--  airIRRP100 AIR CONDITIONER UNIT Runhours

airIRRP100UnitRunHoursAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit air filter run hours."
   ::= { airIRRP100UnitRunHours 1 }

airIRRP100UnitRunHoursCondensatePump OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condensate pump run hours."
   ::= { airIRRP100UnitRunHours 2 }

airIRRP100UnitRunHoursHumidifier OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan right power supply run hours."
   ::= { airIRRP100UnitRunHours 3 }

airIRRP100UnitRunHoursFan1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 1 run hours."
   ::= { airIRRP100UnitRunHours 4 }

airIRRP100UnitRunHoursHeater1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit heater 1 run hours."
   ::= { airIRRP100UnitRunHours 5 }

airIRRP100UnitRunHoursFan2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 2 run hours."
   ::= { airIRRP100UnitRunHours 6 }

airIRRP100UnitRunHoursHeater2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit Heater 2 run hours."
   ::= { airIRRP100UnitRunHours 7 }

airIRRP100UnitRunHoursCompressor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit compressor run hours."
   ::= { airIRRP100UnitRunHours 8 }



--  airIRRP100 AIR CONDITIONER UNIT Service Intervals

airIRRP100UnitServiceIntervalAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Air filter service interval in weeks."
   ::= { airIRRP100UnitServiceIntervals 1 }

airIRRP100UnitServiceIntervalAirFilterAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The air filter service interval alarm enable/disable."
   ::= { airIRRP100UnitServiceIntervals 2 }

airIRRP100UnitServiceIntervalHumidifier OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Humidifier service interval in weeks."
   ::= { airIRRP100UnitServiceIntervals 3 }

airIRRP100UnitServiceIntervalHumidifierAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The humidifier service interval alarm enable/disable."
   ::= { airIRRP100UnitServiceIntervals 4 }

airIRRP100UnitServiceIntervalHeater OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Heater service interval in weeks."
   ::= { airIRRP100UnitServiceIntervals 5 }

airIRRP100UnitServiceIntervalHeaterAlarm  OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The heater service interval alarm enable/disable."
   ::= { airIRRP100UnitServiceIntervals 6 }

airIRRP100UnitServiceIntervalCompressor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Compressor service interval in weeks."
   ::= { airIRRP100UnitServiceIntervals 7 }

airIRRP100UnitServiceIntervalCompressorAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The compressor service interval alarm enable/disable."
   ::= { airIRRP100UnitServiceIntervals 8 }

airIRRP100UnitServiceIntervalCondensatePump OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Condensate pump service interval in weeks."
   ::= { airIRRP100UnitServiceIntervals 9 }

airIRRP100UnitServiceIntervalCondensatePumpAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The condensate pump service interval alarm enable/disable."
   ::= { airIRRP100UnitServiceIntervals 10 }

airIRRP100UnitServiceIntervalFans OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Fans service interval in weeks."
   ::= { airIRRP100UnitServiceIntervals 11 }

airIRRP100UnitServiceIntervalFansAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The fans service interval alarm enable/disable."
   ::= { airIRRP100UnitServiceIntervals 12 }



--  airIRRP100 AIR CONDITIONER UNIT Thresholds

airIRRP100UnitThresholdsRackInletHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP100UnitThresholds 1 }

airIRRP100UnitThresholdsRackInletHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP100UnitThresholds 2 }

airIRRP100UnitThresholdsSupplyAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP100UnitThresholds 3 }

airIRRP100UnitThresholdsSupplyAirHighTempMetric OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP100UnitThresholds 4 }

airIRRP100UnitThresholdsReturnAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP100UnitThresholds 5 }

airIRRP100UnitThresholdsReturnAirHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP100UnitThresholds 6 }

airIRRP100UnitThresholdsSupplyHumidityHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply humidity high threshold in 
      tenths of percent relative humidity."
   ::= { airIRRP100UnitThresholds 7 }

airIRRP100UnitThresholdsSupplyHumidityLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply humidity low threshold in 
      tenths of percent relative humidity."
   ::= { airIRRP100UnitThresholds 8 }


--  airIRRP100 AIR CONDITIONER UNIT Config

airIRRP100UnitConfigStartupDelay OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The startup delay in seconds."
   ::= { airIRRP100UnitConfig 1 }

airIRRP100UnitConfigCoolCapacity OBJECT-TYPE
   SYNTAX INTEGER {
   automatic      (1),
   maximum        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The cooling capacity options setting."
   ::= { airIRRP100UnitConfig 2 }

airIRRP100UnitConfigIdleOnLeakDetect OBJECT-TYPE
   SYNTAX INTEGER {
   yes            (1),
   no             (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The idle on leak options setting."
   ::= { airIRRP100UnitConfig 3 }

airIRRP100UnitConfigInputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the input contact."
   ::= { airIRRP100UnitConfig 4 }

airIRRP100UnitConfigOutputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the output relay."
   ::= { airIRRP100UnitConfig 5 }

airIRRP100UnitConfigOutputSource OBJECT-TYPE
   SYNTAX INTEGER {
   anyAlarm       (1),
   criticalAlarm  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The source of output relay change."
   ::= { airIRRP100UnitConfig 6 }

airIRRP100UnitConfigHumidifyEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Enable/disable humidification."
   ::= { airIRRP100UnitConfig 7 }

airIRRP100UnitConfigHumidifierControl OBJECT-TYPE
   SYNTAX INTEGER {
   auto           (1),
   drainOff       (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The humidifier drain control."
   ::= { airIRRP100UnitConfig 8 }

airIRRP100UnitConfigDehumidifyEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Enable/disable dehumidification."
   ::= { airIRRP100UnitConfig 9 }

airIRRP100UnitConfigReheatEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Enable/disable reheat."
   ::= { airIRRP100UnitConfig 10 }

airIRRP100UnitConfigHeatAssistEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Enable/disable heat assist."
   ::= { airIRRP100UnitConfig 11 }


--  airIRRP500 AIR CONDITIONER Group Status

airIRRP500GroupStatusAirFlowUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group air flow in cubic feet per minute."
   ::= { airIRRP500GroupStatus 1 }
   
airIRRP500GroupStatusAirFlowMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group air flow in liters per second."
   ::= { airIRRP500GroupStatus 2 }
   
airIRRP500GroupStatusMaxRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group maximum rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500GroupStatus 3 }
   
airIRRP500GroupStatusMaxRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group maximum rack inlet temperature in tenths of 
      degrees Celsius."
   ::= { airIRRP500GroupStatus 4 }
   
airIRRP500GroupStatusMinRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group minimum rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500GroupStatus 5 }
   
airIRRP500GroupStatusMinRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group minimum rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRRP500GroupStatus 6 }
  
airIRRP500GroupStatusCoolDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group coolant demand in tenths of kiloWatts."
   ::= { airIRRP500GroupStatus 7 }
   
airIRRP500GroupStatusCoolOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Group coolant output in tenths of kiloWatts."
   ::= { airIRRP500GroupStatus 8 }

airIRRP500GroupStatusHumidifyDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of humidification the group is demanding 
       from the humidifiers in percent."
   ::= { airIRRP500GroupStatus 9 }
   
airIRRP500GroupStatusHumidifyOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual amount of humidification the group is 
       supplying in percent."
   ::= { airIRRP500GroupStatus 10 }
   
airIRRP500GroupStatusDehumidifyDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of dehumidification the group is demanding 
       from the electric heaters in percent."
   ::= { airIRRP500GroupStatus 11 }
   
airIRRP500GroupStatusDehumidifyOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual amount of dehumidification the group is 
       supplying in percent."
   ::= { airIRRP500GroupStatus 12 }
   
airIRRP500GroupStatusReheatDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of heating the group is demanding 
       from the electric heaters in percent."
   ::= { airIRRP500GroupStatus 13 }
   
airIRRP500GroupStatusReheatOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual amount of heating the group is 
       supplying in percent."
   ::= { airIRRP500GroupStatus 14 }
     

--  airIRRP500 AIR CONDITIONER Group Setpoints

airIRRP500GroupSetpointsCoolUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group cooling setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500GroupSetpoints 1 }

airIRRP500GroupSetpointsCoolMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group cooling setpoint in tenths of
      degrees Celsius."
   ::= { airIRRP500GroupSetpoints 2 }

airIRRP500GroupSetpointsSupplyAirUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500GroupSetpoints 3 }

airIRRP500GroupSetpointsSupplyAirMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Celsius."
   ::= { airIRRP500GroupSetpoints 4 }

airIRRP500GroupSetpointsHumidify OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group humidify setpoint in tenths of
      percent relative humidity."
   ::= { airIRRP500GroupSetpoints 5 }

airIRRP500GroupSetpointsDehumidify OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group dehumidify setpoint in tenths of
      percent relative humidity."
   ::= { airIRRP500GroupSetpoints 6 }

airIRRP500GroupSetpointsDehumidifyDeadband OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group dehumidify deadband in 
      percent relative humidity."
   ::= { airIRRP500GroupSetpoints 7 }

airIRRP500GroupSetpointsReheatUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500GroupSetpoints 8 }

airIRRP500GroupSetpointsReheatMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Group supply air setpoint in tenths of
      degrees Celsius."
   ::= { airIRRP500GroupSetpoints 9 }

airIRRP500GroupSetpointsFanSpeedPreference OBJECT-TYPE
   SYNTAX INTEGER   {
      low           (1),
      med-low       (2),
      med           (3),
      med-high      (4),
      high          (5)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The preferred fan speed setting."
   ::= { airIRRP500GroupSetpoints 10 }

--  airIRRP500 AIR CONDITIONER Group Config

airIRRP500GroupConfigNumberofCoolingUnits OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The number of cooling units."
   ::= { airIRRP500GroupConfig 1 }

airIRRP500GroupConfigConfigurationType OBJECT-TYPE
   SYNTAX INTEGER   {
      racs          (1),
      hacs          (2),
      in-row        (3)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The group configuration type."
   ::= { airIRRP500GroupConfig 2 }

airIRRP500GroupConfigPercentGlycol OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The glycol mixture in percent."
   ::= { airIRRP500GroupConfig 3 }

airIRRP500GroupConfigCoolGainP OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The gain component of the cool PID in hundredths."
   ::= { airIRRP500GroupConfig 4 }

airIRRP500GroupConfigCoolResetRateI OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The integral component of the cool PID in hundredths."
   ::= { airIRRP500GroupConfig 5 }

airIRRP500GroupConfigCoolDerivativeD OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The derivative component of the cool PID in hundredths."
   ::= { airIRRP500GroupConfig 6 }

airIRRP500GroupConfigHumidifySensitivityBand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The percent relative humidity below the setpoint that
       will cause the humidifier to run at 100% capacity."
   ::= { airIRRP500GroupConfig 7 }

airIRRP500GroupConfigReheatGainP OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The gain component of the reheat PID in hundredths."
   ::= { airIRRP500GroupConfig 8 }

airIRRP500GroupConfigReheatResetRateI OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The integral component of the reheat PID in hundredths."
   ::= { airIRRP500GroupConfig 9 }

airIRRP500GroupConfigReheatDerivativeD OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The derivative component of the reheat PID in hundredths."
   ::= { airIRRP500GroupConfig 10 }


--  airIRRP500 AIR CONDITIONER UNIT Status

airIRRP500UnitStatusOperateMode OBJECT-TYPE
   SYNTAX INTEGER  {
   standby         (1),
   on              (2),
   idle            (3)  
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The cooling unit operating mode."
   ::= { airIRRP500UnitStatus 1 }

airIRRP500UnitStatusMaximumRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum unit rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 2 }
                                                  
airIRRP500UnitStatusMaximumRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The maximum unit rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRRP500UnitStatus 3 }

airIRRP500UnitStatusSupplyAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 4 }

airIRRP500UnitStatusSupplyAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Celsius."
   ::= { airIRRP500UnitStatus 5 }

airIRRP500UnitStatusReturnAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 6 }

airIRRP500UnitStatusReturnAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Celsius."
   ::= { airIRRP500UnitStatus 7 }

airIRRP500UnitStatusSupplyHumidity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The relative humidity of the supply air in
       tenths of percent."
   ::= { airIRRP500UnitStatus 8 }

airIRRP500UnitStatusReturnHumidity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The relative humidity of the return air in
       tenths of percent."
   ::= { airIRRP500UnitStatus 9 }

airIRRP500UnitStatusAirFlowUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in cubic feet per minute."
   ::= { airIRRP500UnitStatus 10 }

airIRRP500UnitStatusAirFlowMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in hundredths of 
      liters per second."
   ::= { airIRRP500UnitStatus 11 }

airIRRP500UnitStatusFanSpeed OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit average fan speed in tenths of percent."
   ::= { airIRRP500UnitStatus 12 }

airIRRP500UnitStatusCoolDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling demand in tenths of kiloWatts."
   ::= { airIRRP500UnitStatus 13 }

airIRRP500UnitStatusCoolOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling output in tenths of kiloWatts."
   ::= { airIRRP500UnitStatus 14 }

airIRRP500UnitStatusHumidifyDemand OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of humidification the unit is demanding 
       from the humidifier in percent."
   ::= { airIRRP500UnitStatus 15 }

airIRRP500UnitStatusHumidifyOutput OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual humidification output of the unit
       in percent."
   ::= { airIRRP500UnitStatus 16 }

airIRRP500UnitStatusDehumidifyDemand OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of dehumidification the unit is 
       demanding in percent."
   ::= { airIRRP500UnitStatus 17 }

airIRRP500UnitStatusDehumidifyOutput OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual dehumidification output of the unit
       in percent."
   ::= { airIRRP500UnitStatus 18 }

airIRRP500UnitStatusReheatDemand OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The amount of heating the unit is demanding 
       from the electric heater in percent."
   ::= { airIRRP500UnitStatus 19 }

airIRRP500UnitStatusReheatOutput OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The actual heating output of the unit
       in percent."
   ::= { airIRRP500UnitStatus 20 }

airIRRP500UnitStatusInputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the input contact."
   ::= { airIRRP500UnitStatus 21 }

airIRRP500UnitStatusOutputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the output relay."
   ::= { airIRRP500UnitStatus 22 }

airIRRP500UnitStatusRackInletTemperature1US OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 23 }

airIRRP500UnitStatusRackInletTemperature1Metric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Celsius."
   ::= { airIRRP500UnitStatus 24 }

airIRRP500UnitStatusRackInletTemperature2US OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 25 }

airIRRP500UnitStatusRackInletTemperature2Metric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Celsius."
   ::= { airIRRP500UnitStatus 26 }

airIRRP500UnitStatusRackInletTemperature3US OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 27 }

airIRRP500UnitStatusRackInletTemperature3Metric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature sensor in tenths of
      degrees Celsius."
   ::= { airIRRP500UnitStatus 28 }

airIRRP500UnitStatusContainmtDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in 
      hundredths of inches of water."
   ::= { airIRRP500UnitStatus 29 }

airIRRP500UnitStatusContainmtDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in Pa."
   ::= { airIRRP500UnitStatus 30 }

airIRRP500UnitStatusFilterDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in 
      hundredths of inches of water."
   ::= { airIRRP500UnitStatus 31 }

airIRRP500UnitStatusFilterDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in Pa."
   ::= { airIRRP500UnitStatus 32 }
                                        
airIRRP500UnitStatusHumidifierCurrent OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The humidifier current of the unit
       in amperes."
   ::= { airIRRP500UnitStatus 33 }

airIRRP500UnitStatusHumidifierWaterConductivity OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The water conductivity in the humidifier of the unit
       in microSiemens/cm."
   ::= { airIRRP500UnitStatus 34 }

airIRRP500UnitStatusActivePowerSource OBJECT-TYPE
   SYNTAX INTEGER {
   sourceA          (1),
   sourceB          (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The power source that is powering the unit."
   ::= { airIRRP500UnitStatus 35 }

airIRRP500UnitStatusFluidValvePosition OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The fluid valve position in percent open."
   ::= { airIRRP500UnitStatus 36 }

airIRRP500UnitStatusFluidFlowUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The fluid flow in tenths of gallons per minute."
   ::= { airIRRP500UnitStatus 37 }

airIRRP500UnitStatusFluidFlowMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The fluid flow in hundredths of liters per second."
   ::= { airIRRP500UnitStatus 38 }

airIRRP500UnitStatusEnteringFluidTemperatureUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the entering fluid in 
       tenths of degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 39 }

airIRRP500UnitStatusEnteringFluidTemperatureMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the entering fluid in 
      tenths of degrees Celsius."
   ::= { airIRRP500UnitStatus 40 }

airIRRP500UnitStatusLeavingFluidTemperatureUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the Leaving fluid in 
       tenths of degrees Fahrenheit."
   ::= { airIRRP500UnitStatus 41 }

airIRRP500UnitStatusLeavingFluidTemperatureMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The temperature of the Leaving fluid in 
      tenths of degrees Celsius."
   ::= { airIRRP500UnitStatus 42 }



--  airIRRP500 AIR CONDITIONER UNIT Ident

airIRRP500UnitIdentID OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The unit identification number."
   ::= { airIRRP500UnitIdent 1 }

airIRRP500UnitIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit name."
   ::= { airIRRP500UnitIdent 2 }

airIRRP500UnitIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit location."
   ::= { airIRRP500UnitIdent 3 }

airIRRP500UnitIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit model number."
   ::= { airIRRP500UnitIdent 4 }

airIRRP500UnitIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit serial number."
   ::= { airIRRP500UnitIdent 5 }
                                                 
airIRRP500UnitIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit firmware version."
   ::= { airIRRP500UnitIdent 6 }

airIRRP500UnitIdentHardwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit controller hardware revision."
   ::= { airIRRP500UnitIdent 7 }

airIRRP500UnitIdentManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit manufacture date."
   ::= { airIRRP500UnitIdent 8 }


--  airIRRP500 AIR CONDITIONER UNIT Runhours

airIRRP500UnitRunHoursAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit air filter run hours in hours."
   ::= { airIRRP500UnitRunHours 1 }

airIRRP500UnitRunHoursCondensatePump OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condensate pump run hours in hours."
   ::= { airIRRP500UnitRunHours 2 }

airIRRP500UnitRunHoursHumidifier OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan right power supply run hours in hours."
   ::= { airIRRP500UnitRunHours 3 }

airIRRP500UnitRunHoursFan1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 1 run hours in hours."
   ::= { airIRRP500UnitRunHours 4 }

airIRRP500UnitRunHoursHeater1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit heater 1 run hours in hours."
   ::= { airIRRP500UnitRunHours 5 }

airIRRP500UnitRunHoursFan2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 2 run hours in hours."
   ::= { airIRRP500UnitRunHours 6 }

airIRRP500UnitRunHoursHeater2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit Heater 2 run hours in hours."
   ::= { airIRRP500UnitRunHours 7 }

airIRRP500UnitRunHoursFan3 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan 3 run hours in hours."
   ::= { airIRRP500UnitRunHours 8 }

airIRRP500UnitRunHoursHeater3 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit heater 3 run hours in hours."
   ::= { airIRRP500UnitRunHours 9 }


--  airIRRP500 AIR CONDITIONER UNIT Service Intervals

airIRRP500UnitServiceIntervalAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Air filter service interval in weeks."
   ::= { airIRRP500UnitServiceIntervals 1 }

airIRRP500UnitServiceIntervalAirFilterAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The air filter service interval alarm enable/disable."
   ::= { airIRRP500UnitServiceIntervals 2 }

airIRRP500UnitServiceIntervalHumidifier OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Humidifier service interval in weeks."
   ::= { airIRRP500UnitServiceIntervals 3 }

airIRRP500UnitServiceIntervalHumidifierAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The humidifier service interval alarm enable/disable."
   ::= { airIRRP500UnitServiceIntervals 4 }

airIRRP500UnitServiceIntervalHeater OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Heater service interval in weeks."
   ::= { airIRRP500UnitServiceIntervals 5 }

airIRRP500UnitServiceIntervalHeaterAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The heater service interval alarm enable/disable."
   ::= { airIRRP500UnitServiceIntervals 6 }

airIRRP500UnitServiceIntervalCondensatePump OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Condensate pump service interval in weeks."
   ::= { airIRRP500UnitServiceIntervals 7 }

airIRRP500UnitServiceIntervalCondensatePumpAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The condensate pump service interval alarm enable/disable."
   ::= { airIRRP500UnitServiceIntervals 8 }

airIRRP500UnitServiceIntervalFans OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Fans service interval in weeks."
   ::= { airIRRP500UnitServiceIntervals 9 }

airIRRP500UnitServiceIntervalFansAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The fans service interval alarm enable/disable."
   ::= { airIRRP500UnitServiceIntervals 10 }


--  airIRRP500 AIR CONDITIONER UNIT Thresholds

airIRRP500UnitThresholdsRackInletHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP500UnitThresholds 1 }

airIRRP500UnitThresholdsRackInletHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP500UnitThresholds 2 }

airIRRP500UnitThresholdsSupplyAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air temperature high threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP500UnitThresholds 3 }

airIRRP500UnitThresholdsSupplyAirHighTempMetric OBJECT-TYPE 
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature high threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP500UnitThresholds 4 }

airIRRP500UnitThresholdsReturnAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP500UnitThresholds 5 }

airIRRP500UnitThresholdsReturnAirHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP500UnitThresholds 6 }

airIRRP500UnitThresholdsSupplyHumidityHigh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply humidity high threshold in 
      tenths of percent relative humidity."
   ::= { airIRRP500UnitThresholds 7 }

airIRRP500UnitThresholdsSupplyHumidityLow OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply humidity low threshold in 
      tenths of percent relative humidity."
   ::= { airIRRP500UnitThresholds 8 }

airIRRP500UnitThresholdsEnteringFluidHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Entering fluid high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRRP500UnitThresholds 9 }

airIRRP500UnitThresholdsEnteringFluidHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Entering fluid high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRRP500UnitThresholds 10 }


--  airIRRP500 AIR CONDITIONER UNIT Config

airIRRP500UnitConfigStartupDelay OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The startup delay in seconds."
   ::= { airIRRP500UnitConfig 1 }

airIRRP500UnitConfigCoolCapacity OBJECT-TYPE
   SYNTAX INTEGER {
   automatic      (1),
   maximum        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The cooling capacity options setting."
   ::= { airIRRP500UnitConfig 2 }

airIRRP500UnitConfigIdleOnLeakDetect OBJECT-TYPE
   SYNTAX INTEGER {
   yes            (1),
   no             (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The idle on leak options setting."
   ::= { airIRRP500UnitConfig 3 }

airIRRP500UnitConfigInputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the input contact."
   ::= { airIRRP500UnitConfig 4 }

airIRRP500UnitConfigOutputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the output relay."
   ::= { airIRRP500UnitConfig 5 }

airIRRP500UnitConfigOutputSource OBJECT-TYPE
   SYNTAX INTEGER {
   anyAlarm       (1),
   criticalAlarm  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The source of output relay change."
   ::= { airIRRP500UnitConfig 6 }

airIRRP500UnitConfigHumidifyEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Enable/disable humidification."
   ::= { airIRRP500UnitConfig 7 }

airIRRP500UnitConfigHumidifierControl OBJECT-TYPE
   SYNTAX INTEGER {
   auto           (1),
   drainOff       (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The humidifier drain control."
   ::= { airIRRP500UnitConfig 8 }

airIRRP500UnitConfigDehumidifyEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Enable/disable dehumidification."
   ::= { airIRRP500UnitConfig 9 }
                                            
airIRRP500UnitConfigReheatEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Enable/disable reheat."
   ::= { airIRRP500UnitConfig 10 }

airIRRP500UnitConfigHeatAssistEnable OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
       "Enable/disable heat assist."
   ::= { airIRRP500UnitConfig 11 }


--  airIRSC AIR CONDITIONER UNIT Status

airIRSCUnitStatusOperateMode OBJECT-TYPE
   SYNTAX INTEGER  {
   standby         (1),
   on              (2),
   idle            (3)  
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The cooling unit operating mode."
   ::= { airIRSCUnitStatus 1 }

airIRSCUnitStatusCoolOutput OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling output in tenths of kW."
   ::= { airIRSCUnitStatus 2 }

airIRSCUnitStatusCoolDemand OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit cooling demand in tenths of kW."
   ::= { airIRSCUnitStatus 3 }

airIRSCUnitStatusAirFlowUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in cubic feet per minute."
   ::= { airIRSCUnitStatus 4 }

airIRSCUnitStatusAirFlowMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air flow in hundredths of 
      liters per second."
   ::= { airIRSCUnitStatus 5 }

airIRSCUnitStatusRackInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 6 }

airIRSCUnitStatusRackInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit rack inlet temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 7 }

airIRSCUnitStatusSupplyAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 8 }

airIRSCUnitStatusSupplyAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit supply air temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 9 }

airIRSCUnitStatusReturnAirTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 10 }

airIRSCUnitStatusReturnAirTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit return air temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 11 }

airIRSCUnitStatusSuctionTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit suction temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 12 }

airIRSCUnitStatusSuctionTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit suction temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 13 }

airIRSCUnitStatusSuperheatTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit superheat temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 14 }

airIRSCUnitStatusSuperheatTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit superheat temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 15 }

airIRSCUnitStatusContainmtDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in 
      hundredths of inches of water."
   ::= { airIRSCUnitStatus 16 }

airIRSCUnitStatusContainmtDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit containment differential pressure in Pa."
   ::= { airIRSCUnitStatus 17 }

airIRSCUnitStatusFilterDPUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in 
      hundredths of inches of water."
   ::= { airIRSCUnitStatus 18 }

airIRSCUnitStatusFilterDPMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit air filter differential pressure in Pa."
   ::= { airIRSCUnitStatus 19 }

airIRSCUnitStatusSuctionPressureUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit suction pressure in PSI."
   ::= { airIRSCUnitStatus 20 }

airIRSCUnitStatusSuctionPressureMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit suction pressure in kPa."
   ::= { airIRSCUnitStatus 21 }
   
airIRSCUnitStatusDischargePressureUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit discharge pressure in PSI."
   ::= { airIRSCUnitStatus 22 }

airIRSCUnitStatusDischargePressureMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit discharge pressure in kPa."
   ::= { airIRSCUnitStatus 23 }

airIRSCUnitStatusEvaporatorFanSpeed OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit average evaporator fan speed in tenths of percent."
   ::= { airIRSCUnitStatus 24 }

airIRSCUnitStatusCondenserFanSpeed OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit average condenser fan speed in tenths of percent."
   ::= { airIRSCUnitStatus 25 }

airIRSCUnitStatusInputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the input contact."
   ::= { airIRSCUnitStatus 26 }

airIRSCUnitStatusOutputState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state of the output relay."
   ::= { airIRSCUnitStatus 27 }

airIRSCUnitStatusCondOutletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit condenser outlet air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 28 }

airIRSCUnitStatusCondOutletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit condenser outlet air temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 29 }

airIRSCUnitStatusCondInletTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit condenser inlet air temperature in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitStatus 30 }

airIRSCUnitStatusCondInletTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The unit condenser inlet air temperature in tenths of
      degrees Celsius."
   ::= { airIRSCUnitStatus 31 }

airIRSCUnitStatusCompressor OBJECT-TYPE
   SYNTAX INTEGER {
   off           (1),
   on            (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The state (off/on) of the compressor."
   ::= { airIRSCUnitStatus 32 }

--  airIRSC AIR CONDITIONER UNIT Ident

airIRSCUnitIdentName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit name."
   ::= { airIRSCUnitIdent 1 }

airIRSCUnitIdentLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit location."
   ::= { airIRSCUnitIdent 2 }

airIRSCUnitIdentModelNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit model number."
   ::= { airIRSCUnitIdent 3 }

airIRSCUnitIdentSerialNumber OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit serial number."
   ::= { airIRSCUnitIdent 4 }

airIRSCUnitIdentFirmwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit firmware version."
   ::= { airIRSCUnitIdent 5 }

airIRSCUnitIdentHardwareRevision OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit controller hardware revision."
   ::= { airIRSCUnitIdent 6 }

airIRSCUnitIdentManufactureDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "A character string identifying the  
       unit manufacture date."
   ::= { airIRSCUnitIdent 7 }


--  airIRSC AIR CONDITIONER UNIT Runhours

airIRSCUnitRunHoursAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit air filter run hours."
   ::= { airIRSCUnitRunHours 1 }

airIRSCUnitRunHoursEvaporatorFan1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit evaporator fan 1 run hours."
   ::= { airIRSCUnitRunHours 2 }

airIRSCUnitRunHoursEvaporatorFan2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit evaporator fan 2 run hours."
   ::= { airIRSCUnitRunHours 3 }

airIRSCUnitRunHoursEvaporatorFan3 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit evaporator fan 3 run hours."
   ::= { airIRSCUnitRunHours 4 }

airIRSCUnitRunHoursCondenserFan1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condenser fan 1 run hours."
   ::= { airIRSCUnitRunHours 5 }

airIRSCUnitRunHoursCondenserFan2 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condenser fan 2 run hours."
   ::= { airIRSCUnitRunHours 6 }

airIRSCUnitRunHoursCondenserFan3 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condenser fan 3 run hours."
   ::= { airIRSCUnitRunHours 7 }

airIRSCUnitRunHoursFanPowerSupplyLeft OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan left power supply run hours."
   ::= { airIRSCUnitRunHours 8 }

airIRSCUnitRunHoursFanPowerSupplyRight OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit fan right power supply run hours."
   ::= { airIRSCUnitRunHours 9 }

airIRSCUnitRunHoursCondensatePump OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit condensate pump run hours."
   ::= { airIRSCUnitRunHours 10 }

airIRSCUnitRunHoursCompressor OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Unit compressor run hours."
   ::= { airIRSCUnitRunHours 11 }


--  airIRSC AIR CONDITIONER UNIT Service Intervals

airIRSCUnitServiceIntervalsAirFilter OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Air filter service interval in weeks."
   ::= { airIRSCUnitServiceIntervals 1 }

airIRSCUnitServiceIntervalsAirFilterAlarm OBJECT-TYPE
   SYNTAX INTEGER {
   enable         (1),
   disable        (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The air filter service interval alarm enable/disable."
   ::= { airIRSCUnitServiceIntervals 2 }


--  airIRSC AIR CONDITIONER UNIT Thresholds

airIRSCUnitThresholdsRackInletHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRSCUnitThresholds 1 }

airIRSCUnitThresholdsRackInletHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit rack inlet air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRSCUnitThresholds 2 }

airIRSCUnitThresholdsSupplyAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRSCUnitThresholds 3 }

airIRSCUnitThresholdsSupplyAirHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRSCUnitThresholds 4 }

airIRSCUnitThresholdsReturnAirHighTempUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Fahrenheit."
   ::= { airIRSCUnitThresholds 5 }

airIRSCUnitThresholdsReturnAirHighTempMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit return air high temperature threshold in 
      tenths of degrees Celsius."
   ::= { airIRSCUnitThresholds 6 }

--  airIRSC AIR CONDITIONER UNIT Setpoints

airIRSCUnitSetptsCoolSetpointUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit cooling setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitSetpoints 1 }

airIRSCUnitSetptsCoolSetpointMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit cooling setpoint in tenths of
      degrees Celsius."
   ::= { airIRSCUnitSetpoints 2 }

airIRSCUnitSetptsCoolDeadbandUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit cooling deadband in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitSetpoints 3 }

airIRSCUnitSetptsCoolDeadbandMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit cooling deadband in tenths of
      degrees Celsius."
   ::= { airIRSCUnitSetpoints 4 }

airIRSCUnitSetptsFanSpeedPreference OBJECT-TYPE
   SYNTAX INTEGER   {
      low           (1),
      med-low       (2),
      med           (3),
      med-high      (4),
      high          (5)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The preferred fan speed setting."
   ::= { airIRSCUnitSetpoints 5 }

airIRSCUnitSetptsSupplyAirSetpointUS OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air setpoint in tenths of
      degrees Fahrenheit."
   ::= { airIRSCUnitSetpoints 6 }

airIRSCUnitSetptsSupplyAirSetpointMetric OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Unit supply air setpoint in tenths of
      degrees Celsius."
   ::= { airIRSCUnitSetpoints 7 }

--  airIRSC AIR CONDITIONER UNIT Config

airIRSCUnitConfigConfigurationType OBJECT-TYPE
   SYNTAX INTEGER   {
      racs          (1),
      spot          (2),
      in-row        (3)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The unit configuration type."
   ::= { airIRSCUnitConfig 1 }

airIRSCUnitConfigCapacityControlType OBJECT-TYPE
   SYNTAX INTEGER   {
      discrete      (1),
      proportional  (2)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The unit capacity control."
   ::= { airIRSCUnitConfig 2 }

airIRSCUnitConfigStartupDelay OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The startup delay in seconds."
   ::= { airIRSCUnitConfig 3 }

airIRSCUnitConfigIdleOnLeakDetect OBJECT-TYPE
   SYNTAX INTEGER {
   yes            (1),
   no             (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The idle on leak options setting."
   ::= { airIRSCUnitConfig 4 }

airIRSCUnitConfigInputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the input contact."
   ::= { airIRSCUnitConfig 5 }

airIRSCUnitConfigOutputNormalState OBJECT-TYPE
   SYNTAX INTEGER {
   open           (1),
   closed         (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The normal state of the output relay."
   ::= { airIRSCUnitConfig 6 }

airIRSCUnitConfigOutputSource OBJECT-TYPE
   SYNTAX INTEGER {
   anyAlarm       (1),
   criticalAlarm  (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The source of output relay change."
   ::= { airIRSCUnitConfig 7 }

airIRSCUnitConfigAltitudeUS OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The altitude of the unit above sea level in feet."
   ::= { airIRSCUnitConfig 8 }

airIRSCUnitConfigAltitudeMetric OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The altitude of the unit above sea level in meters."
   ::= { airIRSCUnitConfig 9 }

airIRSCUnitConfigOpControl OBJECT-TYPE
   SYNTAX INTEGER   {
      standby       (1),
      on            (2)
   }    
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The unit operational control."
   ::= { airIRSCUnitConfig 10 }



--  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  { rARUIdentAruIndex}
   ::= { rARUIdentTable 1 }

IdentRARUEntry ::=
   SEQUENCE {
      rARUIdentAruIndex        INTEGER,
      rARUIdentName            DisplayString
   }

rARUIdentAruIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the ARU 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 the individual ARU devices accessible from this IP address. 
       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,
      rARUConfigAruMasterControl          INTEGER
   }

rARUConfigAruIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the ARU 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-1200cfm  (6),
      aru5kW-800cfm   (7),
      aru3kW-500cfm   (8),
      aru2kW-300cfm   (9),
      aru400cfm       (10),
      aru600cfm       (11),
      aru700cfm       (12),
      aru900cfm       (13),
      aru1000cfm      (14),
      aru1400cfm      (15),
      aru1600cfm      (16),
      aru1800cfm      (17),
      aru2000cfm      (18)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This OID defines the desired base airflow of the ARU, and sets the 
       speed of the ARU fans when the temperature override is inactive.

       Values specified in cfm (cubic feet per minute) can be converted
       to metric values using the conversion factor:
       
          1 cfm = 1.70 m^3/hr (cubic meters per hour).

       Values (1) through (9) are for support of legacy (1st generation) ARUs.
       Writing these values to a 2nd generation ARU will result in the following:
       A value greater than (9) will be ignored by a 1st generation ARU.

          aruOff      (1) - Ignored
          aru85F-29C  (2) - 1200 cfm
          aru90F-32C  (3) - 800 cfm
          aru95F-35C  (4) - 500 cfm
          aru100F-38C (5) - 400 cfm
          aru7kW      (6) - 1200 cfm
          aru5kW      (7) - 800 cfm
          aru3kW      (8) - 500 cfm
          aru2kW      (9) - 400 cfm

       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.

       Values are represented in whole number degrees using the 
       units specified in the rARUStatusSysTempUnits OID (Celsius or Fahrenheit)."
   ::= { rARUConfigEntry 5 }
   
rARUConfigAruMasterControl OBJECT-TYPE
   SYNTAX INTEGER   {
      aruOn      (1),
      aruOff     (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "This is the master on/off control for the ARU."
   ::= { rARUConfigEntry 6 }

-- 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 query of the individual ARUs accessible from this IP address. 
       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,
      rARUStatusAruTempOvrdStatus        INTEGER,
      rARUStatusAruMasterControl         INTEGER,
      rARUStatusAruTotalAirflow          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-1200cfm  (6),
      aru5kW-800cfm   (7),
      aru3kW-500cfm   (8),
      aru2kW-300cfm   (9),
      aru400cfm       (10),
      aru600cfm       (11),
      aru700cfm       (12),
      aru900cfm       (13),
      aru1000cfm      (14),
      aru1400cfm      (15),
      aru1600cfm      (16),
      aru1800cfm      (17),
      aru2000cfm      (18)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This OID defines the desired base airflow of the ARU, or the 
       speed of the ARU fans when the temperature override is inactive.

       See also the rARUConfigAruRemoteSetpoint OID.

       NOTE: -1 will be returned if the ARU is not communicating."
   ::= { 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
      "Manual operating setpoint of the ARU, which is set on the
       panel of the ARU. If the ARU doesn't have a manual , 
       the OID will always return a value of aruRem (10).

       NOTE: -1 will be returned if the ARU is not communicating.

       Values are represented in whole number degrees or kW.
       If the manual setpoint is set to Remote, or if the ARU doesn't
       have a manual switch, this OID will return aruRem."
   ::= { rARUStatusEntry 4 }

rARUStatusAruTemp1 OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "ARU temperature probe #1 reading. 
       The summary exhaust temperature on 2nd generation ARUs.

       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. 
       The exhaust temperature in the upper plenum on 2nd generation ARUs.

       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. 
       The exhaust temperature in the lower plenum on 2nd generation ARUs.

      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 (if ARU is equipped with smoke detector)
            
       Flag  5: High Temp (Out of Thermal Control)
       Flag  6: Over Temp (Exhaust Temp. Exceeds Override Setpoint)
       Flag  7: Fan Fail 4 (Gen 2 ARU only)
       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 }

rARUStatusAruTempOvrdStatus OBJECT-TYPE
   SYNTAX INTEGER   {
      inactive   (1),
      active     (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Specifies whether the ARU is increasing airflow because
       exhaust air temperature has exceeded the setting specified in the 
       rARUConfigAruTempOvrdSetpoint OID."
   ::= { rARUStatusEntry 12 }

rARUStatusAruMasterControl OBJECT-TYPE
   SYNTAX INTEGER   {
      aruOn      (1),
      aruOff     (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "This is the master on/off control for the ARU."
   ::= { rARUStatusEntry 13 }

rARUStatusAruTotalAirflow OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total airflow provided by the aru. Specified in cfm (cubic feet per minute).
       Can be converted to metric values using the conversion factor:
       1 cfm = 1.70 m^3/hr (cubic meters per hour)."
   ::= { rARUStatusEntry 14 }

-- RACK AIR REMOVAL UNIT FAN STATUS

rARUFanStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FanStatusRARUEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for query of the individual devices. 
       The number of entries is contained in the 
       rARUStatusAruDeviceCount OID."
   ::= { rARUFanStatus 1 }

rARUFanStatusEntry OBJECT-TYPE
   SYNTAX FanStatusRARUEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The device to query."
   INDEX  { rARUFanStatusAruIndex, rARUFanStatusFanIndex}
   ::= { rARUFanStatusTable 1 }

FanStatusRARUEntry ::=
   SEQUENCE {
      rARUFanStatusAruIndex              INTEGER,
      rARUFanStatusNominalFanSpeed       INTEGER,
      rARUFanStatusSelectedFanLevel      INTEGER,
      rARUFanStatusReplacementThreshold  INTEGER,
      rARUFanStatusFanIndex              INTEGER,
      rARUFanStatusFanOperatingStatus    INTEGER,
      rARUFanStatusFanRpmSpeed           INTEGER,
      rARUFanStatusFanFlowRate           INTEGER,
      rARUFanStatusFanInServiceDate      DisplayString,
      rARUFanStatusFanRunhourCounter     INTEGER,
      rARUFanStatusFanRunhourReset       INTEGER
   }

rARUFanStatusAruIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the ARU entry."
   ::= { rARUFanStatusEntry 1 }

rARUFanStatusNominalFanSpeed OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The nominal rotational speed (RPM) of the fans when they are
       operating at the 100% level."
   ::= { rARUFanStatusEntry 2 }

rARUFanStatusSelectedFanLevel OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The currently selected ARU speed level, 
       specified in percent of full capacity."
   ::= { rARUFanStatusEntry 3 }

rARUFanStatusReplacementThreshold OBJECT-TYPE
   SYNTAX INTEGER       {
      disabled  (1),
      khr20     (2),
      khr25     (3),
      khr30     (4),
      khr35     (5),
      khr40     (6),
      khr50     (7)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Threshold above which a run hour alarm will exist, indicating
       that it might be time to proactively replace a fan."
   ::= { rARUFanStatusEntry 4 }

rARUFanStatusFanIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to an individual fan table entry."
   ::= { rARUFanStatusEntry 5 }
   
rARUFanStatusFanOperatingStatus OBJECT-TYPE
   SYNTAX INTEGER       {
      unknown      (1),
      off          (2),
      onOk         (3),
      onDegraded   (4),
      offFailed    (5)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current operating state of the fan."
   ::= { rARUFanStatusEntry 6 }

rARUFanStatusFanRpmSpeed OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The current rotational speed of the fan, 
       specified in rotations per minute (RPM)."
   ::= { rARUFanStatusEntry 7 }

rARUFanStatusFanFlowRate OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The flow rate provided by the fan, based on its measured rotational speed.
       Specified in cfm (cubic feet per minute). Can be converted to metric values
       using the conversion factor: 1 cfm = 1.70 m^3/hr (cubic meters per hour)."
   ::= { rARUFanStatusEntry 8 }

rARUFanStatusFanInServiceDate OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "The installation/replacement date of the fan."
   ::= { rARUFanStatusEntry 9 }

rARUFanStatusFanRunhourCounter OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The total time for which the fan has been running.
       Specified in 10ths of hours."
   ::= { rARUFanStatusEntry 10 }

rARUFanStatusFanRunhourReset OBJECT-TYPE
   SYNTAX INTEGER {
      yes (1),
      no  (2)
   } 
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Writing yes to this This OID will reset a fan's total run hour counter,
       which is shown in the rARUFanStatusFanRunhourCounter OID."
   ::= { rARUFanStatusEntry 11 }

-- RACK AIR REMOVAL UNIT INPUT POWER STATUS

rARUPowerTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PowerRARUEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "Allows for query of the individual ARUs accessible from this IP address. 
       The number of entries is contained in the rARUStatusAruDeviceCount OID."
   ::= { rARUPower 1 }

rARUPowerStatusEntry OBJECT-TYPE
   SYNTAX PowerRARUEntry  
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The device to query."
   INDEX  { rARUPowerStatusAruIndex}
   ::= { rARUPowerTable 1 }

PowerRARUEntry ::=
   SEQUENCE {
      rARUPowerStatusAruIndex           INTEGER,
      rARUPowerStatusPrimaryAcPresent   INTEGER,
      rARUPowerStatusAuxiliaryAcPresent INTEGER,
      rARUPowerStatusRedundantAcConfig  INTEGER
   }

rARUPowerStatusAruIndex   OBJECT-TYPE
   SYNTAX  INTEGER 
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The index to the ARU entry."
   ::= { rARUPowerStatusEntry 1 }

rARUPowerStatusPrimaryAcPresent OBJECT-TYPE
   SYNTAX INTEGER {
      yes (1),
      no  (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not line voltage is present on AC input 1."
   ::= { rARUPowerStatusEntry 2 }

rARUPowerStatusAuxiliaryAcPresent OBJECT-TYPE
   SYNTAX INTEGER {
      yes (1),
      no  (2)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not line voltage is present on AC input 2."
   ::= { rARUPowerStatusEntry 3 }

rARUPowerStatusRedundantAcConfig OBJECT-TYPE
   SYNTAX INTEGER {
      singleCord (1),
      dualCord   (2)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
      "Indicates whether or not a dual cord is in use.
       When this setting is set to dualCord (2), aruRedundantPowerLostAlarm
       traps will be generated when either primary or auxiliary input
       voltage is not present. When this setting is set to singleCord (1),
       aruRedundantPowerLostAlarm traps will not be generated."
   ::= { rARUPowerStatusEntry 4 }

-- RACK AIR REMOVAL UNIT SENSOR STATUS

rARUSensorsStatusTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the rARUSensorsStatusTable."
   ::= { rARUSensors 1 }
   
rARUSensorsStatusTable OBJECT-TYPE
   SYNTAX SEQUENCE OF RARUSensorsStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting environmental sensor status information."
   ::= { rARUSensors 2 }
   
rARUSensorsStatusTableEntry OBJECT-TYPE
   SYNTAX RARUSensorsStatusTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { rARUSensorsStatusAruIndex, rARUSensorsStatusSensorNumber }
   ::= { rARUSensorsStatusTable 1 }
 
RARUSensorsStatusTableEntry ::=
   SEQUENCE {
      rARUSensorsStatusAruIndex       INTEGER,
      rARUSensorsStatusSensorNumber   INTEGER,
      rARUSensorsTemperature          INTEGER
   }

rARUSensorsStatusAruIndex OBJECT-TYPE
   SYNTAX INTEGER 
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the ARU entry."
   ::= { rARUSensorsStatusTableEntry 1 }

rARUSensorsStatusSensorNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the sensor on the device."
   ::= { rARUSensorsStatusTableEntry 2 }

rARUSensorsTemperature OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The sensor's current temperature reading. The temperature scale 
         is based on the system preferences configuration."
   ::= { rARUSensorsStatusTableEntry 3 }


-- RACK AIR REMOVAL UNIT CONFIG STATUS

rARUSensorsConfigTableSize OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
       "The number of entries in the rARUSensorsConfigTable."
   ::= { rARUSensors 3 }
   
rARUSensorsConfigTable OBJECT-TYPE
   SYNTAX SEQUENCE OF RARUSensorsConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
       "Allows for getting configuration information from 
        environmental sensors attached to the device."
   ::= { rARUSensors 4 }
   
rARUSensorsConfigTableEntry OBJECT-TYPE
   SYNTAX RARUSensorsConfigTableEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
      "The unit to get data from."
   INDEX { rARUSensorsConfigAruIndex, rARUSensorsConfigSensorNumber }
   ::= { rARUSensorsConfigTable 1 }
 
RARUSensorsConfigTableEntry ::=
   SEQUENCE {
      rARUSensorsConfigAruIndex               INTEGER,
      rARUSensorsConfigSensorNumber           INTEGER,
      rARUSensorsName                         DisplayString,
      rARUSensorsLocation                     DisplayString,
      rARUSensorsTempMaxThresh                INTEGER,
      rARUSensorsTempHighThresh               INTEGER,
      rARUSensorsTempLowThresh                INTEGER,
      rARUSensorsTempMinThresh                INTEGER,
      rARUSensorsTempThreshHysteresis         INTEGER,
      rARUSensorsTempShortDecRateThreshValue  INTEGER,
      rARUSensorsTempShortDecRateThreshTime   INTEGER,
      rARUSensorsTempShortIncRateThreshValue  INTEGER,
      rARUSensorsTempShortIncRateThreshTime   INTEGER,
      rARUSensorsTempLongDecRateThreshValue   INTEGER,
      rARUSensorsTempLongDecRateThreshTime    INTEGER,
      rARUSensorsTempLongIncRateThreshValue   INTEGER,
      rARUSensorsTempLongIncRateThreshTime    INTEGER
   }

rARUSensorsConfigAruIndex OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "The index to the ARU entry."
   ::= { rARUSensorsConfigTableEntry 1 }

rARUSensorsConfigSensorNumber OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
        "The number of the sensor on the device."
   ::= { rARUSensorsConfigTableEntry 2 }

rARUSensorsName OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "A descriptive name for the sensor."
   ::= { rARUSensorsConfigTableEntry 3 }
                       
rARUSensorsLocation OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The location of the sensor."
   ::= { rARUSensorsConfigTableEntry 4 }

rARUSensorsTempMaxThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which a maximum temperature threshold 
         violation alarm will be generated for this sensor.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 5 }
              
rARUSensorsTempHighThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which a high temperature threshold 
         violation alarm will be generated for this sensor.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 6 }
             
rARUSensorsTempLowThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which a low temperature threshold 
         violation alarm will be generated for this sensor.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 7 }
              
rARUSensorsTempMinThresh OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The temperature at which a min temperature threshold 
         violation alarm will be generated for this sensor.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 8 }
              
rARUSensorsTempThreshHysteresis OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The change in temperature required to cause a
         temperature alarm to change from an active to an
         inactive state. The temperature scale is based on 
         the system preferences configuration."
   ::= { rARUSensorsConfigTableEntry 9 }

rARUSensorsTempShortDecRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature short-term decreasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 10 }

rARUSensorsTempShortDecRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not decrease
         beyond the value specified by the temperature short-term
         decreasing rate threshold value."
   ::= { rARUSensorsConfigTableEntry 11 }
 
rARUSensorsTempShortIncRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature short-term increasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 12 }

rARUSensorsTempShortIncRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not increase
         beyond the value specified by the temperature short-term
         increasing rate threshold value."
   ::= { rARUSensorsConfigTableEntry 13 }
 
rARUSensorsTempLongDecRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature long-term decreasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 14 }

rARUSensorsTempLongDecRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not decrease
         beyond the value specified by the temperature long-term
         decreasing rate threshold value."
   ::= { rARUSensorsConfigTableEntry 15 }
 
rARUSensorsTempLongIncRateThreshValue OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The value of the temperature long-term increasing rate
         time that will cause an alarm to be generated.
         The temperature scale is based on the system preferences
         configuration."
   ::= { rARUSensorsConfigTableEntry 16 }

rARUSensorsTempLongIncRateThreshTime OBJECT-TYPE
   SYNTAX INTEGER
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
        "The time over which the temperature may not increase
         beyond the value specified by the temperature long-term
         increasing rate threshold value."
   ::= { rARUSensorsConfigTableEntry 17 }


-- 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 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 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. Overtemp 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: Multiple Rect Fail alarm is no longer active in the powerplant."
   --#TYPE "APC: Multiple Rect Fail alarm is no longer active in powerplant."
   --#SUMMARY "Multiple 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 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 Configuration 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 Failure."
   --#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
      "WARNING: ARU Exhaust temperature has exceeded the override 
         threshold and the ARU has increased fan speed to
         maintain a safe environment in the rack.
        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 WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 290

aruHighTemperatureAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: ARU temperature override state 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 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: ARU Extreme Exhaust Temperature Alarm.
        The ARU is unable to control the temperature within the rack
        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
      "SEVERE: 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 low voltage alarm."
   --#SUMMARY "Input voltage is below threshold."
   --#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 low voltage alarm cleared."
   --#SUMMARY "Main input low voltage cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 313


xPDUInputVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: 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 high voltage alarm."
   --#SUMMARY "Main input voltage is above threshold."
   --#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 high voltage alarm cleared."
   --#SUMMARY "Main input high voltage alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 315

xPDUBypassVoltageLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: 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 low voltage alarm."
   --#SUMMARY "Bypass input voltage is below threshold."
   --#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 low voltage alarm cleared."
   --#SUMMARY "Bypass input low voltage alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 317

xPDUBypassVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: 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 high voltage alarm."
   --#SUMMARY "Bypass input voltage is above threshold."
   --#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 high voltage alarm cleared."
   --#SUMMARY "Bypass input voltage alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 319

xPDUOutputVoltageLowAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The 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 low voltage alarm."
   --#SUMMARY "Output voltage is below threshold."
   --#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 three-phase output voltage of 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: Output low voltage alarm cleared."
   --#SUMMARY "Output low voltage alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 321

xPDUOutputVoltageHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: The 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 high voltage alarm."
   --#SUMMARY "Output voltage is above threshold."
   --#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 three-phase output voltage of 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: Output high voltage alarm cleared."
   --#SUMMARY "Output high voltage alarm cleared."
   --#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 three-phase output load current 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, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps.
        The fifth argument is the threshold, in tenths of Amps, from which the alarm was generated."
   --#TYPE "APC XPDU: Output low current alarm."
   --#SUMMARY "Output current is below threshold."
   --#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 three-phase output load current of 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, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Output low current alarm cleared."
   --#SUMMARY "Output low current alarm cleared."
   --#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 three-phase load current 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, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps.
        The fifth argument is the threshold, in tenths of Amps, above which the alarm was generated."
   --#TYPE "APC XPDU: Output high current alarm."
   --#SUMMARY "Output current is above threshold."
   --#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 three-phase output current of 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, 2=L2, 3=L3).
        The fourth argument is the measured current in tenths of Amps."
   --#TYPE "APC XPDU: Output high current alarm cleared."
   --#SUMMARY "Output high current alarm cleared."
   --#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, mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "SEVERE: The earth ground current of the device 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.
        The fourth argument is the threshold, in tenths of Amps, above which the alarm was generated."
   --#TYPE "APC XPDU: Earth ground high current alarm."
   --#SUMMARY "Earth ground current is above threshold."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 330

xPDUSystemGroundCurrentAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The earth ground current of 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 measured current in tenths of Amps."
   --#TYPE "APC XPDU: Earth ground high current alarm cleared."
   --#SUMMARY "Earth ground high current alarm cleared."
   --#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
      "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 XPDU: 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
   ::= 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

xPDUOutputNeutralCurrentHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "WARNING: The three-phase neutral current 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 measured current in tenths of Amps.
        The fourth argument is the threshold, in tenths of Amps, above which the alarm was generated."
   --#TYPE "APC XPDU: Output high neutral current alarm."
   --#SUMMARY "Output neutral current is above threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 334

xPDUOutputNeutralCurrentHighAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The output neutral current of 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 measured current in tenths of Amps."
   --#TYPE "APC XPDU: Output neutral high current alarm cleared."
   --#SUMMARY "Output neutral high current alarm cleared."
   --#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
      "WARNING: 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 low current alarm."
   --#SUMMARY "Branch circuit current is below threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 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 low current alarm cleared."
   --#SUMMARY "Branch circuit low current alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 341

xPDUBranchCurrentHighAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsInteger, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: 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 high current alarm."
   --#SUMMARY "Branch circuit current is above threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 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 high current alarm cleared."
   --#SUMMARY "Branch circuit high current alarm cleared."
   --#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 Custom Event: 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 Custom Event: 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 Custom Event: 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 Custom Event: 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 Custom Event: 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 Custom Event: 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 low voltage alarm."
   --#SUMMARY "Output voltage is below threshold."
   --#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 low voltage alarm cleared."
   --#SUMMARY "Output low voltage alarm cleared."
   --#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 high voltage alarm."
   --#SUMMARY "Output voltage is above threshold."
   --#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 high voltage alarm cleared."
   --#SUMMARY "Output high voltage alarm cleared."
   --#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 three-phase load current 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, 2=L2, 3=L3).
        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 low current alarm."
   --#SUMMARY "Output current is below threshold."
   --#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 three-phase load current of 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, 2=L2, 3=L3).
        The fourth argument is the measured current in Amps."
   --#TYPE "APC XATS: Output low current alarm cleared."
   --#SUMMARY "Output low current alarm cleared."
   --#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 three-phase output load current 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, 2=L2, 3=L3).
        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 high current alarm."
   --#SUMMARY "Output current is above threshold."
   --#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 three-phase output load current of 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, 2=L2, 3=L3).
        The fourth argument is the measured current in Amps."
   --#TYPE "APC XATS: Output high current alarm cleared."
   --#SUMMARY "Output high current alarm cleared."
   --#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, mtrapargsInteger, 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

xATSTestCanceled 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 canceled."
   --#SUMMARY "Test canceled."
   --#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 calendar 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 cleared."
   --#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: Fault in the generator battery charger 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: Fault in the generator battery charger is cleared."
   --#SUMMARY "Fault in the 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
      "SEVERE: 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 state change (1=NO UPS INPUT, 2=NO PANEL FEED, 3=ATYPICAL BYPASS MODE).
         note: The NO_PANEL_FEED alarm is applicable only for PDUs with system bypass."
   --#TYPE "APC XPDU: System state change alarm."
   --#SUMMARY "PDU state change alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 480

xPDUSystemStateAlarmCleared 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 state change (1=NO UPS INPUT, 2=NO PANEL FEED, 3=ATYPICAL BYPASS MODE).
         note: The NO_PANEL_FEED alarm is applicable only for PDUs with system bypass."
   --#TYPE "APC XPDU: Normal system state change."
   --#SUMMARY "PDU normal state change."
   --#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, 4=OUTPUT).
         note: The OUTPUT breaker position alarm is applicable only for PDUs with no system bypass.
        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, 4=OUTPUT).
         note: The OUTPUT breaker position alarm cleared is applicable only for PDUs with no system bypass."
   --#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 Q3, 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

xPDUDataCommMismatchError TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, 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 XPDU: Data mismatch error."
   --#SUMMARY "XPDU data mismatch error."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 489

xPDUDataCommMismatchErrorCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, 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 XPDU: data mismatch error cleared."
   --#SUMMARY "XPDU data mismatch error cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 490

xPDUSystemInMaintenanceBypassMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "WARNING: The PDU state has changed to maintenance bypass mode.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: System state changed to maintenance bypass."
   --#SUMMARY "PDU state changed to maintenance bypass."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 491

xPDUSystemInUPSOperationalMode TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xPDUIdentSerialNumber, xPDUIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The PDU state has changed to UPS operational mode.
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XPDU: System state changed to UPS operational."
   --#SUMMARY "PDU state changed to UPS operational."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 492

xATSGeneratorFuelTankRuptureAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Detected a rupture in the inner wall of the generator fuel tank.
        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 inner wall rupture alarm."
   --#SUMMARY "Generator inner wall rupture alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 493

xATSGeneratorFuelTankRuptureAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The rupture in the inner wall of the generator is not detected.
        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 inner wall rupture alarm cleared."
   --#SUMMARY "Generator inner wall rupture alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 494

xATSGeneratorGroundFaultAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName,  mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "SEVERE: Generator ground fault alarm.
        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 ground fault alarm."
   --#SUMMARY "Generator ground fault alarm."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 495

xATSGeneratorGroundFaultAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Generator ground fault alarm 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 ground fault alarm cleared."
   --#SUMMARY "Generator ground fault alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 496

xATSOutputLoadPoweredByGeneratorAlarm TRAP-TYPE
  ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The system load on the output of the ATS is being powered by source 2 (generator).
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument indicates if the load is powered by the generator,
        when 'load testing' the generator (1 = LIVE, 2 = TEST)."  
   --#TYPE "APC XATS: System load powered by generator alarm."
   --#SUMMARY "System load powered by generator."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 497
   
xATSOutputLoadPoweredByGeneratorAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { xATSIdentSerialNumber, xATSIdentProductName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The system load on the output of the ATS is no longer being powered by source 2 (generator).
        The first argument is the host device serial number.
        The second argument is the host device name."
   --#TYPE "APC XATS: System load powered by generator alarm cleared."
   --#SUMMARY "System load powered by generator alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 498

xAPCControllerFirmwareUpdateTransferStart TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString05, mtrapargsString04, mtrapargsString02, mtrapargsString03, 
               mtrapargsInteger, 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 model name that initiated the transfer.
        The third argument is the name of the file that is transferred. 
        The fourth argument is the updated revision of the file, if available
        The fifth argument is the reason for the update, if available
         (1=User request, 2=Automatic upgrade by NMC, 3=Unknown)."
   --#TYPE "APC: Start update transfer."
   --#SUMMARY "Start update transfer."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 499

xAPCControllerFirmwareUpdateTransferComplete TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString05, mtrapargsString04, mtrapargsString02, 
               mtrapargsString03, 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 model name that completed the transfer.
        The third argument is the name of the file that was transferred. 
        The fourth argument is the revision of the file that was transferred, if available."
   --#TYPE "APC : Update transfer complete."
   --#SUMMARY "Update transfer complete."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 500


xAPCControllerFirmwareUpdateTransferFailed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString05, mtrapargsString04, mtrapargsString02, 
               mtrapargsString03, mtrapargsString }
   DESCRIPTION
      "SEVERE: Transfer of controller firmware failed.
        The first argument is the host device serial number.
        The second argument is the host device model name that failed to transfer.
        The third argument is the name of the file that failed the transfer, if available.
        The fourth argument is the reason for failure."
   --#TYPE "APC: Update transfer failed."
   --#SUMMARY "Update transfer failed."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 501

upsPfcInputRelayFailure TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The PFC (Power Factor Correction) input relay failure exists."
   --#TYPE "APC UPS: The PFC input relay failure exists."
   --#SUMMARY "The PFC (Power Factor Correction) input relay failure exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 502

upsPfcInputRelayFailureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The PFC (Power Factor Correction) input relay failure cleared."
   --#TYPE "APC UPS: The PFC input relay failure cleared."
   --#SUMMARY "The PFC (Power Factor Correction) input relay failure cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 503
   
upsInverterOverTemperature TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The inverter over temperature condition exists."
   --#TYPE "APC UPS: The inverter over temperature condition exists."
   --#SUMMARY "The inverter over temperature condition exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 504

upsInverterOverTemperatureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The inverter over temperature condition cleared."
   --#TYPE "APC UPS: The inverter over temperature condition cleared."
   --#SUMMARY "The inverter over temperature condition cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 505

upsBatteryOverVoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The battery over voltage condition exists."
   --#TYPE "APC UPS: The battery over voltage condition exists."
   --#SUMMARY "The battery over voltage condition exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 506

upsBatteryOverVoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The battery over voltage condition cleared."
   --#TYPE "APC UPS: The battery over voltage condition cleared."
   --#SUMMARY "The battery over voltage condition cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 507

upsEepromFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The EEPROM fault exists."
   --#TYPE "APC UPS: The EEPROM fault exists."
   --#SUMMARY "The EEPROM fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 508

upsEepromFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The EEPROM fault cleared."
   --#TYPE "APC UPS: The EEPROM fault cleared."
   --#SUMMARY "The EEPROM fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 509
   
-- rARU Traps (part 2)

aruFanRuntimeAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: The total running hours for a fan has exceeded
        the run hour threshold.
        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.
        The fifth argument indicates which fan in the ARU."
   --#TYPE "APC ARU: Fan Runhour Warning."
   --#SUMMARY "Fan Runhour Alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 510

aruFanRuntimeAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The total running hours for a fan is no longer
        above the fan runhour threshold.
        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.
        The fifth argument indicates which fan in the ARU."
   --#TYPE "APC ARU: Fan Runhour Alarm Cleared."
   --#SUMMARY "Fan Runhour Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 511


aruFanPoorPerformanceAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "WARNING: Poor fan performance has been detected in the ARU,
        indicating that the fan may be close to failing.
        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.
        The fifth argument indicates which fan in the ARU."
   --#TYPE "APC ARU: Poor Fan Performance Warning."
   --#SUMMARY "Fan Health Alarm."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 512

aruFanPoorPerformanceAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsInteger, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Fan performance is no longer degraded.
        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.
        The fifth argument indicates which fan in the ARU."
   --#TYPE "APC ARU: Poor Fan Performance Warning Cleared."
   --#SUMMARY "Fan Health Alarm Cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 513

aruRedundantPowerLostAlarm TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "WARNING: One of the redundant line cords on the ARU is no longer receiving AC power.
        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: Redundant AC Input is not Present."
   --#SUMMARY "AC Redundancy Lost."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 514

aruRedundantPowerLostAlarmCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { emsIdentSerialNumber, emsIdentEMSName, 
               rARUStatusAruIndex, rARUStatusAruName, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Line-cord redundancy has been restored to the ARU.
        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: Redundant AC Input is Present."
   --#SUMMARY "AC Redundancy Restored."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 515

apcDeviceConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A device configuration change has been made on the device.
        The first argument is the device serial number.
        The second argument is the device name.
        The third argument is a secondary device id number."
   --#TYPE "APC: A device configuration change on a device."
   --#SUMMARY "A device configuration change has been made on a device."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 516

apcEnvSensorConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A sensor has been connected to the host device.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Sensor Connected."
   --#SUMMARY "Sensor Connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 517

apcEnvSensorDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
      "SEVERE: A sensor has been disconnected from the device.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Sensor Disconnected."
   --#SUMMARY "Sensor Disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 518

apcEnvMaxTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Max temperature threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Max temperature threshold violation."
   --#SUMMARY "Max temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 519

apcEnvMaxTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04,
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Max temperature threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 520

apcEnvHighTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "WARNING: High temperature threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: High temperature threshold violation."
   --#SUMMARY "High temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 521

apcEnvHighTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04,
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High temperature threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 522

apcEnvLowTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "WARNING: Low temperature threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Low temperature threshold violation."
   --#SUMMARY "Low temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 523

apcEnvLowTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low temperature threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 524

apcEnvMinTempThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Min temperature threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Min temperature threshold violation."
   --#SUMMARY "Min temperature threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 525

apcEnvMinTempThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Min temperature threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The sixth argument is the sensor number. 
        The seventh argument is the sensor 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
   ::= 526

apcEnvSTIncTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Short-term increasing temperature rate violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 527

apcEnvSTIncTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Short-term increasing temperature rate cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 528

apcEnvSTDecTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Short-term decreasing temperature rate violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 529

apcEnvSTDecTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Short-term decreasing temperature rate cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 530

apcEnvLTIncTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04,
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Long-term increasing temperature rate violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 531

apcEnvLTIncTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Long-term increasing temperature rate cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 532

apcEnvLTDecTempRateViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Long-term decreasing temperature rate violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 533

apcEnvLTDecTempRateViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Long-term decreasing temperature rate cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 534

apcEnvMaxHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Max humidity threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Max humidity threshold violation."
   --#SUMMARY "Max humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 535

apcEnvMaxHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Max humidity threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 536

apcEnvHighHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "WARNING: High humidity threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: High humidity threshold violation."
   --#SUMMARY "High humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 537

apcEnvHighHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High humidity threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 538

apcEnvLowHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04,
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "WARNING: Low humidity threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Low humidity threshold violation."
   --#SUMMARY "Low humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 539

apcEnvLowHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low humidity threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 540

apcEnvMinHumidityThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Min humidity threshold violated on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor name."
   --#TYPE "APC ENV: Min humidity threshold violation."
   --#SUMMARY "Min humidity threshold violation."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 541

apcEnvMinHumidityThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Min humidity threshold violation cleared on the sensor. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the sensor number. 
        The fifth argument is the sensor 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
   ::= 542

apcBeaconConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A beacon has been connected to the device.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number." 
   --#TYPE "APC: Beacon Connected."
   --#SUMMARY "Beacon Connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 543

apcBeaconDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "SEVERE: A beacon has been disconnected from the device.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. "
   --#TYPE "APC: Beacon Disconnected."
   --#SUMMARY "Beacon Disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 544

apcBeaconOn TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A beacon has gone on (activated).
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. "
   --#TYPE "APC: Beacon On."
   --#SUMMARY "Beacon On."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 545

apcBeaconOff TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A beacon has gone off (deactivated).
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. "
   --#TYPE "APC: Beacon Off."
   --#SUMMARY "Beacon Off."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 546

apcOutletStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, mtrapargsString04, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: An outlet 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 a secondary device id number. 
        The fourth argument is the outlet number. 
        The fifth argument is the outlet name.
        The sixth argument is the current outlet state (1=ON, 2=OFF).
        The seventh argument is the configured normal outlet state (1=ON, 2=OFF)."
   --#TYPE "APC: 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
   ::= 547

apcOutletStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, mtrapargsString04, 
               mtrapargsInteger02, mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: An outlet 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 a secondary device id number. 
        The fourth argument is the outlet number. 
        The fifth argument is the outlet name.
        The sixth argument is the current outlet state (1=ON, 2=OFF).
        The seventh argument is the configured normal outlet state (1=ON, 2=OFF)."
   --#TYPE "APC: 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
   ::= 548

apcOutputRelayStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, 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 a secondary device id number. 
        The fourth argument is the output relay number. 
        The fifth argument is the output relay name.
        The sixth argument is the current output relay state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal output relay state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: 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
   ::= 549

apcOutputRelayStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, 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 a secondary device id number. 
        The fourth argument is the output relay number. 
        The fifth argument is the output relay name.
        The sixth argument is the current output relay state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal output relay state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: 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
   ::= 550

apcHardwareStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, 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 device ports or Alink Current limit detection.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is a hardware specific state code."

   --#TYPE "APC: Hardware is in an abnormal state."
   --#SUMMARY "Hardware is in an abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 551

apcHardwareStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The device's hardware is in its normal operational state.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id 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
   ::= 552

apcCriticalDiscreteInputContactStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, mtrapargsInteger02, 
               mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "SEVERE: A discrete 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 a secondary device id number. 
        The fourth argument is the input contact number. 
        The fifth argument is the input contact name.
        The sixth argument is the input contact state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: Discrete input contact has changed to its abnormal state."
   --#SUMMARY "Discrete input contact has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 553

apcCriticalDiscreteInputContactStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, mtrapargsInteger02, 
               mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A discrete 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 a secondary device id number. 
        The fourth argument is the input contact number. 
        The fifth argument is the input contact name.
        The sixth argument is the input contact state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: Discrete input contact has changed to its normal state."
   --#SUMMARY "Discrete input contact has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 554

apcWarningDiscreteInputContactStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, mtrapargsInteger02, 
               mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "WARNING: A discrete 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 a secondary device id number. 
        The fourth argument is the input contact number. 
        The fifth argument is the input contact name.
        The sixth argument is the input contact state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: Discrete input contact has changed to its abnormal state."
   --#SUMMARY "Discrete input contact has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 555

apcWarningDiscreteInputContactStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, mtrapargsInteger02, 
               mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A discrete 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 a secondary device id number. 
        The fourth argument is the input contact number. 
        The fifth argument is the input contact name.
        The sixth argument is the input contact state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: Discrete input contact has changed to its normal state."
   --#SUMMARY "Discrete input contact has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 556

apcInformationalDiscreteInputContactStateAbnormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, mtrapargsInteger02, 
               mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A discrete 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 a secondary device id number. 
        The fourth argument is the input contact number. 
        The fifth argument is the input contact name.
        The sixth argument is the input contact state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: Discrete input contact has changed to its abnormal state."
   --#SUMMARY "Discrete input contact has changed to its abnormal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 557

apcInformationalDiscreteInputContactStateNormal TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsInteger, 
               mtrapargsString04, mtrapargsInteger02, 
               mtrapargsInteger03, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A discrete 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 a secondary device id number. 
        The fourth argument is the input contact number. 
        The fifth argument is the input contact name.
        The sixth argument is the input contact state (1=CLOSED, 2=OPEN).
        The seventh argument is the configured normal input contact state (1=CLOSED, 2=OPEN)."
   --#TYPE "APC: Discrete input contact has changed to its normal state."
   --#SUMMARY "Discrete input contact has changed to its normal state."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 558

apcAnalogInputMaxThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Maximum threshold violated on an analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: Maximum threshold violation on analog input."
   --#SUMMARY "Max threshold violation on input."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 559

apcAnalogInputMaxThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Maximum threshold violation cleared on the analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: Max threshold violation cleared."
   --#SUMMARY "Max threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 560

apcAnalogInputHighThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "WARNING: High threshold violated on an analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: High threshold violation on analog input."
   --#SUMMARY "High threshold violation on input."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 561

apcAnalogInputHighThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: High threshold violation cleared on the analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: High threshold violation cleared."
   --#SUMMARY "High threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 562

apcAnalogInputLowThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "WARNING: Low threshold violated on an analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: Low threshold violation on analog input."
   --#SUMMARY "Low threshold violation on input."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 563

apcAnalogInputLowThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Low threshold violation cleared on the analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: Low threshold violation cleared."
   --#SUMMARY "Low threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 564

apcAnalogInputMinThresholdViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "SEVERE: Minimum threshold violated on an analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: Min threshold violation on analog input."
   --#SUMMARY "Min threshold violation on input."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 565

apcAnalogInputMinThresholdViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: Minimum threshold violation cleared on the analog input. 
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is a secondary device id number. 
        The fourth argument is the input number. 
        The fifth argument is the input name."
   --#TYPE "APC: Min threshold violation cleared."
   --#SUMMARY "Min threshold violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 566

apcDeviceClearLostComms TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Lost communications reset command has been issued.
        The first argument is the device serial number.
        The second argument is the device name.
        The third argument is a secondary device id number."
   --#TYPE "APC: Lost communications reset command has been issued."
   --#SUMMARY "Lost communications reset command has been issued."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL

   ::= 567

apcDeviceConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: A device has been connected to the host.
        The first argument is the host serial number.
        The second argument is the host name.
        The third argument is the device number.
        The fourth argument is the device name."
   --#TYPE "APC: Device Connected."
   --#SUMMARY "Device Connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 568

apcDeviceDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsInteger, mtrapargsString04, mtrapargsString }
   DESCRIPTION
      "SEVERE: A device has been disconnected from the host.
        The first argument is the host serial number.
        The second argument is the host name.
        The third argument is the device number. 
        The fourth argument is the device name."
   --#TYPE "APC: Device Disconnected."
   --#SUMMARY "Device Disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 569

apcUnregisteredUserAccessDenied TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsString04, 
               mtrapargsInteger, mtrapargsString05, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: An unregistered user has tried to access the device.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argumant is the door identifier.
        The fifth argument is the unregistered user's RFID."
   --#TYPE "APC: Unregistered user."
   --#SUMMARY "Unregistered user."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 570


apcRegisteredUserAccessDenied TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsString04, 
               mtrapargsInteger, mtrapargsString05, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A registered user has been denied access to the device.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argumant is the door identifier.
        The fifth argument is the user name."
   --#TYPE "APC: Access denied."
   --#SUMMARY "Access denied."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 571

apcRegisteredUserConfigChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsString05, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: Registered user configuration change.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the user name." 
   --#TYPE "APC: Registered user configuration change."
   --#SUMMARY "Registered user configuration change."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 572

apcDoorUnlocked TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsString04, 
               mtrapargsInteger, mtrapargsString05, mtrapargsInteger02, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door has been unlocked.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier.
        The fifth argument is the door access user.
        The sixth argument is the door access type."
   --#TYPE "APC: Door unlocked."
   --#SUMMARY "Door unlocked."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 573

apcDoorLocked TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsString04, 
               mtrapargsInteger, mtrapargsString05, mtrapargsInteger02, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door has been locked.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier.
        The fifth argument is the door access user.
        The sixth argument is the door access type."
   --#TYPE "APC: Door locked."
   --#SUMMARY "Door locked."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 574

apcHandleOpened TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door handle has been opened.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Door handle opened."
   --#SUMMARY "Door handle opened."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 575

apcHandleClosed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door handle has been closed.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Door handle closed."
   --#SUMMARY "Door handle closed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 576


apcDoorOpened TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door has been opened.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Door opened."
   --#SUMMARY "Door opened."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 577

apcDoorClosed TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door has been closed.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Door closed."
   --#SUMMARY "Door closed."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 578

   -- trap number 579 available


apcKeyOverrideUnlocked TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: Key override unlock has occurred.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Key override unlock has occurred."
   --#SUMMARY "Key override unlock has occurred."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 580


apcKeyOverrideLocked TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: Key override lock has occurred.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Key override lock has occurred."
   --#SUMMARY "Key override lock has occurred."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 581

apcForcedEntry TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: A forced entry condition has occurred.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: A forced entry condition has occurred."
   --#SUMMARY "A forced entry has occurred."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 582

apcForcedEntryCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A forced entry 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 host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: A forced entry condition has been cleared."
   --#SUMMARY "A forced entry has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 583


apcRelockTimeout TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: A relock timout has occured.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Relock timout."
   --#SUMMARY "Relock timeout."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 584

apcRelockTimeoutCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A relock timout 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 host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: relock timout has been cleared."
   --#SUMMARY "Relock timout has been cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 585

apcDoorSenseDisconnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: A door sensor was disconnected.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: A door sensor was disconnected."
   --#SUMMARY "A door sensor was disconnected."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 586

apcDoorSenseConnected TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A forced entry 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 host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: A door sensor was connected."
   --#SUMMARY "A door sensor was connected."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 587


apcDoorLostComms TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: Communications have been lost with the door.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: A door has lost communications."
   --#SUMMARY "A door has lost communications."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 588

apcDoorEstablishedComms TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: Communications have been established with the door.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: A door has established communications."
   --#SUMMARY "A door has established communications."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 589



apcRegisteredUserAccessChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsString05, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: Registered user access changed.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the user name." 
   --#TYPE "APC: Registered user access change."
   --#SUMMARY "Registered user access change."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 590


apcUnregisteredUserStatusChange TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsString05, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: Unregistered user status changed.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the user name." 
   --#TYPE "APC: Unregistered user status change."
   --#SUMMARY "Unregistered user status change."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 591

apcDeviceClearUserConfigs TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, mtrapargsInteger04, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: User configurations reset command has been issued.
        The first argument is the device serial number.
        The second argument is the device name.
        The third argument is a secondary device id number."
   --#TYPE "APC: User configurations reset command has been issued."
   --#SUMMARY "User configurations reset command has been issued."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 592

-- Add more events starting at 600 for UPS Devices 

upsBatteryTempSensorFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The battery temperature sensor fault exists."
   --#TYPE "APC UPS: The battery temperature sensor fault exists."
   --#SUMMARY "The battery temperature sensor fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 600

upsBatteryTempSensorFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The battery temperature sensor fault cleared."
   --#TYPE "APC UPS: The battery temperature sensor fault cleared."
   --#SUMMARY "The battery temperature sensor fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 601
   
upsBatterySoftBusStartFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: A battery bus soft start fault exists."
   --#TYPE "APC UPS: A battery bus soft start fault exists."
   --#SUMMARY "A battery bus soft start fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 602

upsBatterySoftBusStartFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: A battery bus soft start fault exists cleared."
   --#TYPE "APC UPS: A battery bus soft start fault exists cleared."
   --#SUMMARY "A battery bus soft start fault exists cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 603
   
apcOutputShortCircuit TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: An output short circuit condition exists."
   --#TYPE "APC Device: An output short circuit condition exists."
   --#SUMMARY "An output short circuit condition exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 604

apcOutputShortCircuitCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: An output short circuit condition cleared."
   --#TYPE "APC Device: An output short circuit condition cleared."
   --#SUMMARY "An output short circuit condition cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 605
   
apcOutputRelayFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: An output relay (or its driver) fault exists."
   --#TYPE "APC Device: An output relay (or its driver) fault exists."
   --#SUMMARY "An output relay (or its driver) fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 606

apcOutputRelayFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: An output relay (or its driver) fault cleared."
   --#TYPE "APC Device: An output relay (or its driver) fault cleared."
   --#SUMMARY "An output relay (or its driver) fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 607
   
upsPfcFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: A PFC fault exists."
   --#TYPE "APC UPS: A PFC fault exists."
   --#SUMMARY "A PFC fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 608

upsPfcFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The PFC fault cleared."
   --#TYPE "APC UPS: The PFC fault cleared."
   --#SUMMARY "The PFC fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 609
   
apcDcBusOverVoltage TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The DC bus voltage is too high."
   --#TYPE "APC Devcie: DC bus voltage is too high."
   --#SUMMARY "The DC bus voltage is too high."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 610

apcDcBusOverVoltageCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The DC bus voltage is too high cleared."
   --#TYPE "APC Device: The DC bus voltage is too high cleared."
   --#SUMMARY "The DC bus voltage is too high cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 611
   
upsInverterFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The inverter fault exists."
   --#TYPE "APC UPS: The inverter fault exists."
   --#SUMMARY "The inverter fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 612

upsInverterFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The inverter fault cleared."
   --#TYPE "APC UPS: The inverter fault cleared."
   --#SUMMARY "The inverter fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 613
   
apcAdConverterFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The A/D converter fault exists."
   --#TYPE "APC Device: The A/D converter fault exists."
   --#SUMMARY "The A/D converter fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 614

apcAdConverterFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: The A/D converter fault cleared."
   --#TYPE "APC Device: The A/D converter fault cleared."
   --#SUMMARY "The A/D converter fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 615
   
apcLogicPowerSupplyFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: A logic power supply fault exists."
   --#TYPE "APC Device: A logic power supply fault exists."
   --#SUMMARY "A logic power supply fault exists."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 616

apcLogicPowerSupplyFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "INFORMATIONAL: A logic power supply fault cleared."
   --#TYPE "APC Device: A logic power supply fault cleared."
   --#SUMMARY "A logic power supply fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 617
   
apcTransformerDCImbalanceFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The DC component of the transformer's current is too high."
   --#TYPE "APC Device: The DC component of the tformer's curr is too high."
   --#SUMMARY "The DC component of the transformer's current is too high."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 618

apcTransformerDCImbalanceFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The DC component of the transformer's current is normal."
   --#TYPE "APC Device: The DC component of the tformer's curr is normal."
   --#SUMMARY "The DC component of the transformer's current is normal."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 619
   
upsBackfeedRelayFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The backfeed relay (or its driver) has a fault."
   --#TYPE "UPS Device: The backfeed relay (or its driver) has a fault."
   --#SUMMARY "The backfeed relay (or its driver) has a fault."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 620

upsBackfeedRelayFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: The backfeed relay (or its driver) has a fault cleared."
   --#TYPE "UPS Device: The bfeed rly (or its drver) has a flt cleared."
   --#SUMMARY "The backfeed relay (or its driver) has a fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 621
   
upsBypassRelayFault TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: A bypass relay (or its driver) has a fault."
   --#TYPE "APC Device: A bypass relay (or its driver) has a fault."
   --#SUMMARY "A bypass relay (or its driver) has a fault."
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 622

upsBypassRelayFaultCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
       "WARNING: A bypass relay (or its driver) has a fault cleared."
   --#TYPE "APC Device: A bypass relay (or its driver) has a fault cleared."
   --#SUMMARY "A bypass relay (or its driver) has a fault cleared."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 623
   

xPDUBranchCurrentMinAlarm 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 minimum current alarm."
   --#SUMMARY "Branch circuit current is below threshold."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 626

xPDUBranchCurrentMinAlarmCleared 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 minimum current alarm cleared."
   --#SUMMARY "Branch circuit low current alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 627

xPDUBranchCurrentMaxAlarm 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 maximum current alarm."
   --#SUMMARY "Branch circuit current is above threshold."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 628

xPDUBranchCurrentMaxAlarmCleared 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 maximum current alarm cleared."
   --#SUMMARY "Branch circuit high current alarm cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 629


rPDUOutletLowLoad TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletStatusIndex, mtrapargsString }
   DESCRIPTION
      "WARNING: A Rack PDU has violated the outlet low load threshold.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number."
   --#TYPE "APC Rack PDU: Violation of outlet low load threshold."
   --#SUMMARY "A Rack PDU has violated the outlet low load threshold."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 630

rPDUOutletLowLoadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletStatusIndex, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The outlet low load condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number."
   --#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
   ::= 631

rPDUOutletNearOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletStatusIndex, mtrapargsString }
   DESCRIPTION
      "WARNING: A Rack PDU is near an outlet overload condition.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number."
   --#TYPE "APC Rack PDU: Near an overload condition."
   --#SUMMARY "A Rack PDU is near an outlet overload condition."
   --#ARGUMENTS { }
   --#SEVERITY WARNING
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 632

rPDUOutletNearOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletStatusIndex, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The outlet near overload condition on a Rack PDU has 
       been cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number."
   --#TYPE "APC Rack PDU: Outlet Near overload condition has cleared."
   --#SUMMARY "Rack PDU outlet near overload condition has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 633

rPDUOutletOverload TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletStatusIndex, 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 outlet number."
   --#TYPE "APC Rack PDU: Outlet Overload condition."
   --#SUMMARY "A Rack PDU is in an outlet overload condition."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE DEGRADED
   ::= 634

rPDUOutletOverloadCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { rPDUIdentSerialNumber, rPDUIdentName, 
               rPDUOutletStatusIndex, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: The outlet overload condition on a Rack PDU has been 
       cleared.
       The first argument is the serial number.
       The second argument is the device name.
       The third argument is the outlet number."
   --#TYPE "APC Rack PDU: Overload condition has cleared."
   --#SUMMARY "The outlet overload condition on a Rack PDU has cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 635 

apcTestTrap TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsInteger02, mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Trap used to test SNMP trap functionality.
       The first argument is a place holder for test variables."
   --#TYPE "APC: Test trap."
   --#SUMMARY "Test Trap."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 636 

baseFanFailureCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString }
   DESCRIPTION
      "INFORMATIONAL: Base module fan has been repaired"
   --#TYPE "APC UPS: Base module fan has been repaired"
   --#SUMMARY "The base module fan has been repaired."
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 637    
   


apcDoorClosedImproperly TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: A door has been closed improperly.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Door closed improperly."
   --#SUMMARY "Door closed improperly."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 692

apcDoorClosedImproperlyCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: A door is no longer closed improperly.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: Door no longer closed improperly."
   --#SUMMARY "Door no longer closed improperly."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 693

apcUserScheduleViolation TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "SEVERE: A user has had a door opened past the scheduled access period.
        The first argument is the host device serial number.
        The second argument is the host device name.
        The third argument is the host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: User schedule violated."
   --#SUMMARY "User schedule violated."
   --#ARGUMENTS { }
   --#SEVERITY SEVERE
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 694

apcUserScheduleViolationCleared TRAP-TYPE
   ENTERPRISE apc
   VARIABLES { mtrapargsString02, mtrapargsString03, 
               mtrapargsString04, mtrapargsInteger, mtrapargsString}
   DESCRIPTION
      "INFORMATIONAL: User schedule violation 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 host device location.
        The fourth argument is the door identifier, (1=front, 2=rear)."
   --#TYPE "APC: User schedule violation cleared."
   --#SUMMARY "User schedule violation cleared."
   --#ARGUMENTS { }
   --#SEVERITY INFORMATIONAL
   --#TIMEINDEX 1
   --#HELP ""
   --#HELPTAG 0
   --#STATE OPERATIONAL
   ::= 695


END
