XUPS-MIB DEFINITIONS ::= BEGIN

-- Revised February 25, 1993
-- Revised June 21, 1993
-- Revised (Variable types of ) August 5, 1993
-- Revised August 16, 1993 - added units of measure
-- Added Event History to Alarm Group and get/set time/date.
-- Cleanup for final release.  9/3/93

-- Release Version 0.91 9/17/93
-- Release Version 1.00 11/16/93

-- Changes for Release Version 2.00  9/7/94
-- 1) Renamed UPS-MIB to XUPS-MIB and all names from upsVariable
--      to xupsVariable to avoid conflicts with RFC 1628 Standard UPS MIB names
-- 2) Renamed all traps from upsName to xupstName to avoid conflicts with
--      similar alarm names
-- 3) Added well known alarms and traps:
--      BreakerOpen, AlarmEntryAdded, AlarmEntryRemoved
-- 4) Deprecated xupsControlOutputOnTrapDelay
-- 5) Added xupsTrapControl group
-- 6) enumerated the value startTest for xupsTestBattery
-- 7) Defined oid values to use for sysObjectId

-- Changes for Release Version 2.10  11/1/94
-- 1) Corrected type of xupsAlarms, xupsAlarmNumEvents (Gauge)
-- 2) Defined three trap sources, which differ in their descriptions
--      of trap variables (none, Defined, defined plus Port N Interface vars)
-- 3) Clarified AlarmEvent order and numbering

-- Changes for Release Version 2.11  3/30/95
-- 1) Removed references to version 2.00 MIB files
-- 2) Added range declarations for appropriate objects
-- 3) Added Object IDs for new products

-- Changes for Release Version 2.20  8/29/96
-- 1) Corrected upper Integer range from 2147483648 to 2147483647
-- 2) Added xupsEnvironment group and its objects and alarm xupsAmbientTempBad
-- 3) Added xupsBatteryAbmStatus to monitor Advanced Battery Management status
-- 4) Added well-known alarms from RFC 1628 which weren't previously supported:
--    xupsAlarmBatteryBad, xupsOutputOffAsRequested, xupsDiagnosticTestFailed,
--    xupsCommunicationsLost, xupsUpsShutdownPending, xupsAlarmTestInProgress
-- 5) Added Defined and PortN (but not Basic) type traps for above alarms
-- 6) Added xupsControlToBypassDelay to allow Go To Bypass command.

-- Changes for Release Version 2.21  5/19/99
-- Renaming from Exide Electronics to Powerware Corporation

-- Changes for Release Version 3.00 3-Apr-02 Connectivity Systems Group,
-- Power Systems Division, Invensys
-- 1) Rolled in Receptacle Control extensions from separate file
-- 2) Added Topology group objects
-- 3) Added new var xupsOutputSource, which extends upsOutputSource
-- 4) Added new var xupsAlarmEventMsg to replace the other deprecated xAEEntry vars

-- Changes for Release Version 3.01 15-Aug-02 Connectivity Systems Group,
-- Powerware, Power Systems Division, Invensys
-- 1) Added new vars xupsConfigLow- and -HighOutputVoltageLimit.

-- Changes for Release Version 3.02 06-Oct-02 Connectivity Systems Group,
-- Powerware, Power Systems Division, Invensys
-- To support the ConnectUPS Web/SNMP card's ability to monitor an external contact,
-- the following traps were added:
-- 1) Added new trap xupstdContactAlarmActive in xupsTrapDefined
-- 2) Added new trap xupstdContactAlarmInactive in xupsTrapDefined
--
-- These are added to support the ConnectUPS Web/SNMP card's ability to monitor
-- a single contact closure (firmware and custom cable required)

-- Changes for Release Version 3.03 05-Feb-03 Connectivity Systems Group,
-- Powerware, Invensys Energy Systems
-- 1) To support the ability to monitor additional external contacts,
-- the var lists of the xupstdContactActiveNotice and
--      xupstdContactInactiveNotice traps were modified.
-- 2) Added new var xupsInputSource
-- 3) Added new vars xupsLoadShedSecsWithRestart and xupsRecepShedSecsWithRestart to
--      provide guaranteed correct load shedding behavior to the management software.
-- 4) Added vars to the Environmental group: xupsEnvAmbientHumidity,
--      xupsEnvRemoteTemp, and xupsEnvRemoteHumidity.
-- 5) Added xupsEnvNumContacts and the Environmental Contact Sensing Table,
--      xupsContactSenseTable.
-- 6) Updated Tech Support telephone numbers listed below.

-- Changes for Release Version 3.04 30-Apr-03 Connectivity Systems Group,
-- Powerware, Invensys Energy Systems
-- 1) Added new Well-Known Alarm and traps for xupsLossOfRedundancy,
--    xupsAlarmTempBad, xupsAlarmChargerFailed, xupsAlarmFanFailure,
--    xupsAlarmFuseFailure, xupsPowerSwitchBad, xupsModuleFailure,
--    xupsOnAlternatePowerSource, xupsAltPowerNotAvailable, xupsNoticeCondition
-- 2) Added new vars for Min/Max limits for Remote Temp & Humidity
-- 3) Added new W-K Alarms and traps for Min/Max limits for Remote Temp & Humidity

--
-- Customer Support: contact Tech Support at
--
-- Single-Phase Products: 800-356-5737 (US) or 608-565-2100
--
-- 3-Phase Products: 800-843-9433 (US) or 919-871-1800
--

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


-- Note that .534. was originally assigned to Exide Electronics
--      before it was renamed to Invensys Powerware.

powerware       OBJECT IDENTIFIER       ::= {enterprises 534}
xups            OBJECT IDENTIFIER       ::= {powerware 1}

xupsIdent        OBJECT IDENTIFIER       ::= { xups 1 }
xupsBattery      OBJECT IDENTIFIER       ::= { xups 2 }
xupsInput        OBJECT IDENTIFIER       ::= { xups 3 }
xupsOutput       OBJECT IDENTIFIER       ::= { xups 4 }
xupsBypass       OBJECT IDENTIFIER       ::= { xups 5 }
xupsEnvironment  OBJECT IDENTIFIER       ::= { xups 6 }
xupsAlarm        OBJECT IDENTIFIER       ::= { xups 7 }
xupsTest         OBJECT IDENTIFIER       ::= { xups 8 }
xupsControl      OBJECT IDENTIFIER       ::= { xups 9 }
xupsConfig       OBJECT IDENTIFIER       ::= { xups 10 }
xupsTrapControl  OBJECT IDENTIFIER       ::= { xups 11 }
xupsRecep        OBJECT IDENTIFIER       ::= { xups 12 }
xupsTopology     OBJECT IDENTIFIER       ::= { xups 13 }


--
-- The following Object Identifiers are used to distinguish Powerware's
-- SNMP agents:
xupsObjectId     OBJECT IDENTIFIER       ::= {powerware 2}

powerwareEthernetSnmpAdapter     OBJECT IDENTIFIER   ::= {xupsObjectId 1}
powerwareNetworkSnmpAdapterEther OBJECT IDENTIFIER   ::= {xupsObjectId 2}
powerwareNetworkSnmpAdapterToken OBJECT IDENTIFIER   ::= {xupsObjectId 3}
onlinetDaemon                    OBJECT IDENTIFIER   ::= {xupsObjectId 4}
connectUPSAdapterEthernet        OBJECT IDENTIFIER   ::= {xupsObjectId 5}
powerwareNetworkDigitalIOEther   OBJECT IDENTIFIER   ::= {xupsObjectId 6}
connectUPSAdapterTokenRing       OBJECT IDENTIFIER   ::= {xupsObjectId 7}
simpleSnmpAdapter                OBJECT IDENTIFIER   ::= {xupsObjectId 8}


--
-- xupsIdent group:
--
xupsIdentManufacturer OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..31))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The UPS Manufacturer Name (e.g. Powerware Corporation)."
   ::= { xupsIdent 1}

xupsIdentModel OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..63))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The UPS Model (e.g. Powerware Plus Model 18)."
   ::= {xupsIdent 2}

xupsIdentSoftwareVersion OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..63))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The firmware revision level(s) of the UPS microcontroller(s)."
   ::= {xupsIdent 3}

xupsIdentOemCode OBJECT-TYPE
   SYNTAX INTEGER (0..255)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"A binary code indicating who the UPS was manufactured or labeled for.
0 or 255 indicates Powerware itself."
   ::= {xupsIdent 4}



--
-- xupsBattery group:
--
xupsBatTimeRemaining OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS seconds
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"Battery run time in seconds before UPS turns off due
to low battery."
   ::= { xupsBattery 1}

xupsBatVoltage OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS Volts DC
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"Battery voltage as reported by the UPS meters."
   ::= {xupsBattery 2}

xupsBatCurrent OBJECT-TYPE
   SYNTAX INTEGER (-2147483648..2147483647)   -- UNITS Amp DC
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"Battery Current as reported by the UPS metering.
Current is positive when discharging, negative
when recharging the battery."
   ::= {xupsBattery 3}

xupsBatCapacity OBJECT-TYPE
   SYNTAX INTEGER (0..100)    -- UNITS percent
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"Battery percent charge."
   ::= { xupsBattery 4}

xupsBatteryAbmStatus OBJECT-TYPE
   SYNTAX  INTEGER {
   batteryCharging(1),
   batteryDischarging(2),
   batteryFloating(3),
   batteryResting(4),
   unknown(5)
}
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
"Gives the status of the Advanced Battery Management;
batteryFloating(3) status means that the charger is temporarily
charging the battery to its float voltage; batteryResting(4) is the
state when the battery is fully charged and none of the other actions
(charging/discharging/floating) is being done."
   ::= { xupsBattery 5}

--
-- xupsInput group:
--
xupsInputFrequency OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS 0.1 Hertz
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The utility line frequency in tenths of Hz."
   ::= {xupsInput 1}

xupsInputLineBads OBJECT-TYPE
   SYNTAX Counter
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The number of times the Input was out of tolerance
in voltage or frequency."
   ::= {xupsInput 2}

xupsInputNumPhases OBJECT-TYPE
   SYNTAX INTEGER (0..6)
   ACCESS read-only
   STATUS mandatory
   ::= {xupsInput 3}

xupsInputTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XupsInputEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "The Aggregate Object with number of entries equal to
   NumPhases and including the xupsInput group."
   ::= {xupsInput 4}

xupsInputEntry OBJECT-TYPE
   SYNTAX XupsInputEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION "The input table entry containing the current,
   voltage, etc."
   INDEX { xupsInputPhase }
   ::= { xupsInputTable 1 }

XupsInputEntry ::= SEQUENCE {
   xupsInputPhase
INTEGER,
   xupsInputVoltage
INTEGER,
   xupsInputCurrent
INTEGER,
   xupsInputWatts
INTEGER
   }

xupsInputPhase OBJECT-TYPE
   SYNTAX INTEGER  (0..6)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The number of the phase.  Serves as index for input table."
   ::= {xupsInputEntry 1}

xupsInputVoltage OBJECT-TYPE
   SYNTAX INTEGER  (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured input voltage from the UPS meters in volts."
   ::= {xupsInputEntry 2}

xupsInputCurrent OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Amp
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured input current from the UPS meters in amps."
   ::= {xupsInputEntry 3}

xupsInputWatts OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS Watts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured input real power in watts."
   ::= {xupsInputEntry 4}

xupsInputSource OBJECT-TYPE
   SYNTAX  INTEGER {
   other(1),
   none(2),                 -- For example, Utility failure
   primaryUtility(3), -- Normal utility feed to the UPS
   bypassFeed(4),           -- Bypass utility, separate from primaryUtility
   secondaryUtility(5),     -- Secondary utility feed (on a dual AC input UPS)
   generator(6), -- Power provided by a generator
   flywheel(7), -- Power provided by a flywheel (not necessarily AC)
   fuelcell(8) -- Power provided by fuel cell(s) (not necessarily AC)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
  "The present external source of input power.  The enumeration
      none(2) indicates that there is no external source of
      power, for example, the UPS is On Battery (an internal source).
      The bypassFeed(4) can only be used when the Bypass source is known
      to be a separate utility feed than the primaryUtility(3)."
   ::= { xupsInput 5 }



--
-- xupsOutput group:
--
xupsOutputLoad OBJECT-TYPE
   SYNTAX INTEGER (0..200)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The UPS output load in percent of rated capacity."
   ::= {xupsOutput 1}

xupsOutputFrequency OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS 0.1 Hertz
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured UPS output frequency in tenths of Hz."
   ::= {xupsOutput 2}

xupsOutputNumPhases OBJECT-TYPE
   SYNTAX INTEGER  (0..6)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The number of metered output phases, serves as the table
index."
   ::= {xupsOutput 3}

xupsOutputTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XupsOutputEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
"The Aggregate Object with number of entries equal to NumPhases
and including the xupsOutput group."
   ::= {xupsOutput 4}

xupsOutputEntry OBJECT-TYPE
   SYNTAX XupsOutputEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
"Output Table Entry containing voltage, current, etc."
   INDEX { xupsOutputPhase }

   ::= {xupsOutputTable 1}

XupsOutputEntry ::= SEQUENCE {
   xupsOutputPhase
   INTEGER,
   xupsOutputVoltage
   INTEGER,
   xupsOutputCurrent
   INTEGER,
   xupsOutputWatts
   INTEGER
   }

xupsOutputPhase OBJECT-TYPE
   SYNTAX INTEGER (0..6)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The number {1..3} of the output phase."
   ::= {xupsOutputEntry 1}

xupsOutputVoltage OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured output voltage from the UPS metering in volts."
   ::= {xupsOutputEntry 2}

xupsOutputCurrent OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Amp
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured UPS output current in amps."
   ::= {xupsOutputEntry 3}

xupsOutputWatts OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS Watts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured real output power in watts."
   ::= {xupsOutputEntry 4}

xupsOutputSource OBJECT-TYPE
   SYNTAX  INTEGER {
   other(1),
   none(2),
   normal(3), -- normal, single UPS module output
   bypass(4),
   battery(5),
   booster(6), -- Single or Double Boost, line-interactive UPSs only
   reducer(7), -- Buck, line-interactive UPSs only
   parallelCapacity(8), -- normal enhanced by Parallel for Capacity operation
   parallelRedundant(9), -- normal enhanced by Redundant Parallel operation
   highEfficiencyMode(10) -- normal enhanced by High Efficiency mode
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
  "The present source of output power.  The enumeration
      none(2) indicates that there is no source of output
      power (and therefore no output power), for example,
      the system has opened the output breaker."
   ::= { xupsOutput  5 }


--
-- xupsBypass group:
--
xupsBypassFrequency OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS 0.1 Hertz
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The bypass frequency in tenths of Hz."
   ::= {xupsBypass 1}

xupsBypassNumPhases OBJECT-TYPE
   SYNTAX INTEGER (0..6)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The number of lines in the UPS bypass table."
   ::= {xupsBypass 2}

xupsBypassTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XupsBypassEntry
   ACCESS not-accessible
   STATUS mandatory
   ::= {xupsBypass 3}

xupsBypassEntry OBJECT-TYPE
   SYNTAX XupsBypassEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
"Entry in the XUPS bypass table."
   INDEX { xupsBypassPhase }
   ::= {xupsBypassTable 1}

XupsBypassEntry ::= SEQUENCE {
   xupsBypassPhase
   INTEGER,
   xupsBypassVoltage
   INTEGER
   }

xupsBypassPhase OBJECT-TYPE
   SYNTAX INTEGER (0..6)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The Bypass Phase, index for the table."
   ::= {xupsBypassEntry 1}

xupsBypassVoltage OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The measured UPS bypass voltage in volts."
   ::= {xupsBypassEntry 2}


--
-- xupsEnvironment group:
--

xupsEnvAmbientTemp OBJECT-TYPE
   SYNTAX  INTEGER (-100..200)   -- UNITS Degrees Centigrade
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The reading of the ambient temperature in the vicinity of the
       UPS or SNMP agent."
   ::= { xupsEnvironment  1 }

xupsEnvAmbientLowerLimit OBJECT-TYPE
   SYNTAX  INTEGER (-100..200)   -- UNITS Degrees Centigrade
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The Lower Limit of the ambient temperature; if xupsEnvAmbientTemp
falls below this value, the xupsAmbientTempBad alarm will occur."
   ::= { xupsEnvironment  2 }

xupsEnvAmbientUpperLimit OBJECT-TYPE
   SYNTAX  INTEGER (-100..200)   -- UNITS Degrees Centigrade
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The Upper Limit of the ambient temperature; if xupsEnvAmbientTemp
rises above this value, the xupsAmbientTempBad alarm will occur.
This value should be greater than xupsEnvAmbientLowerLimit."
   ::= { xupsEnvironment  3 }

xupsEnvAmbientHumidity OBJECT-TYPE
   SYNTAX  INTEGER (0..100)   -- UNITS %
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The reading of the ambient humidity in the vicinity of the
       UPS or SNMP agent."
   ::= { xupsEnvironment  4 }

xupsEnvRemoteTemp OBJECT-TYPE
   SYNTAX  INTEGER (-100..200)   -- UNITS Degrees Centigrade
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The reading of a remote temperature sensor connected to the
       UPS or SNMP agent."
   ::= { xupsEnvironment  5 }

xupsEnvRemoteHumidity OBJECT-TYPE
   SYNTAX  INTEGER (0..100)   -- UNITS %
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
      "The reading of a remote humidity sensor connected to the
       UPS or SNMP agent."
   ::= { xupsEnvironment  6 }

--
-- The Environmental Contact Sensing Table
--      Contains the table for monitoring all contacts (digital
--      inputs).
--

xupsEnvNumContacts OBJECT-TYPE
   SYNTAX  INTEGER (1..1024)
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
  "The number of Contacts in the xupsContactSenseTable.
This object indicates the number of rows in the
xupsContactSenseTable."
   ::= { xupsEnvironment  7 }

xupsContactSenseTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF XupsContactsTableEntry
   ACCESS  not-accessible
   STATUS  mandatory
   DESCRIPTION
  "A list of Contact Sensing table entries.
The number of entries is given by the value of
xupsEnvNumContacts."
   ::= { xupsEnvironment  8 }

xupsContactsTableEntry OBJECT-TYPE
   SYNTAX  XupsContactsTableEntry
   ACCESS  not-accessible
   STATUS  mandatory
   DESCRIPTION
  "An entry containing information applicable
to a particular Contact input."
   INDEX   { xupsContactIndex }
   ::= { xupsContactSenseTable  1 }

XupsContactsTableEntry ::=
   SEQUENCE {
xupsContactIndex
   INTEGER,

xupsContactType
   INTEGER,

xupsContactState
   INTEGER,

xupsContactDescr
   DisplayString
   }

xupsContactIndex OBJECT-TYPE
   SYNTAX  INTEGER (1..1024)
   ACCESS  not-accessible
   STATUS  mandatory
   DESCRIPTION
  "The Contact identifier; identical to the Contact Number."
   ::= { xupsContactsTableEntry  1 }

xupsContactType OBJECT-TYPE
   SYNTAX  INTEGER {
   normallyOpen(1),            -- or Input Normally High
   normallyClosed(2),          -- or Input Normally Low
   anyChange(3),               -- No normal Open/Closed state
   notUsed(4)                  -- Contact not in service
   }
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
  "The normal state for this contact.  The 'other'
   state is the Active state for generating the xupstdContactActiveNotice
   trap.  If anyChange(3) is selected, then this trap is sent
       any time the contact changes to either Open or Closed.
       No traps are sent if the Contact is set to notUsed(4).
       In many cases, the configuration for Contacts may be done by other
       means, so this object may be read-only."
   ::= { xupsContactsTableEntry  2 }

xupsContactState OBJECT-TYPE
   SYNTAX  INTEGER {
   open(1),
   closed(2),
   openWithNotice(3),
   closedWithNotice(4)
   }
   ACCESS  read-only
   STATUS  mandatory
   DESCRIPTION
  "The current state of the Contact input;
the value is based on the open/closed input state
and the setting for xupsContactType.
When entering the openWithNotice(3) and closedWithNotice(4)
       states, no entries added to the xupsAlarmTable, but
       the xupstdContactActiveNotice trap is sent."
   ::= { xupsContactsTableEntry  3 }

xupsContactDescr OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..63))
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
  "A label identifying the Contact.  This object should be
   set by the administrator."
   ::= { xupsContactsTableEntry  4 }

xupsEnvRemoteTempLowerLimit OBJECT-TYPE
   SYNTAX  INTEGER (-100..200)   -- UNITS Degrees Centigrade
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The Lower Limit of the remote temperature; if xupsEnvRemoteTemp
falls below this value, the xupsRemoteTempBad alarm will occur."
   ::= { xupsEnvironment  9 }

xupsEnvRemoteTempUpperLimit OBJECT-TYPE
   SYNTAX  INTEGER (-100..200)   -- UNITS Degrees Centigrade
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The Upper Limit of the remote temperature; if xupsEnvRemoteTemp
rises above this value, the xupsRemoteTempBad alarm will occur.
This value should be greater than xupsEnvRemoteTempLowerLimit."
   ::= { xupsEnvironment  10 }

xupsEnvRemoteHumidityLowerLimit OBJECT-TYPE
   SYNTAX  INTEGER (0..100)   -- UNITS %
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The Lower Limit of the remote humidity reading; if xupsEnvRemoteHumidity
falls below this value, the xupsRemoteHumidityBad alarm will occur."
   ::= { xupsEnvironment  11 }

xupsEnvRemoteHumidityUpperLimit OBJECT-TYPE
   SYNTAX  INTEGER (0..100)   -- UNITS %
   ACCESS  read-write
   STATUS  mandatory
   DESCRIPTION
      "The Upper Limit of the remote humidity reading; if xupsEnvRemoteHumidity
rises above this value, the xupsRemoteHumidityBad alarm will occur.
This value should be greater than xupsEnvRemoteHumidityLowerLimit."
   ::= { xupsEnvironment  12 }



--
-- xupsAlarm group:
--
xupsAlarms OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The current number of alarm conditions."
   ::= {xupsAlarm 1}

xupsAlarmTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XupsAlarmEntry
   ACCESS not-accessible
   STATUS mandatory
   ::= {xupsAlarm 2}

xupsAlarmEntry OBJECT-TYPE
   SYNTAX XupsAlarmEntry
   ACCESS not-accessible
   STATUS mandatory
   INDEX { xupsAlarmID }
   ::= {xupsAlarmTable 1}

XupsAlarmEntry ::= SEQUENCE {
   xupsAlarmID
INTEGER,
   xupsAlarmDescr
OBJECT IDENTIFIER,
   xupsAlarmTime
TimeTicks
   }

xupsAlarmID OBJECT-TYPE
   SYNTAX INTEGER  (1..2147483647)
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"A unique identifier for an alarm condition."
   ::= {xupsAlarmEntry 1}

xupsAlarmDescr OBJECT-TYPE
   SYNTAX OBJECT IDENTIFIER
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"A reference to an alarm description object.  The object
referenced should not be accessible, but rather be used to
provide a unique description of the alarm condition."
   ::= {xupsAlarmEntry 2}

xupsAlarmTime OBJECT-TYPE
   SYNTAX TimeTicks
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The value of the MIB-II variable sysUpTime when the alarm
condition occurred."
   ::= {xupsAlarmEntry 3}

--
-- Well known alarm conditions.
--
xupsOnBattery                    OBJECT IDENTIFIER ::= {xupsAlarm 3}
xupsLowBattery                   OBJECT IDENTIFIER ::= {xupsAlarm 4}
xupsUtilityPowerRestored         OBJECT IDENTIFIER ::= {xupsAlarm 5}
xupsReturnFromLowBattery         OBJECT IDENTIFIER ::= {xupsAlarm 6}
xupsOutputOverload               OBJECT IDENTIFIER ::= {xupsAlarm 7}
xupsInternalFailure              OBJECT IDENTIFIER ::= {xupsAlarm 8}
xupsBatteryDischarged            OBJECT IDENTIFIER ::= {xupsAlarm 9}
xupsInverterFailure              OBJECT IDENTIFIER ::= {xupsAlarm 10}
xupsOnBypass                     OBJECT IDENTIFIER ::= {xupsAlarm 11}
xupsBypassNotAvailable           OBJECT IDENTIFIER ::= {xupsAlarm 12}
xupsOutputOff                    OBJECT IDENTIFIER ::= {xupsAlarm 13}
xupsInputFailure                 OBJECT IDENTIFIER ::= {xupsAlarm 14}
xupsBuildingAlarm                OBJECT IDENTIFIER ::= {xupsAlarm 15}
xupsShutdownImminent             OBJECT IDENTIFIER ::= {xupsAlarm 16}
xupsOnInverter                   OBJECT IDENTIFIER ::= {xupsAlarm 17}


xupsAlarmNumEvents OBJECT-TYPE
   SYNTAX Gauge
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The number of entries in the UPS event history queue."
   ::= { xupsAlarm 18 }

xupsAlarmEventTable OBJECT-TYPE
   SYNTAX SEQUENCE OF XupsAlarmEventEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
"A table of the UPS internal event history queue."
   ::= { xupsAlarm 19 }

xupsAlarmEventEntry OBJECT-TYPE
   SYNTAX XupsAlarmEventEntry
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
"One of the entries in the UPS event history queue."
   INDEX { xupsAlarmEventID }
   ::= { xupsAlarmEventTable 1 }

-- The first 4 vars in the xAEEntry have been deprecated, since they resulted in
-- a flood of difficult to interpret data.  They have been replaced by the single
-- entry, xupsAlarmEventMsg, which gives a human-readable description of the event.
XupsAlarmEventEntry ::= SEQUENCE {
   xupsAlarmEventID
INTEGER,
   xupsAlarmEventDateAndTime
DisplayString,
   xupsAlarmEventKind
INTEGER,
   xupsAlarmEventDescr
INTEGER,
xupsAlarmEventMsg
DisplayString
   }

xupsAlarmEventID OBJECT-TYPE
   SYNTAX INTEGER (1..400)
   ACCESS read-only
   STATUS deprecated
   DESCRIPTION
"A unique number that reflects the order in which the event
occurred. The oldest event in the queue will be number 1.
Subsequent events will be numbered 2, 3, 4, etc."
   ::= { xupsAlarmEventEntry 1 }

xupsAlarmEventDateAndTime OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..22))
   ACCESS read-only
   STATUS deprecated
   DESCRIPTION
"The time and date that an event occurred as recorded in the UPS
internal event queue.  This string will reflect the time and
date as set in the UPS itself and will not be referenced to
sysUpTime.  The format is MM/DD/YYYY:HH:MM:SS.  Time is 24 hour standard."
   ::= { xupsAlarmEventEntry 2 }

xupsAlarmEventKind OBJECT-TYPE
   SYNTAX INTEGER {
   occurred (1),
   cleared (2),
   unknown (3)
   }
   ACCESS read-only
   STATUS deprecated
   DESCRIPTION
"Enumerated value that tells whether the event is an
occurrence of an alarm condition or a clearing of an
alarm condition."
   ::= { xupsAlarmEventEntry 3 }

xupsAlarmEventDescr OBJECT-TYPE
   SYNTAX INTEGER  (0..2147483647)
   ACCESS read-only
   STATUS deprecated
   DESCRIPTION
"A description of the event stored in the UPS event queue.
This description will be a sixteen bit integer value
representing one of the defined alarms in the Powerware Binary
Computer Mode communication specification; for example,
a value of 0 represents the 'Inverter AC Over Voltage'
alarm (byte 1, bit 0 in the BCM Alarm Map)."
   ::= { xupsAlarmEventEntry 4 }

xupsAlarmEventMsg OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..80))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"A text string describing each entry in the Event Log.  The format of this
text message is free (not fixed) for the operator to read; good contents
would be a time & date stamp, the event type, and a description of the event."
   ::= { xupsAlarmEventEntry 5 }

--
-- More Well known alarm conditions.
--
xupsBreakerOpen                  OBJECT IDENTIFIER ::= {xupsAlarm 20}
xupsAlarmEntryAdded              OBJECT IDENTIFIER ::= {xupsAlarm 21}
xupsAlarmEntryRemoved            OBJECT IDENTIFIER ::= {xupsAlarm 22}

-- Same as RFC 1628 Well Known Alarms:
xupsAlarmBatteryBad              OBJECT IDENTIFIER ::= {xupsAlarm 23}
xupsOutputOffAsRequested         OBJECT IDENTIFIER ::= {xupsAlarm 24}
xupsDiagnosticTestFailed         OBJECT IDENTIFIER ::= {xupsAlarm 25}
xupsCommunicationsLost           OBJECT IDENTIFIER ::= {xupsAlarm 26}
xupsUpsShutdownPending           OBJECT IDENTIFIER ::= {xupsAlarm 27}
xupsAlarmTestInProgress          OBJECT IDENTIFIER ::= {xupsAlarm 28}

-- Alarm for the Ambient Temperature, when outside of lo/hi limits
xupsAmbientTempBad               OBJECT IDENTIFIER ::= {xupsAlarm 29}

-- For Loss of Redundancy in parallel systems
xupsLossOfRedundancy             OBJECT IDENTIFIER ::= {xupsAlarm 30}

-- More Same as RFC 1628 Well Known Alarms:
xupsAlarmTempBad                 OBJECT IDENTIFIER ::= {xupsAlarm 31}
xupsAlarmChargerFailed           OBJECT IDENTIFIER ::= {xupsAlarm 32}
xupsAlarmFanFailure              OBJECT IDENTIFIER ::= {xupsAlarm 33}
xupsAlarmFuseFailure             OBJECT IDENTIFIER ::= {xupsAlarm 34}

-- A Relay, Contactor, or Breaker has failed
xupsPowerSwitchBad               OBJECT IDENTIFIER ::= {xupsAlarm 35}

-- One module in a parallel or composite system has failed
xupsModuleFailure                OBJECT IDENTIFIER ::= {xupsAlarm 36}

-- Two Alarms for systems with an Alternate Power Source, such as
-- Secondary utility feed (on a dual AC input UPS), generator,
-- flywheel, or fuelcell.
xupsOnAlternatePowerSource       OBJECT IDENTIFIER ::= {xupsAlarm 37}
xupsAltPowerNotAvailable         OBJECT IDENTIFIER ::= {xupsAlarm 38}

-- Some Notice condition exists which is not covered by the other WKA
-- (like an xupsInternalFailure, but at a lower level of urgency)
xupsNoticeCondition              OBJECT IDENTIFIER ::= {xupsAlarm 39}

-- Alarms for the Remote Temperature & Humidity, when outside of lo/hi limits
xupsRemoteTempBad                OBJECT IDENTIFIER ::= {xupsAlarm 40}
xupsRemoteHumidityBad            OBJECT IDENTIFIER ::= {xupsAlarm 41}



--
-- xupsTest group:
--
xupsTestBattery OBJECT-TYPE
   SYNTAX INTEGER { startTest (1) }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Setting this variable to startTest initiates the
battery test.  All other set values are invalid."
   ::= {xupsTest 1}

xupsTestBatteryStatus OBJECT-TYPE
   SYNTAX INTEGER {
   unknown (1),
   passed (2),
   failed (3),
   inProgress (4),
   notSupported (5),
   inhibited (6),
scheduled (7)
   }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"Reading this enumerated value gives an indication of the
UPS Battery test status."
   ::= {xupsTest 2}


--
-- xupsControl group:
--
xupsControlOutputOffDelay OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Setting this value to other than zero will cause the UPS
output to turn off after the number of seconds.
Setting it to 0 will cause an attempt to abort a pending
shutdown."
   ::= {xupsControl 1}

xupsControlOutputOnDelay OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Setting this value to other than zero will cause the UPS
output to turn on after the number of seconds.
Setting it to 0 will cause an attempt to abort a pending
startup."
   ::= {xupsControl 2}

xupsControlOutputOffTrapDelay OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"When xupsControlOutputOffDelay reaches this value, a trap will
be sent."
   ::= {xupsControl 3}

xupsControlOutputOnTrapDelay OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS deprecated
   DESCRIPTION
"When xupsControlOutputOnDelay reaches this value, a
xupsOutputOff trap will be sent."
   ::= {xupsControl 4}

xupsControlToBypassDelay OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Setting this value to other than zero will cause the UPS
output to go to Bypass after the number of seconds.
If the Bypass is unavailable, this may cause the UPS
to not supply power to the load.
Setting it to 0 will cause an attempt to abort a pending
shutdown."
   ::= {xupsControl 5}

xupsLoadShedSecsWithRestart OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Setting this value will cause the UPS output to turn off
after the set number of seconds, then restart (after a UPS-defined
'down time') when the utility is again available.
Unlike xupsControlOutputOffDelay, which might or might not,
      this object always maps to the XCP 0x8A Load Dump & Restart command,
      so the desired shutdown and restart behavior is guaranteed to happen.
Once set, this command cannot be aborted.
      This is the preferred Control object to use when performing an On
      Battery OS Shutdown."
   ::= {xupsControl 6}

--
-- xupsConfig group:
--
xupsConfigOutputVoltage OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The nominal UPS Output voltage per phase in volts."
   ::= {xupsConfig 1}

xupsConfigInputVoltage OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The nominal UPS Input voltage per phase in volts."
   ::= {xupsConfig 2}

xupsConfigOutputWatts OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS Watts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The nominal UPS available real power output in watts."
   ::= {xupsConfig 3}

xupsConfigOutputFreq OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS 0.1 Hertz
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The nominal output frequency in tenths of Hz."
   ::= {xupsConfig 4}

xupsConfigDateAndTime OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..22))
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Date and time information for the UPS.  Setting this variable
will initiate a set UPS date and time to this value.  Reading
this variable will return the UPS time and date.  This value
is not referenced to sysUpTime.  It is simply the clock value
from the UPS real time clock.
Format is as follows: MM/DD/YYYY:HH:MM:SS."
   ::= { xupsConfig 5 }

xupsConfigLowOutputVoltageLimit OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The Lower limit for acceptable Output Voltage, per the UPS
specifications."
   ::= {xupsConfig 6}

xupsConfigHighOutputVoltageLimit OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)  -- UNITS RMS Volts
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
"The Upper limit for acceptable Output Voltage, per the UPS
specifications."
   ::= {xupsConfig 7}



--
-- xupsTrapControl group:
--
xupsMaxTrapLevel OBJECT-TYPE
   SYNTAX INTEGER {
   none     (1),
   critical (2),
   major    (3),
   allTraps (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"The level of severity of traps which will be sent to the
requesting host; individual trap receivers will have
individual values for this variable.  Values are:
(1) none: no traps will be sent to this host;
(2) critical: only traps for Critical alarm conditions will
   be sent to this host;
(3) major: Critical and Major traps will be sent;
(4) allTraps: all Traps will be sent to this host
   (Critical, Major, Minor, Informational)."
   ::= {xupsTrapControl 1}

xupsSendTrapType OBJECT-TYPE
   SYNTAX INTEGER {
   stnd     (1),
   xups     (2),
   stndPlus (3),
   xupsPlus (4)
   }
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"The type of traps which will be sent to the
requesting host; individual trap receivers will have
individual values for this variable.  The additional
variables in types (3) and (4) are useful for determining
which UPS is the source on multi-port network adapters,
and for getting additional descriptive information.
Types (1) through (4) are all SNMP version 1 trap PDUs.
Values are:
(1) stnd: Traps as defined in the Standard UPS MIB (RFC1628)
   and Generic (MIB II) traps as defined in RFC 1215.
(2) xups: xupsTrapDefined Traps as defined in the PowerMIB
   and Generic (MIB II) traps as defined in RFC 1215.
(3) stndPlus: same as stnd plus variables from the interface
   group and, where appropriate, xupsTrapMessage.
(4) xupsPlus: xupsTrapPortN Traps (same as xups plus
   variables from the interface group) and,
   for authFail, xupsTrapMessage."
   ::= {xupsTrapControl 2}

xupsTrapMessage OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..79))
   ACCESS not-accessible
   STATUS mandatory
   DESCRIPTION
"A descriptive message which may be sent with traps to
further explain the reason for the trap."
   ::= {xupsTrapControl 3}



--
-- xupsRecep group:
--
-- (Note that the terms Receptacle, Outlet, and Load Group are used interchangeably
--  here and all mean "one of a set of controllable, power-switched outputs")
--
xupsNumReceptacles OBJECT-TYPE
SYNTAX INTEGER (0..64)
ACCESS read-only
STATUS mandatory
   DESCRIPTION
"The number of independently controllable Receptacles, as described in the
xupsRecepTable."
::= {xupsRecep 1}

xupsRecepTable OBJECT-TYPE
SYNTAX SEQUENCE OF XupsRecepEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "The Aggregate Object with number of entries equal to
   NumReceptacles and including the xupsRecep group."
::={xupsRecep 2}

xupsRecepEntry OBJECT-TYPE
SYNTAX XupsRecepEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "The Recep table entry, etc."
INDEX { xupsRecepIndex }
::= { xupsRecepTable 1 }

XupsRecepEntry ::= SEQUENCE {
xupsRecepIndex
INTEGER,
xupsRecepStatus
INTEGER,
xupsRecepOffDelaySecs
INTEGER,
xupsRecepOnDelaySecs
INTEGER,
xupsRecepAutoOffDelay
       INTEGER,
xupsRecepAutoOnDelay
       INTEGER,
   xupsRecepShedSecsWithRestart
       INTEGER
}

xupsRecepIndex OBJECT-TYPE
SYNTAX INTEGER (1..64)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of the Receptacle. Serves as index for Receptacle table."
::= {xupsRecepEntry 1}


xupsRecepStatus OBJECT-TYPE
   SYNTAX INTEGER {
on(1), off(2), pendingOff(3), pendingOn(4), unknown(5) }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
   "The Recep Status 1=On/Close, 2=Off/Open, 3=On w/Pending Off,
   4=Off w/Pending ON, 5=Unknown."
::={xupsRecepEntry 2}


xupsRecepOffDelaySecs OBJECT-TYPE
   SYNTAX INTEGER (-1..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"The Delay until the Receptacle is turned Off.  Setting
this value to other than -1 will cause the UPS output to
turn off after the number of seconds (0 is immediately).
Setting it to -1 will cause an attempt to abort a pending shutdown.
When this object is set while the UPS is On Battery, it is not necessary
to set xupsRecepOnDelaySecs, since the outlet will turn back on
automatically when power is available again."
::= {xupsRecepEntry 3}

xupsRecepOnDelaySecs OBJECT-TYPE
   SYNTAX INTEGER (-1..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
" The Delay until the Receptacle is turned On.  Setting
this value to other than -1 will cause the UPS output to
turn on after the number of seconds (0 is immediately).
Setting it to -1 will cause an attempt to abort a pending restart."
::={xupsRecepEntry 4}


xupsRecepAutoOffDelay OBJECT-TYPE
   SYNTAX INTEGER (-1..32767)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"The delay after going On Battery until the Receptacle is
automatically turned Off.  A value of -1 means that this Output should
never be turned Off automatically, but must be turned Off only by command.
Values from 0 to 30 are valid, but probably innappropriate.
The AutoOffDelay can be used to prioritize loads in the event of a prolonged
power outage; less critical loads will turn off earlier to extend battery
time for the more critical loads. If the utility power is restored before the
AutoOff delay counts down to 0 on an outlet, that outlet will not turn Off."
::= {xupsRecepEntry 5}

xupsRecepAutoOnDelay OBJECT-TYPE
   SYNTAX INTEGER (-1..32767)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Seconds delay after the Outlet is signaled to turn On before the Output is
Automatically turned ON. A value of -1 means that this Output should never
be turned On automatically, but only when specifically commanded to do so.
A value of 0 means that the Receptacle should come On immediately
at power-up or for an On command."
::= {xupsRecepEntry 6}

-- xupsRecepAutoOnDelay has three purposes:
-- 1. To coordinate the automatic startup of various outlets, when the normal
-- auto-sequencing of 1 second per outlet is not adequate. For example, they may
-- be used to power up hard disk arrays before CPU units are started.
-- 2. To force additional 'Down Time' during xupsRecepOffDelaySecs commands, for
-- equipment to be reset, when the standard 'Down Time' is not long enough.
-- 3. For the -1 value, to ensure that loads wont be powered until commanded,
-- following power-up or a xupsRecepOffDelaySecs command.

xupsRecepShedSecsWithRestart OBJECT-TYPE
   SYNTAX INTEGER (0..2147483647)    -- UNITS seconds
   ACCESS read-write
   STATUS mandatory
   DESCRIPTION
"Setting this value will cause the UPS output to turn off
after the set number of seconds, then restart (after a UPS-defined
'down time') when the utility is again available.
Unlike xupsRecepOffDelaySecs, which might or might not,
      this object always maps to the XCP 0x8A Load Dump & Restart command,
      so the desired shutdown and restart behavior is guaranteed to happen.
Once set, this command cannot be aborted."
   ::= {xupsRecepEntry 7}

--
-- xupsTopology group:
--
xupsTopologyType OBJECT-TYPE
SYNTAX INTEGER (0..32767)
ACCESS read-only
STATUS mandatory
   DESCRIPTION
"Value which denotes the type of UPS by its power topology.  Values are the
same as those described in the XCP Topology block's Overall Topology field."
::= {xupsTopology 1}

xupsTopoMachineCode OBJECT-TYPE
SYNTAX INTEGER (0..32767)
ACCESS read-only
STATUS mandatory
   DESCRIPTION
"ID Value which denotes the Powerware model of the UPS for software.  Values
are the same as those described in the XCP Configuration block's Machine Code
field."
::= {xupsTopology 2}

xupsTopoUnitNumber OBJECT-TYPE
SYNTAX INTEGER (0..64)
ACCESS read-only
STATUS mandatory
   DESCRIPTION
"Identifies which unit and what type of data is being reported.
A value of 0 means that this MIB information comes from the top-level system
view (eg, manifold module or system bypass cabinet reporting total system
output).  Standalone units also use a value of 0, since they are the 'full
system' view.
A value of 1 or higher indicates the number of the module in the system
which is reporting only its own data in the PowerMIB objects."
::= {xupsTopology 3}

xupsTopoPowerStrategy OBJECT-TYPE
   SYNTAX INTEGER {
highAlert(1), standard(2), enableHighEfficiency(3),
immediateHighEfficiency(4) }
ACCESS read-write
STATUS mandatory
   DESCRIPTION
"Value which denotes which Power Strategy is currently set for the UPS.
The values are:
highAlert(1) - The UPS shall optimize its operating state to maximize its
power-protection levels.  This mode will be held for at most 24 hours.
standard(2) - Balanced, normal power protection strategy. UPS will not enter
HE operating mode from this setting.
enableHighEfficiency(3) - The UPS is enabled to enter HE operating mode to
optimize its operating state to maximize its efficiency, when
conditions change to permit it (as determined by the UPS).
forceHighEfficiency(4) - If this value is permitted to be Set for this UPS,
and if conditions permit, requires the UPS to enter High Efficiency
mode now, without delay (for as long as utility conditions permit).
After successfully set to forceHighEfficiency(4),
xupsTopoPowerStrategy changes to value enableHighEfficiency(3).
xupsOutputSource will indicate if the UPS status is actually operating in
High Efficiency mode."
::= {xupsTopology 4}

-- *************************************************************************
-- *************************************************************************

--
-- Traps (xupst)
--
-- 1) Powerware's traps are defined in this MIB for three different sources:
--      a) Basic Agents for which the trap variables have not been defined,
--              though trap variables are included with the trap PDU
--      b) Agents with exactly Defined trap variables, which may be
--              used as input to trap response macros on management stations
--      c) Agents with Defined traps including ifIndex and ifDescr,
--              which can be used to determine which UPS of a multi-port
--              agent (eg, Powerware Network SNMP Adapter) sent the trap
--    The trap definitions for the three sources are very similar,
--      and use the same alarms as their triggers; their names are prefaced
--      by xupstb, xupstd, and xupstp to distinguish the three types
--
-- 2) Trap Severity Level is given as a comment to indicate which
--      xupsMaxTrapLevel will result in this trap being sent; levels
--      are (in order): Critical, Major, Minor, Informational
--
-- 3) The following Object Identifiers are used to distinguish Powerware's
--      Trap sources:
--      a) The first is for traps without defined trap variables
xupsNull         OBJECT IDENTIFIER       ::= { xups 0 }
xupsTrapBasic    OBJECT IDENTIFIER       ::= { xupsNull 0 }
--      b) The second is for traps with defined variables,
--              without ifIndex & ifDescr
xupsTrapSource   OBJECT IDENTIFIER       ::= {xupsTrapControl 4}
xupsTrapDefined  OBJECT IDENTIFIER       ::= {xupsTrapSource 1}
--      c) The third is for traps with defined variables
--              plus ifIndex & ifDescr
xupsTrapPortN    OBJECT IDENTIFIER       ::= {xupsTrapSource 2}


-- ****************************************************************************
-- ****************************************************************************
--
-- Traps from xupsTrapBasic source (xupstb):
--
xupstbControlOff TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The UPS output power will turn off in a number of
seconds equal to upsControlOutputOffTrapDelay."
   --#SEVERITY CRITICAL
   ::= 1

xupstbControlOn TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The UPS output power will turn on in a number of
seconds equal to upsControlOutputOnTrapDelay."
   --#SEVERITY INFORMATIONAL
   ::= 2

xupstbOnBattery TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The UPS has no AC input power and is running on
battery."
   --#SEVERITY MAJOR
   ::= 3

xupstbLowBattery TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The UPS batteries are low.  Tied to low battery
alarm condition."
   --#SEVERITY CRITICAL
   ::= 4

xupstbUtilityPowerRestored TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"Input power has been restored after running on battery."
   --#SEVERITY INFORMATIONAL
   ::= 5

xupstbReturnFromLowBattery TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The battery has recovered from a low battery condition."
   --#SEVERITY INFORMATIONAL
   ::= 6

xupstbOutputOverload TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups has sensed an overload of greater than
106 percent.  Tied to the 106% overload alarm."
   --#SEVERITY MINOR
   ::= 7

xupstbInternalFailure TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"Some component of the ups - rectifier, inverter,
control panel has failed.  Tied to alarms indicating failure."
   --#SEVERITY CRITICAL
   ::= 8

xupstbBatteryDischarged TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The Battery Totally Discharged Alarm has occurred."
   --#SEVERITY CRITICAL
   ::= 9

xupstbInverterFailure TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups inverter is unavailable due to an internal failure."
   --#SEVERITY CRITICAL
   ::= 10

xupstbOnBypass TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups has gone on bypass for some reason."
   --#SEVERITY CRITICAL
   ::= 11

xupstbBypassNotAvailable TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups bypass is unavailable"
   --#SEVERITY MAJOR
   ::= 12

xupstbOutputOff TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups output is switched off."
   --#SEVERITY CRITICAL
   ::= 13

xupstbInputFailure TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups input power is incorrect in voltage,
frequency, or phase rotation."
   --#SEVERITY MINOR
   ::= 14

xupstbBuildingAlarm TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"One of the defined building alarms has occurred."
   --#SEVERITY MAJOR
   ::= 15

xupstbShutdownImminent TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups shutdown imminent alarm has occurred."
   --#SEVERITY CRITICAL
   ::= 16

xupstbOnInverter TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"The ups is returned to utility power running the inverter
after either a transfer to bypass or a run on battery."
   --#SEVERITY INFORMATIONAL
   ::= 17

xupstbBreakerOpen TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"One of the UPS breakers or contactors has been opened."
   --#SEVERITY MAJOR
   ::= 20

xupstbAlarmEntryAdded TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"An alarm not defined in the xups Well Known Alarms
(eg, an alarm defined in RFC1628)
has been added to the Alarm Table."
   --#SEVERITY MAJOR
   ::= 21

xupstbAlarmEntryRemoved TRAP-TYPE
   ENTERPRISE xupsTrapBasic
   DESCRIPTION
"An alarm not defined in the xups Well Known Alarms
has been removed from the Alarm Table."
   --#SEVERITY INFORMATIONAL
   ::= 22


-- The following alarms do not have equivalents as Basic Traps
-- xupstbAlarmBatteryBad        ::= 23
-- xupstbOutputOffAsRequested   ::= 24
-- xupstbDiagnosticTestFailed   ::= 25
-- xupstbCommunicationsLost     ::= 26
-- xupstbUpsShutdownPending     ::= 27
-- xupstbAlarmTestInProgress    ::= 28
-- xupstbAmbientTempBad         ::= 29
-- xupstbContactActiveNotice    ::= 30
-- xupstbContactInactiveNotice  ::= 31
-- xupstbLossOfRedundancy       ::= 32
-- xupstbAlarmTempBad ::= 33
-- xupstbAlarmChargerFailed ::= 34
-- xupstbAlarmFanFailure ::= 35
-- xupstbAlarmFuseFailure ::= 36
-- xupstbPowerSwitchBad ::= 37
-- xupstbModuleFailure ::= 38
-- xupstbOnAlternatePowerSource ::= 39
-- xupstbAltPowerNotAvailable ::= 40
-- xupstbNoticeCondition ::= 41
-- xupstbRemoteTempBad          ::= 42
-- xupstbRemoteHumidityBad      ::= 43


-- ****************************************************************************
-- ****************************************************************************
--
-- Traps from xupsTrapDefined source (xupstd):
--

xupstdControlOff TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The UPS output power will turn off in a number of
seconds equal to upsControlOutputOffTrapDelay."
   --#SEVERITY CRITICAL
   ::= 1

xupstdControlOn TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The UPS output power will turn on in a number of
seconds equal to upsControlOutputOnTrapDelay."
   --#SEVERITY INFORMATIONAL
   ::= 2

xupstdOnBattery TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The UPS has no AC input power and is running on
battery."
   --#SEVERITY MAJOR
   ::= 3

xupstdLowBattery TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The UPS batteries are low.  Tied to low battery
alarm condition."
   --#SEVERITY CRITICAL
   ::= 4

xupstdUtilityPowerRestored TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"Input power has been restored after running on battery."
   --#SEVERITY INFORMATIONAL
   ::= 5

xupstdReturnFromLowBattery TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The battery has recovered from a low battery condition."
   --#SEVERITY INFORMATIONAL
   ::= 6

xupstdOutputOverload TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups has sensed an overload of greater than
106 percent.  Tied to the 106% overload alarm."
   --#SEVERITY MINOR
   ::= 7

xupstdInternalFailure TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"Some component of the ups - rectifier, inverter,
control panel has failed.  Tied to alarms indi-
cating failure."
   --#SEVERITY CRITICAL
   ::= 8

xupstdBatteryDischarged TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The Battery Totally Discharged Alarm has occurred."
   --#SEVERITY CRITICAL
   ::= 9

xupstdInverterFailure TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups inverter is unavailable due to an internal failure."
   --#SEVERITY CRITICAL
   ::= 10

xupstdOnBypass TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups has gone on bypass for some reason."
   --#SEVERITY CRITICAL
   ::= 11

xupstdBypassNotAvailable TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups bypass is unavailable"
   --#SEVERITY MAJOR
   ::= 12

xupstdOutputOff TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups output is switched off."
   --#SEVERITY CRITICAL
   ::= 13

xupstdInputFailure TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups input power is incorrect in voltage,
frequency, or phase rotation."
   --#SEVERITY MINOR
   ::= 14

xupstdBuildingAlarm TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"One of the defined building alarms has occurred."
   --#SEVERITY MAJOR
   ::= 15

xupstdShutdownImminent TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups shutdown imminent alarm has occurred."
   --#SEVERITY CRITICAL
   ::= 16

xupstdOnInverter TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The ups is returned to utility power running the inverter
after either a transfer to bypass or a run on battery."
   --#SEVERITY INFORMATIONAL
   ::= 17

xupstdBreakerOpen TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"One of the UPS breakers or contactors has been opened."
   --#SEVERITY MAJOR
   ::= 20

xupstdAlarmEntryAdded TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"An alarm not defined in the xups Well Known Alarms
(eg, an alarm defined in RFC1628)
has been added to the Alarm Table."
   --#SEVERITY MAJOR
   ::= 21

xupstdAlarmEntryRemoved TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"An alarm not defined in the xups Well Known Alarms
has been removed from the Alarm Table."
   --#SEVERITY INFORMATIONAL
   ::= 22

xupstdAlarmBatteryBad        TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"One or more batteries have been determined to require replacement."
   --#SEVERITY MAJOR
   ::= 23

xupstdOutputOffAsRequested   TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The UPS has shutdown as requested, i.e., the output is off."
   --#SEVERITY INFORMATIONAL
   ::= 24

xupstdDiagnosticTestFailed   TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The result of the last diagnostic test indicates a failure."
   --#SEVERITY MINOR
   ::= 25

xupstdCommunicationsLost     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
   --#SEVERITY MAJOR
   ::= 26

xupstdUpsShutdownPending     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"An xupsControlOutputOffDelay countdown is underway."
   --#SEVERITY MAJOR
   ::= 27

xupstdAlarmTestInProgress    TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"A test is in progress, as initiated and indicated by the
Battery Test Group."
   --#SEVERITY INFORMATIONAL
   ::= 28

-- Provide additional information with the AmbientTemp trap
xupstdAmbientTempBad         TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
 xupsEnvAmbientTemp, xupsEnvAmbientLowerLimit,
 xupsEnvAmbientUpperLimit }
   DESCRIPTION
      "The ambient temperature, xupsEnvAmbientTemp, has fallen below
the set lower limit, xupsEnvAmbientLowerLimit, or has risen above
the set upper limit, xupsEnvAmbientUpperLimit."
   --#SEVERITY MAJOR
   ::= 29

-- Added to support the ConnectUPS Web/SNMP card's ability to monitor contact(s)
xupstdContactActiveNotice TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsContactIndex, xupsContactType, xupsContactState, xupsContactDescr }
   DESCRIPTION
"The Contact indicated by xupsContactIndex is in its Active state.
    The following are the situations that generate this trap:
   For xupsContactType:    and     xupsContactState:
       normallyOpen(1)     and     closedWithNotice(4)
             normallyClosed(2)   and     openWithNotice(3)
             anyChange(3)        and     openWithNotice(3) or closedWithNotice(4)"
   --#SEVERITY MAJOR
   ::= 30

xupstdContactInactiveNotice TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsContactIndex, xupsContactType, xupsContactState, xupsContactDescr }
   DESCRIPTION
"The Contact indicated by xupsContactIndex has changed to its Inactive state."
   --#SEVERITY INFORMATIONAL
   ::= 31

xupstdLossOfRedundancy     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"A parallel UPS system is no longer operating in N+1 redundant mode;
      this may be due to module failure or removal, or due to overloading."
   --#SEVERITY MINOR
   ::= 32

xupstdAlarmTempBad     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"An internal temperature is out of tolerance."
   --#SEVERITY MAJOR
   ::= 33

xupstdAlarmChargerFailed     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"An uncorrected problem has been detected within the UPS charger subsystem."
   --#SEVERITY MAJOR
   ::= 34

xupstdAlarmFanFailure     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The failure of one or more fans in the UPS has been detected."
   --#SEVERITY MAJOR
   ::= 35

xupstdAlarmFuseFailure     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"The failure of one or more fuses has been detected."
   --#SEVERITY CRITICAL
   ::= 36

xupstdPowerSwitchBad     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"A Relay, Contactor, or Breaker has failed."
   --#SEVERITY CRITICAL
   ::= 37

xupstdModuleFailure     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"One module in a parallel or composite system has failed."
   --#SEVERITY MAJOR
   ::= 38

-- Adds xupsInputSource to its var list
xupstdOnAlternatePowerSource     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, xupsInputSource }
   DESCRIPTION
"The system is being powered by its Alternate Power Source, such as a
Secondary utility feed (on a dual AC input UPS), generator, flywheel,
or fuelcell."
   --#SEVERITY MINOR
   ::= 39

xupstdAltPowerNotAvailable     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"On systems with a separate alternate power source (eg, dual AC inputs),
that alternate power source is currently not available.  This could be
a problem if the primary power source (eg, utility) fails for a period
of time longer than that for which the internal batteries can supply power."
   --#SEVERITY MINOR
   ::= 40

xupstdNoticeCondition     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage }
   DESCRIPTION
"Some Notice condition exists which is not covered by the other traps.
This is like an xupstdInternalFailure, but at a lower severity level."
   --#SEVERITY MINOR
   ::= 41


-- Provide additional information with the RemoteTemp and RemoteHumidity traps
xupstdRemoteTempBad         TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
 xupsEnvRemoteTemp, xupsEnvRemoteTempLowerLimit,
 xupsEnvRemoteTempUpperLimit }
   DESCRIPTION
      "The remote temperature, xupsEnvRemoteTemp, has fallen below
the set lower limit, xupsEnvRemoteTempLowerLimit, or has risen above
the set upper limit, xupsEnvRemoteTempUpperLimit."
   --#SEVERITY MAJOR
   ::= 42

xupstdRemoteHumidityBad     TRAP-TYPE
   ENTERPRISE xupsTrapDefined
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
 xupsEnvRemoteHumidity, xupsEnvRemoteHumidityLowerLimit,
 xupsEnvRemoteHumidityUpperLimit }
   DESCRIPTION
      "The remote temperature, xupsEnvRemoteHumidity, has fallen below
the set lower limit, xupsEnvRemoteHumidityLowerLimit, or has risen above
the set upper limit, xupsEnvRemoteHumidityUpperLimit."
   --#SEVERITY MINOR
   ::= 43



-- ****************************************************************************
-- ****************************************************************************
--
-- Traps from xupsTrapPortN source (xupstp):
--

xupstpControlOff TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The UPS output power will turn off in a number of
seconds equal to upsControlOutputOffTrapDelay."
   --#SEVERITY CRITICAL
   ::= 1

xupstpControlOn TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The UPS output power will turn on in a number of
seconds equal to upsControlOutputOnTrapDelay."
   --#SEVERITY INFORMATIONAL
   ::= 2

xupstpOnBattery TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The UPS has no AC input power and is running on
battery."
   --#SEVERITY MAJOR
   ::= 3

xupstpLowBattery TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The UPS batteries are low.  Tied to low battery
alarm condition."
   --#SEVERITY CRITICAL
   ::= 4

xupstpUtilityPowerRestored TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"Input power has been restored after running on battery."
   --#SEVERITY INFORMATIONAL
   ::= 5

xupstpReturnFromLowBattery TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The battery has recovered from a low battery condition."
   --#SEVERITY INFORMATIONAL
   ::= 6

xupstpOutputOverload TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups has sensed an overload of greater than
106 percent.  Tied to the 106% overload alarm."
   --#SEVERITY MINOR
   ::= 7

xupstpInternalFailure TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"Some component of the ups - rectifier, inverter,
control panel has failed.  Tied to alarms indi-
cating failure."
   --#SEVERITY CRITICAL
   ::= 8

xupstpBatteryDischarged TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The Battery Totally Discharged Alarm has occurred."
   --#SEVERITY CRITICAL
   ::= 9

xupstpInverterFailure TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups inverter is unavailable due to an internal failure."
   --#SEVERITY CRITICAL
   ::= 10

xupstpOnBypass TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups has gone on bypass for some reason."
   --#SEVERITY CRITICAL
   ::= 11

xupstpBypassNotAvailable TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups bypass is unavailable"
   --#SEVERITY MAJOR
   ::= 12

xupstpOutputOff TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups output is switched off."
   --#SEVERITY CRITICAL
   ::= 13

xupstpInputFailure TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups input power is incorrect in voltage,
frequency, or phase rotation."
   --#SEVERITY MINOR
   ::= 14

xupstpBuildingAlarm TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"One of the defined building alarms has occurred."
   --#SEVERITY MAJOR
   ::= 15

xupstpShutdownImminent TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups shutdown imminent alarm has occurred."
   --#SEVERITY CRITICAL
   ::= 16

xupstpOnInverter TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The ups is returned to utility power running the inverter
after either a transfer to bypass or a run on battery."
   --#SEVERITY INFORMATIONAL
   ::= 17

xupstpBreakerOpen TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"One of the UPS breakers or contactors has been opened."
   --#SEVERITY MAJOR
   ::= 20

xupstpAlarmEntryAdded TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"An alarm not defined in the xups Well Known Alarms
(eg, an alarm defined in RFC1628)
has been added to the Alarm Table."
   --#SEVERITY MAJOR
   ::= 21

xupstpAlarmEntryRemoved TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"An alarm not defined in the xups Well Known Alarms
has been removed from the Alarm Table."
   --#SEVERITY INFORMATIONAL
   ::= 22

xupstpAlarmBatteryBad        TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"One or more batteries have been determined to require replacement."
   --#SEVERITY MAJOR
   ::= 23

xupstpOutputOffAsRequested   TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The UPS has shutdown as requested, i.e., the output is off."
   --#SEVERITY INFORMATIONAL
   ::= 24

xupstpDiagnosticTestFailed   TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"The result of the last diagnostic test indicates a failure."
   --#SEVERITY MINOR
   ::= 25

xupstpCommunicationsLost     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
   --#SEVERITY MAJOR
   ::= 26

xupstpUpsShutdownPending     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"An xupsControlOutputOffDelay countdown is underway."
   --#SEVERITY MAJOR
   ::= 27

xupstpAlarmTestInProgress    TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
     ifIndex, ifDescr }
   DESCRIPTION
"A test is in progress, as initiated and indicated by the
Battery Test Group."
   --#SEVERITY INFORMATIONAL
   ::= 28

-- Provide additional information with the AmbientTemp trap
xupstpAmbientTempBad         TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
 ifIndex, ifDescr,
 xupsEnvAmbientTemp, xupsEnvAmbientLowerLimit,
 xupsEnvAmbientUpperLimit }
   DESCRIPTION
      "The ambient temperature, xupsEnvAmbientTemp, has fallen below
the set lower limit, xupsEnvAmbientLowerLimit, or has risen above
the set upper limit, xupsEnvAmbientUpperLimit."
   --#SEVERITY MAJOR
   ::= 29

-- The following alarms do not have equivalents as PortN Traps
-- xupstdContactActiveNotice    ::= 30
-- xupstdContactInactiveNotice  ::= 31

xupstpLossOfRedundancy     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"A parallel UPS system is no longer operating in N+1 redundant mode;
      this may be due to module failure or removal, or due to overloading."
   --#SEVERITY MINOR
   ::= 32


xupstpAlarmTempBad     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"An internal temperature is out of tolerance."
   --#SEVERITY MAJOR
   ::= 33

xupstpAlarmChargerFailed     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"An uncorrected problem has been detected within the UPS charger subsystem."
   --#SEVERITY MAJOR
   ::= 34

xupstpAlarmFanFailure     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"The failure of one or more fans in the UPS has been detected."
   --#SEVERITY MAJOR
   ::= 35

xupstpAlarmFuseFailure     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"The failure of one or more fuses has been detected."
   --#SEVERITY CRITICAL
   ::= 36

xupstpPowerSwitchBad     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"A Relay, Contactor, or Breaker has failed."
   --#SEVERITY CRITICAL
   ::= 37

xupstpModuleFailure     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"One module in a parallel or composite system has failed."
   --#SEVERITY MAJOR
   ::= 38

xupstpOnAlternatePowerSource     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, xupsInputSource,
                 ifIndex, ifDescr }
   DESCRIPTION
"The system is being powered by its Alternate Power Source, such as a
Secondary utility feed (on a dual AC input UPS), generator, flywheel,
or fuelcell."
   --#SEVERITY MINOR
   ::= 39

xupstpAltPowerNotAvailable     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"On systems with a separate alternate power source (eg, dual AC inputs),
that alternate power source is currently not available.  This could be
a problem if the primary power source (eg, utility) fails for a period
of time longer than that for which the internal batteries can supply power."
   --#SEVERITY MINOR
   ::= 40

xupstpNoticeCondition     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr }
   DESCRIPTION
"Some Notice condition exists which is not covered by the other traps.
This is like an xupstpInternalFailure, but at a lower severity level."
   --#SEVERITY MINOR
   ::= 41


-- Provide additional information with the RemoteTemp and RemoteHumidity traps
xupstpRemoteTempBad         TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
 ifIndex, ifDescr,
 xupsEnvRemoteTemp, xupsEnvRemoteTempLowerLimit,
 xupsEnvRemoteTempUpperLimit }
   DESCRIPTION
      "The remote temperature, xupsEnvRemoteTemp, has fallen below
the set lower limit, xupsEnvRemoteTempLowerLimit, or has risen above
the set upper limit, xupsEnvRemoteTempUpperLimit."
   --#SEVERITY MAJOR
   ::= 42

xupstpRemoteHumidityBad     TRAP-TYPE
   ENTERPRISE xupsTrapPortN
   VARIABLES   { xupsAlarmID,  xupsAlarmDescr, xupsTrapMessage,
 ifIndex, ifDescr,
 xupsEnvRemoteHumidity, xupsEnvRemoteHumidityLowerLimit,
 xupsEnvRemoteHumidityUpperLimit }
   DESCRIPTION
      "The remote temperature, xupsEnvRemoteHumidity, has fallen below
the set lower limit, xupsEnvRemoteHumidityLowerLimit, or has risen above
the set upper limit, xupsEnvRemoteHumidityUpperLimit."
   --#SEVERITY MINOR
   ::= 43


   END
