towerops/priv/mibs/abb/ABB-MODULARUPS-MIB
Graham McIntire b4f8b40b7f
Include MIB files in Docker image instead of using PVC
- Remove PVC volume mount from k8s/deployment.yaml
- Delete k8s/mib-pvc.yaml (no longer needed)
- Update .gitignore to commit MIB files to git
- Add mix import_mibs task to copy MIBs from LibreNMS
- Add all MIB files from priv/mibs/ to git

This fixes the multi-attach volume error in Kubernetes where new pods
couldn't start because the RWO (ReadWriteOnce) PVC was attached to the
old pod. MIBs are now part of the Docker image and can be used by all
pods simultaneously.
2026-01-19 14:01:03 -06:00

48678 lines
1.8 MiB

ABBMODULARUPS-MIB DEFINITIONS ::= BEGIN
--
-- Modular UPS data
--
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
OBJECT-IDENTITY, Counter32, Gauge32, Integer32, Unsigned32,
enterprises
FROM SNMPv2-SMI
DisplayString, TimeStamp, TimeInterval, TestAndIncr,
AutonomousType, TEXTUAL-CONVENTION
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF;
abb MODULE-IDENTITY
LAST-UPDATED "201911190000Z"
ORGANIZATION "ABB Power Protection SA"
CONTACT-INFO
"ABB Power Protection SA
Via Luserte Sud 9
6572 Quartino
Switzerland"
DESCRIPTION
"The MIB module to describe ABB Power Protection SA
Uninterruptible Power Supplies."
REVISION "201911190000Z"
DESCRIPTION
"Unique objects name version "
REVISION "201911010000Z"
DESCRIPTION
"Read-Only version "
REVISION "201907290000Z"
DESCRIPTION
"Initial version "
::= { enterprises 53973 }
PositiveInteger ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This data type is a non-zero and non-negative value."
SYNTAX Integer32 (1..2147483647)
NonNegativeInteger ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This data type is a non-negative value."
SYNTAX Integer32 (0..2147483647)
ups OBJECT IDENTIFIER ::= { abb 1 }
upsModular OBJECT IDENTIFIER ::= { ups 1 }
--
-- System data
--
upsSystem OBJECT IDENTIFIER ::= { upsModular 1 }
upsModularDiscoveredUPSsMask OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Reading this variable returns bit mask indicating which
module in a parallel system is alive.
1 Module 1 alive
2 Module 2 alive
4 Module 3 alive
8 Module 4 alive
16 Module 5 alive
32 Module 6 alive
64 Module 7 alive
128 Module 8 alive
256 Module 9 alive
512 Module 10 alive
1024 Module 11 alive
2048 Module 12 alive
4096 Module 13 alive
8192 Module 14 alive
16384 Module 15 alive
32768 Module 16 alive
65536 Module 17 alive
131072 Module 18 alive
262144 Module 19 alive
524288 Module 20 alive
1048576 Module 21 alive
2097152 Module 22 alive
4194304 Module 23 alive
8388608 Module 24 alive
16777216 Module 25 alive
33554432 Module 26 alive
67108864 Module 27 alive
134217728 Module 28 alive
268435456 Module 29 alive
536870912 Module 30 alive
"
::= { upsSystem 4 }
upsObjects OBJECT IDENTIFIER ::= { upsSystem 1 }
--
-- The Device Identification group.
-- All objects in this group except for upsIdentName and
-- upsIdentAttachedDevices are set at device initialization
-- and remain static.
--
upsIdent OBJECT IDENTIFIER ::= { upsObjects 1 }
upsIdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { upsIdent 1 }
upsIdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { upsIdent 2 }
upsIdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
upsIdentAgentSoftwareVersion in some implementations."
::= { upsIdent 3 }
upsIdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
upsIdentUPSSoftwareVersion in some implementations."
::= { upsIdent 4 }
upsIdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { upsIdent 5 }
upsIdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { upsIdent 6 }
--
-- Battery Group
--
upsBattery OBJECT IDENTIFIER ::= { upsObjects 2 }
upsBatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
upsConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to upsConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { upsBattery 1 }
upsSecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { upsBattery 2 }
upsEstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { upsBattery 3 }
upsEstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { upsBattery 4 }
upsBatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { upsBattery 5 }
upsBatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { upsBattery 6 }
upsBatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { upsBattery 7 }
--
-- Input Group
--
upsInput OBJECT IDENTIFIER ::= { upsObjects 3 }
upsInputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { upsInput 1 }
upsInputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { upsInput 2 }
upsInputTable OBJECT-TYPE
SYNTAX SEQUENCE OF UpsInputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of upsInputNumLines."
::= { upsInput 3 }
upsInputEntry OBJECT-TYPE
SYNTAX UpsInputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { upsInputLineIndex }
::= { upsInputTable 1 }
UpsInputEntry ::= SEQUENCE {
upsInputLineIndex PositiveInteger,
upsInputFrequency NonNegativeInteger,
upsInputVoltage NonNegativeInteger,
upsInputCurrent NonNegativeInteger
}
upsInputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { upsInputEntry 1 }
upsInputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { upsInputEntry 2 }
upsInputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { upsInputEntry 3 }
upsInputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { upsInputEntry 4 }
--
-- The Output group.
--
upsOutput OBJECT IDENTIFIER ::= { upsObjects 4 }
upsOutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { upsOutput 1 }
upsOutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { upsOutput 2 }
upsOutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { upsOutput 3 }
upsOutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF UpsOutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of upsOutputNumLines."
::= { upsOutput 4 }
upsOutputEntry OBJECT-TYPE
SYNTAX UpsOutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { upsOutputLineIndex }
::= { upsOutputTable 1 }
UpsOutputEntry ::= SEQUENCE {
upsOutputLineIndex PositiveInteger,
upsOutputVoltage NonNegativeInteger,
upsOutputCurrent NonNegativeInteger,
upsOutputPower NonNegativeInteger,
upsOutputPercentLoad INTEGER
}
upsOutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { upsOutputEntry 1 }
upsOutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { upsOutputEntry 2 }
upsOutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { upsOutputEntry 3 }
upsOutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { upsOutputEntry 4 }
upsOutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { upsOutputEntry 5 }
--
-- The Bypass group.
--
upsBypass OBJECT IDENTIFIER ::= { upsObjects 5 }
upsBypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { upsBypass 1 }
upsBypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { upsBypass 2 }
upsBypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF UpsBypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of upsBypassNumLines."
::= { upsBypass 3 }
upsBypassEntry OBJECT-TYPE
SYNTAX UpsBypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { upsBypassLineIndex }
::= { upsBypassTable 1 }
UpsBypassEntry ::= SEQUENCE {
upsBypassLineIndex PositiveInteger,
upsBypassVoltage NonNegativeInteger,
upsBypassCurrent NonNegativeInteger,
upsBypassPower NonNegativeInteger
}
upsBypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { upsBypassEntry 1 }
upsBypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { upsBypassEntry 2 }
upsBypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { upsBypassEntry 3 }
upsBypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { upsBypassEntry 4 }
--
-- The Alarm group.
--
upsAlarm OBJECT IDENTIFIER ::= { upsObjects 6 }
upsAlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { upsAlarm 1 }
upsAlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF UpsAlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
upsAlarmId equal to 1, and increments the value of
upsAlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of upsAlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
upsAlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), upsAlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of upsAlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of upsAlarmsPresent."
::= { upsAlarm 2 }
upsAlarmEntry OBJECT-TYPE
SYNTAX UpsAlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { upsAlarmId }
::= { upsAlarmTable 1 }
UpsAlarmEntry ::= SEQUENCE {
upsAlarmId PositiveInteger,
upsAlarmDescr AutonomousType,
upsAlarmTime TimeStamp
}
upsAlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { upsAlarmEntry 1 }
upsAlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { upsAlarmEntry 2 }
upsAlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of upsAlarmTime shall equal
0."
::= { upsAlarmEntry 3 }
--
-- Well known alarm conditions.
--
upsWellKnownAlarms OBJECT IDENTIFIER ::= { upsAlarm 3 }
upsAlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { upsWellKnownAlarms 1 }
upsAlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { upsWellKnownAlarms 2 }
upsAlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to upsConfigLowBattTime."
::= { upsWellKnownAlarms 3 }
upsAlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { upsWellKnownAlarms 4 }
upsAlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { upsWellKnownAlarms 5 }
upsAlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { upsWellKnownAlarms 6 }
upsAlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { upsWellKnownAlarms 7 }
upsAlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { upsWellKnownAlarms 8 }
upsAlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { upsWellKnownAlarms 9 }
upsAlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { upsWellKnownAlarms 10 }
upsAlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { upsWellKnownAlarms 11 }
upsAlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { upsWellKnownAlarms 12 }
upsAlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { upsWellKnownAlarms 13 }
upsAlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { upsWellKnownAlarms 14 }
upsAlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { upsWellKnownAlarms 15 }
upsAlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { upsWellKnownAlarms 16 }
upsAlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { upsWellKnownAlarms 17 }
upsAlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { upsWellKnownAlarms 18 }
upsAlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { upsWellKnownAlarms 19 }
upsAlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { upsWellKnownAlarms 20 }
upsAlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { upsWellKnownAlarms 21 }
upsAlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A upsShutdownAfterDelay countdown is underway."
::= { upsWellKnownAlarms 22 }
upsAlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { upsWellKnownAlarms 23 }
upsAlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { upsWellKnownAlarms 24 }
--
-- The Test Group
--
upsTest OBJECT IDENTIFIER ::= { upsObjects 7 }
upsTestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
upsTestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
upsTestResultsSummary. Tests in progress may be
aborted by setting the upsTestId variable to
upsTestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value upsTestNoTestsInitiated is returned."
::= { upsTest 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
upsTestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = upsTestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, upsTestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
upsTestResultsSummary */
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, upsTestResultsSummary,
upsTestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if upsTestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of upsTestSpinLock at agent
initialization shall
be 1."
::= { upsTest 2 }
upsTestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of upsTestId to upsTestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { upsTest 3 }
upsTestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about upsTestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { upsTest 4 }
upsTestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of upsTestResultsSummary is noTestsInitiated(6),
upsTestStartTime has the value 0."
::= { upsTest 5 }
upsTestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
upsTestResultsSummary is noTestsInitiated(6),
upsTestElapsedTime has the value 0."
::= { upsTest 6 }
--
-- Well known tests.
--
upsWellKnownTests OBJECT IDENTIFIER ::= { upsTest 7 }
upsTestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { upsWellKnownTests 1 }
upsTestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { upsWellKnownTests 2 }
upsTestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { upsWellKnownTests 3 }
upsTestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { upsWellKnownTests 4 }
upsTestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { upsWellKnownTests 5 }
--
-- The Control group.
--
upsControl OBJECT IDENTIFIER ::= { upsObjects 8 }
upsShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
upsShutdownAfterDelay and upsRebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { upsControl 1 }
upsShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of upsShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if upsShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if upsShutdownType =
output and the output is already off. When read,
upsShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any upsShutdownAfterDelay already in effect."
::= { upsControl 2 }
upsStartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any upsStartupAfterDelay
countdown or upsRebootWithDuration countdown in
progress. When read, upsStartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { upsControl 3 }
upsRebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of upsShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, upsRebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { upsControl 4 }
--
-- notifications, i.e., traps
--
upsTraps OBJECT IDENTIFIER ::= { upsSystem 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
upsTrapOnBattery NOTIFICATION-TYPE
OBJECTS { upsEstimatedMinutesRemaining, upsSecondsOnBattery,
upsConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { upsTraps 1 }
upsTrapTestCompleted NOTIFICATION-TYPE
OBJECTS { upsTestId, upsTestSpinLock,
upsTestResultsSummary, upsTestResultsDetail,
upsTestStartTime, upsTestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { upsTraps 2 }
upsTrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { upsAlarmId, upsAlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for upsAlarmOnBattery and
upsAlarmTestInProgress."
::= { upsTraps 3 }
upsTrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { upsAlarmId, upsAlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for upsAlarmTestInProgress."
::= { upsTraps 4 }
--
-- conformance information
--
upsConformance OBJECT IDENTIFIER ::= { upsSystem 3 }
upsCompliances OBJECT IDENTIFIER ::= { upsConformance 1 }
--
-- compliance statements
--
upsSubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { upsSubsetIdentGroup,
upsSubsetBatteryGroup, upsSubsetInputGroup,
upsSubsetOutputGroup, upsSubsetAlarmGroup,
upsSubsetControlGroup }
OBJECT upsBatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT upsAlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: upsAlarmOnBattery, upsAlarmLowBattery,
upsAlarmInputBad, upsAlarmUpsOutputOff,
upsAlarmUpsSystemOff, and upsAlarmTestInProgress."
OBJECT upsOutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT upsShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { upsCompliances 1 }
upsBasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { upsBasicIdentGroup,
upsBasicBatteryGroup, upsBasicInputGroup,
upsBasicOutputGroup, upsBasicAlarmGroup,
upsBasicTestGroup, upsBasicControlGroup }
OBJECT upsAlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: upsAlarmOnBattery, upsAlarmLowBattery,
upsAlarmDepletedBattery, upsAlarmTempBad,
upsAlarmInputBad, upsAlarmOutputOverload,
upsAlarmOnBypass, upsAlarmBypassBad,
upsAlarmOutputOffAsRequested,
upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
upsAlarmUpsSystemOff, upsAlarmGeneralFault,
upsAlarmDiagnosticTestFailed,
upsAlarmCommunicationsLost, upsAlarmShutdownPending,
and upsAlarmTestInProgress."
OBJECT upsTestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
upsTestNoTestsInitiated."
OBJECT upsOutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP upsBasicBypassGroup
DESCRIPTION
"The upsBasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT upsShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { upsCompliances 2 }
upsFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { upsFullIdentGroup, upsFullBatteryGroup,
upsFullInputGroup, upsFullOutputGroup,
upsFullAlarmGroup, upsFullTestGroup,
upsFullControlGroup }
OBJECT upsAlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: upsAlarmBatteryBad, upsAlarmOnBattery,
upsAlarmLowBattery, upsAlarmDepletedBattery,
upsAlarmTempBad, upsAlarmInputBad, upsAlarmOnBypass,
upsAlarmBypassBad, upsAlarmOutputOffAsRequested,
upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
upsAlarmUpsSystemOff, upsAlarmGeneralFault,
upsAlarmDiagnosticTestFailed,
upsAlarmCommunicationsLost, upsAlarmShutdownPending,
and upsAlarmTestInProgress."
OBJECT upsTestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: upsTestNoTestsInitiated,
upsTestGeneralSystemsTest, and
upsTestQuickBatteryTest."
OBJECT upsOutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP upsFullBypassGroup
DESCRIPTION
"The upsFullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT upsShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { upsCompliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
upsGroups OBJECT IDENTIFIER ::= { upsConformance 2 }
upsSubsetGroups OBJECT IDENTIFIER ::= { upsGroups 1 }
upsSubsetIdentGroup OBJECT-GROUP
OBJECTS { upsIdentManufacturer, upsIdentModel,
upsIdentAgentSoftwareVersion, upsIdentName,
upsIdentAttachedDevices }
STATUS current
DESCRIPTION
"The upsSubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the upsSubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { upsSubsetGroups 1 }
upsSubsetBatteryGroup OBJECT-GROUP
OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
STATUS current
DESCRIPTION
"The upsSubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { upsSubsetGroups 2 }
upsSubsetInputGroup OBJECT-GROUP
OBJECTS { upsInputLineBads }
STATUS current
DESCRIPTION
"The upsSubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { upsSubsetGroups 3 }
upsSubsetOutputGroup OBJECT-GROUP
OBJECTS { upsOutputSource }
STATUS current
DESCRIPTION
"The upsSubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { upsSubsetGroups 4 }
-- { upsSubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
upsSubsetAlarmGroup OBJECT-GROUP
OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
STATUS current
DESCRIPTION
"The upsSubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { upsSubsetGroups 6 }
-- { upsSubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
upsSubsetControlGroup OBJECT-GROUP
OBJECTS { upsShutdownType, upsShutdownAfterDelay }
STATUS current
DESCRIPTION
"The upsSubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { upsSubsetGroups 8 }
upsBasicGroups OBJECT IDENTIFIER ::= { upsGroups 2 }
upsBasicIdentGroup OBJECT-GROUP
OBJECTS { upsIdentManufacturer, upsIdentModel,
upsIdentUPSSoftwareVersion,
upsIdentAgentSoftwareVersion, upsIdentName }
STATUS current
DESCRIPTION
"The upsBasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { upsBasicGroups 1 }
upsBasicBatteryGroup OBJECT-GROUP
OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
STATUS current
DESCRIPTION
"The upsBasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 2 }
upsBasicInputGroup OBJECT-GROUP
OBJECTS { upsInputLineBads, upsInputNumLines,
upsInputFrequency, upsInputVoltage }
STATUS current
DESCRIPTION
"The upsBasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 3 }
upsBasicOutputGroup OBJECT-GROUP
OBJECTS { upsOutputSource, upsOutputFrequency,
upsOutputNumLines, upsOutputVoltage }
STATUS current
DESCRIPTION
"The upsBasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 4 }
upsBasicBypassGroup OBJECT-GROUP
OBJECTS { upsBypassFrequency, upsBypassNumLines,
upsBypassVoltage }
STATUS current
DESCRIPTION
"The upsBasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 5 }
upsBasicAlarmGroup OBJECT-GROUP
OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
STATUS current
DESCRIPTION
"The upsBasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 6 }
upsBasicTestGroup OBJECT-GROUP
OBJECTS { upsTestId, upsTestSpinLock,
upsTestResultsSummary, upsTestResultsDetail,
upsTestStartTime, upsTestElapsedTime }
STATUS current
DESCRIPTION
"The upsBasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 7 }
upsBasicControlGroup OBJECT-GROUP
OBJECTS { upsShutdownType, upsShutdownAfterDelay,
upsStartupAfterDelay, upsRebootWithDuration }
STATUS current
DESCRIPTION
"The upsBasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { upsBasicGroups 8 }
upsFullGroups OBJECT IDENTIFIER ::= { upsGroups 3 }
upsFullIdentGroup OBJECT-GROUP
OBJECTS { upsIdentManufacturer, upsIdentModel,
upsIdentUPSSoftwareVersion,
upsIdentAgentSoftwareVersion, upsIdentName,
upsIdentAttachedDevices }
STATUS current
DESCRIPTION
"The upsFullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { upsFullGroups 1 }
upsFullBatteryGroup OBJECT-GROUP
OBJECTS { upsBatteryStatus, upsSecondsOnBattery,
upsEstimatedMinutesRemaining,
upsEstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The upsFullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { upsFullGroups 2 }
upsFullInputGroup OBJECT-GROUP
OBJECTS { upsInputLineBads, upsInputNumLines,
upsInputFrequency, upsInputVoltage }
STATUS current
DESCRIPTION
"The upsFullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { upsFullGroups 3 }
upsFullOutputGroup OBJECT-GROUP
OBJECTS { upsOutputSource, upsOutputFrequency,
upsOutputNumLines, upsOutputVoltage,
upsOutputCurrent, upsOutputPower,
upsOutputPercentLoad }
STATUS current
DESCRIPTION
"The upsFullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { upsFullGroups 4 }
upsFullBypassGroup OBJECT-GROUP
OBJECTS { upsBypassFrequency, upsBypassNumLines,
upsBypassVoltage }
STATUS current
DESCRIPTION
"The upsFullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { upsFullGroups 5 }
upsFullAlarmGroup OBJECT-GROUP
OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
STATUS current
DESCRIPTION
"The upsFullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { upsFullGroups 6 }
upsFullTestGroup OBJECT-GROUP
OBJECTS { upsTestId, upsTestSpinLock,
upsTestResultsSummary, upsTestResultsDetail,
upsTestStartTime, upsTestElapsedTime }
STATUS current
DESCRIPTION
"The upsFullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { upsFullGroups 7 }
upsFullControlGroup OBJECT-GROUP
OBJECTS { upsShutdownType, upsShutdownAfterDelay,
upsStartupAfterDelay, upsRebootWithDuration }
STATUS current
DESCRIPTION
"The upsFullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { upsFullGroups 8 }
--*******************************************************************
--
-- Module 1 data
--
upsModule1 OBJECT IDENTIFIER ::= { upsModular 2 }
ups01Objects OBJECT IDENTIFIER ::= { upsModule1 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups01IdentName and
-- ups01IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups01Ident OBJECT IDENTIFIER ::= { ups01Objects 1 }
ups01IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups01Ident 1 }
ups01IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups01Ident 2 }
ups01IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups01IdentAgentSoftwareVersion in some implementations."
::= { ups01Ident 3 }
ups01IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups01IdentUPSSoftwareVersion in some implementations."
::= { ups01Ident 4 }
ups01IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups01Ident 5 }
ups01IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups01Ident 6 }
--
-- Battery Group
--
ups01Battery OBJECT IDENTIFIER ::= { ups01Objects 2 }
ups01BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups01ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups01ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups01Battery 1 }
ups01SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups01Battery 2 }
ups01EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups01Battery 3 }
ups01EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups01Battery 4 }
ups01BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups01Battery 5 }
ups01BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups01Battery 6 }
ups01BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups01Battery 7 }
--
-- Input Group
--
ups01Input OBJECT IDENTIFIER ::= { ups01Objects 3 }
ups01InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups01Input 1 }
ups01InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups01Input 2 }
ups01InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups01InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups01InputNumLines."
::= { ups01Input 3 }
ups01InputEntry OBJECT-TYPE
SYNTAX Ups01InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups01InputLineIndex }
::= { ups01InputTable 1 }
Ups01InputEntry ::= SEQUENCE {
ups01InputLineIndex PositiveInteger,
ups01InputFrequency NonNegativeInteger,
ups01InputVoltage NonNegativeInteger,
ups01InputCurrent NonNegativeInteger,
ups01InputTruePower NonNegativeInteger
}
ups01InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups01InputEntry 1 }
ups01InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups01InputEntry 2 }
ups01InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups01InputEntry 3 }
ups01InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups01InputEntry 4 }
ups01InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups01InputEntry 5 }
--
-- The Output group.
--
ups01Output OBJECT IDENTIFIER ::= { ups01Objects 4 }
ups01OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups01Output 1 }
ups01OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups01Output 2 }
ups01OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups01Output 3 }
ups01OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups01OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups01OutputNumLines."
::= { ups01Output 4 }
ups01OutputEntry OBJECT-TYPE
SYNTAX Ups01OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups01OutputLineIndex }
::= { ups01OutputTable 1 }
Ups01OutputEntry ::= SEQUENCE {
ups01OutputLineIndex PositiveInteger,
ups01OutputVoltage NonNegativeInteger,
ups01OutputCurrent NonNegativeInteger,
ups01OutputPower NonNegativeInteger,
ups01OutputPercentLoad Integer32
}
ups01OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups01OutputEntry 1 }
ups01OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups01OutputEntry 2 }
ups01OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups01OutputEntry 3 }
ups01OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups01OutputEntry 4 }
ups01OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups01OutputEntry 5 }
--
-- The Bypass group.
--
ups01Bypass OBJECT IDENTIFIER ::= { ups01Objects 5 }
ups01BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups01Bypass 1 }
ups01BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups01Bypass 2 }
ups01BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups01BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups01BypassNumLines."
::= { ups01Bypass 3 }
ups01BypassEntry OBJECT-TYPE
SYNTAX Ups01BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups01BypassLineIndex }
::= { ups01BypassTable 1 }
Ups01BypassEntry ::= SEQUENCE {
ups01BypassLineIndex PositiveInteger,
ups01BypassVoltage NonNegativeInteger,
ups01BypassCurrent NonNegativeInteger,
ups01BypassPower NonNegativeInteger
}
ups01BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups01BypassEntry 1 }
ups01BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups01BypassEntry 2 }
ups01BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups01BypassEntry 3 }
ups01BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups01BypassEntry 4 }
--
-- The Alarm group.
--
ups01Alarm OBJECT IDENTIFIER ::= { ups01Objects 6 }
ups01AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups01Alarm 1 }
ups01AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups01AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups01AlarmId equal to 1, and increments the value of
ups01AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups01AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups01AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups01AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups01AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups01AlarmsPresent."
::= { ups01Alarm 2 }
ups01AlarmEntry OBJECT-TYPE
SYNTAX Ups01AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups01AlarmId }
::= { ups01AlarmTable 1 }
Ups01AlarmEntry ::= SEQUENCE {
ups01AlarmId PositiveInteger,
ups01AlarmDescr AutonomousType,
ups01AlarmTime TimeStamp
}
ups01AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups01AlarmEntry 1 }
ups01AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups01AlarmEntry 2 }
ups01AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups01AlarmTime shall equal
0."
::= { ups01AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups01WellKnownAlarms OBJECT IDENTIFIER ::= { ups01Alarm 3 }
ups01AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups01WellKnownAlarms 1 }
ups01AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups01WellKnownAlarms 2 }
ups01AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups01ConfigLowBattTime."
::= { ups01WellKnownAlarms 3 }
ups01AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups01WellKnownAlarms 4 }
ups01AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups01WellKnownAlarms 5 }
ups01AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups01WellKnownAlarms 6 }
ups01AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups01WellKnownAlarms 7 }
ups01AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups01WellKnownAlarms 8 }
ups01AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups01WellKnownAlarms 9 }
ups01AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups01WellKnownAlarms 10 }
ups01AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups01WellKnownAlarms 11 }
ups01AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups01WellKnownAlarms 12 }
ups01AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups01WellKnownAlarms 13 }
ups01AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups01WellKnownAlarms 14 }
ups01AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups01WellKnownAlarms 15 }
ups01AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups01WellKnownAlarms 16 }
ups01AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups01WellKnownAlarms 17 }
ups01AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups01WellKnownAlarms 18 }
ups01AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups01WellKnownAlarms 19 }
ups01AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups01WellKnownAlarms 20 }
ups01AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups01WellKnownAlarms 21 }
ups01AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups01ShutdownAfterDelay countdown is underway."
::= { ups01WellKnownAlarms 22 }
ups01AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups01WellKnownAlarms 23 }
ups01AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups01WellKnownAlarms 24 }
--
-- The Test Group
--
ups01Test OBJECT IDENTIFIER ::= { ups01Objects 7 }
ups01TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups01TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups01TestResultsSummary. Tests in progress may be
aborted by setting the ups01TestId variable to
ups01TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups01TestNoTestsInitiated is returned."
::= { ups01Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups01TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (ups01TestSpinLock)
while (ups01TestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (ups01TestSpinLock)
}
lock_value = ups01TestSpinLock
/* no test in progress, start the test */
set (ups01TestSpinLock = lock_value, ups01TestId =
requested_test)
if (error_index == 1) { /* (ups01TestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (ups01TestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups01TestResultsSummary */
get (ups01TestSpinLock, ups01TestResultsSummary,
ups01TestResultsDetail)
while (ups01TestResultsSummary == inProgress) {
short delay
get (ups01TestSpinLock, ups01TestResultsSummary,
ups01TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups01TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups01TestSpinLock at agent
initialization shall
be 1."
::= { ups01Test 2 }
ups01TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups01TestId to ups01TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups01Test 3 }
ups01TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups01TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups01Test 4 }
ups01TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups01TestResultsSummary is noTestsInitiated(6),
ups01TestStartTime has the value 0."
::= { ups01Test 5 }
ups01TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups01TestResultsSummary is noTestsInitiated(6),
ups01TestElapsedTime has the value 0."
::= { ups01Test 6 }
--
-- Well known tests.
--
ups01WellKnownTests OBJECT IDENTIFIER ::= { ups01Test 7 }
ups01TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups01WellKnownTests 1 }
ups01TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups01WellKnownTests 2 }
ups01TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups01WellKnownTests 3 }
ups01TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups01WellKnownTests 4 }
ups01TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups01WellKnownTests 5 }
--
-- The Control group.
--
ups01Control OBJECT IDENTIFIER ::= { ups01Objects 8 }
ups01ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups01ShutdownAfterDelay and ups01RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups01Control 1 }
ups01ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups01ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups01ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups01ShutdownType =
output and the output is already off. When read,
ups01ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups01ShutdownAfterDelay already in effect."
::= { ups01Control 2 }
ups01StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups01StartupAfterDelay
countdown or ups01RebootWithDuration countdown in
progress. When read, ups01StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups01Control 3 }
ups01RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups01ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups01RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups01Control 4 }
--
-- notifications, i.e., traps
--
ups01Traps OBJECT IDENTIFIER ::= { upsModule1 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups01TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups01EstimatedMinutesRemaining, ups01SecondsOnBattery,
ups01ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups01Traps 1 }
ups01TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups01TestId, ups01TestSpinLock,
ups01TestResultsSummary, ups01TestResultsDetail,
ups01TestStartTime, ups01TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups01Traps 2 }
ups01TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups01AlarmId, ups01AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups01AlarmOnBattery and
ups01AlarmTestInProgress."
::= { ups01Traps 3 }
ups01TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups01AlarmId, ups01AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups01AlarmTestInProgress."
::= { ups01Traps 4 }
--
-- conformance information
--
ups01Conformance OBJECT IDENTIFIER ::= { upsModule1 3 }
ups01Compliances OBJECT IDENTIFIER ::= { ups01Conformance 1 }
--
-- compliance statements
--
ups01SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups01SubsetIdentGroup,
ups01SubsetBatteryGroup, ups01SubsetInputGroup,
ups01SubsetOutputGroup, ups01SubsetAlarmGroup,
ups01SubsetControlGroup }
OBJECT ups01BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups01AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups01AlarmOnBattery, ups01AlarmLowBattery,
ups01AlarmInputBad, ups01AlarmUpsOutputOff,
ups01AlarmUpsSystemOff, and ups01AlarmTestInProgress."
OBJECT ups01OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups01ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups01Compliances 1 }
ups01BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups01BasicIdentGroup,
ups01BasicBatteryGroup, ups01BasicInputGroup,
ups01BasicOutputGroup, ups01BasicAlarmGroup,
ups01BasicTestGroup, ups01BasicControlGroup }
OBJECT ups01AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups01AlarmOnBattery, ups01AlarmLowBattery,
ups01AlarmDepletedBattery, ups01AlarmTempBad,
ups01AlarmInputBad, ups01AlarmOutputOverload,
ups01AlarmOnBypass, ups01AlarmBypassBad,
ups01AlarmOutputOffAsRequested,
ups01AlarmUpsOffAsRequested, ups01AlarmUpsOutputOff,
ups01AlarmUpsSystemOff, ups01AlarmGeneralFault,
ups01AlarmDiagnosticTestFailed,
ups01AlarmCommunicationsLost, ups01AlarmShutdownPending,
and ups01AlarmTestInProgress."
OBJECT ups01TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups01TestNoTestsInitiated."
OBJECT ups01OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups01BasicBypassGroup
DESCRIPTION
"The ups01BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups01ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups01Compliances 2 }
ups01FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups01FullIdentGroup, ups01FullBatteryGroup,
ups01FullInputGroup, ups01FullOutputGroup,
ups01FullAlarmGroup, ups01FullTestGroup,
ups01FullControlGroup }
OBJECT ups01AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups01AlarmBatteryBad, ups01AlarmOnBattery,
ups01AlarmLowBattery, ups01AlarmDepletedBattery,
ups01AlarmTempBad, ups01AlarmInputBad, ups01AlarmOnBypass,
ups01AlarmBypassBad, ups01AlarmOutputOffAsRequested,
ups01AlarmUpsOffAsRequested, ups01AlarmUpsOutputOff,
ups01AlarmUpsSystemOff, ups01AlarmGeneralFault,
ups01AlarmDiagnosticTestFailed,
ups01AlarmCommunicationsLost, ups01AlarmShutdownPending,
and ups01AlarmTestInProgress."
OBJECT ups01TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups01TestNoTestsInitiated,
ups01TestGeneralSystemsTest, and
ups01TestQuickBatteryTest."
OBJECT ups01OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups01FullBypassGroup
DESCRIPTION
"The ups01FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups01ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups01Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--ups01IdentManufacturer x x x
--ups01IdentModel x x x
--ups01IdentUPSSoftwareVersion x x
--ups01IdentAgentSoftwareVersion x x x
--ups01IdentName x x x
--ups01IdentAttachedDevices x x
--
--ups01BatteryStatus x x x notes
--ups01SecondsOnBattery x x x
--ups01EstimatedMinutesRemaining x
--ups01EstimatedChargeRemaining x
--ups01BatteryVoltage
--ups01BatteryCurrent
--ups01BatteryTemperature
--
--ups01InputLineBads x x x
--ups01InputNumLines x x
--ups01InputFrequency x x
--ups01InputVoltage x x
--ups01InputCurrent
--ups01InputTruePower
--
--ups01OutputSource x x x notes
--ups01OutputFrequency x x
--ups01OutputNumLines x x
--ups01OutputVoltage x x
--ups01OutputCurrent x
--ups01OutputPower x
--ups01OutputPercentLoad x
--
--
--ups01BypassFrequency x x notes
--ups01BypassNumLines x x
--ups01BypassVoltage x x
--ups01BypassCurrent
--ups01BypassPower
--
--
--ups01AlarmsPresent x x x
--ups01AlarmDescr x x x notes
--ups01AlarmTime x x x
--
--ups01TestId x x notes
--ups01TestSpinLock x x
--ups01TestResultsSummary x x
--ups01TestResultsDetail x x
--ups01TestStartTime x x
--ups01TestElapsedTime x x
--
--ups01ShutdownType x x x notes
--ups01ShutdownAfterDelay x x x
--ups01StartupAfterDelay x x
--ups01RebootWithDuration x x
--
-- units of conformance
ups01Groups OBJECT IDENTIFIER ::= { ups01Conformance 2 }
ups01SubsetGroups OBJECT IDENTIFIER ::= { ups01Groups 1 }
ups01SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups01IdentManufacturer, ups01IdentModel,
ups01IdentAgentSoftwareVersion, ups01IdentName,
ups01IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups01SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups01SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups01SubsetGroups 1 }
ups01SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups01BatteryStatus, ups01SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups01SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups01SubsetGroups 2 }
ups01SubsetInputGroup OBJECT-GROUP
OBJECTS { ups01InputLineBads }
STATUS current
DESCRIPTION
"The ups01SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups01SubsetGroups 3 }
ups01SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups01OutputSource }
STATUS current
DESCRIPTION
"The ups01SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups01SubsetGroups 4 }
-- { ups01SubsetGroups 5 } is reserved for
-- future use (ups01SubsetBypassGroup)
ups01SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups01AlarmsPresent, ups01AlarmDescr, ups01AlarmTime }
STATUS current
DESCRIPTION
"The ups01SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups01SubsetGroups 6 }
-- { ups01SubsetGroups 7 } is reserved for
-- future use (ups01SubsetTestGroup)
ups01SubsetControlGroup OBJECT-GROUP
OBJECTS { ups01ShutdownType, ups01ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups01SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups01SubsetGroups 8 }
ups01BasicGroups OBJECT IDENTIFIER ::= { ups01Groups 2 }
ups01BasicIdentGroup OBJECT-GROUP
OBJECTS { ups01IdentManufacturer, ups01IdentModel,
ups01IdentUPSSoftwareVersion,
ups01IdentAgentSoftwareVersion, ups01IdentName }
STATUS current
DESCRIPTION
"The ups01BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 1 }
ups01BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups01BatteryStatus, ups01SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups01BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 2 }
ups01BasicInputGroup OBJECT-GROUP
OBJECTS { ups01InputLineBads, ups01InputNumLines,
ups01InputFrequency, ups01InputVoltage }
STATUS current
DESCRIPTION
"The ups01BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 3 }
ups01BasicOutputGroup OBJECT-GROUP
OBJECTS { ups01OutputSource, ups01OutputFrequency,
ups01OutputNumLines, ups01OutputVoltage }
STATUS current
DESCRIPTION
"The ups01BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 4 }
ups01BasicBypassGroup OBJECT-GROUP
OBJECTS { ups01BypassFrequency, ups01BypassNumLines,
ups01BypassVoltage }
STATUS current
DESCRIPTION
"The ups01BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 5 }
ups01BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups01AlarmsPresent, ups01AlarmDescr, ups01AlarmTime }
STATUS current
DESCRIPTION
"The ups01BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 6 }
ups01BasicTestGroup OBJECT-GROUP
OBJECTS { ups01TestId, ups01TestSpinLock,
ups01TestResultsSummary, ups01TestResultsDetail,
ups01TestStartTime, ups01TestElapsedTime }
STATUS current
DESCRIPTION
"The ups01BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 7 }
ups01BasicControlGroup OBJECT-GROUP
OBJECTS { ups01ShutdownType, ups01ShutdownAfterDelay,
ups01StartupAfterDelay, ups01RebootWithDuration }
STATUS current
DESCRIPTION
"The ups01BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups01BasicGroups 8 }
ups01FullGroups OBJECT IDENTIFIER ::= { ups01Groups 3 }
ups01FullIdentGroup OBJECT-GROUP
OBJECTS { ups01IdentManufacturer, ups01IdentModel,
ups01IdentUPSSoftwareVersion,
ups01IdentAgentSoftwareVersion, ups01IdentName,
ups01IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups01FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups01FullGroups 1 }
ups01FullBatteryGroup OBJECT-GROUP
OBJECTS { ups01BatteryStatus, ups01SecondsOnBattery,
ups01EstimatedMinutesRemaining,
ups01EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups01FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups01FullGroups 2 }
ups01FullInputGroup OBJECT-GROUP
OBJECTS { ups01InputLineBads, ups01InputNumLines,
ups01InputFrequency, ups01InputVoltage }
STATUS current
DESCRIPTION
"The ups01FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups01FullGroups 3 }
ups01FullOutputGroup OBJECT-GROUP
OBJECTS { ups01OutputSource, ups01OutputFrequency,
ups01OutputNumLines, ups01OutputVoltage,
ups01OutputCurrent, ups01OutputPower,
ups01OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups01FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups01FullGroups 4 }
ups01FullBypassGroup OBJECT-GROUP
OBJECTS { ups01BypassFrequency, ups01BypassNumLines,
ups01BypassVoltage }
STATUS current
DESCRIPTION
"The ups01FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups01FullGroups 5 }
ups01FullAlarmGroup OBJECT-GROUP
OBJECTS { ups01AlarmsPresent, ups01AlarmDescr, ups01AlarmTime }
STATUS current
DESCRIPTION
"The ups01FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups01FullGroups 6 }
ups01FullTestGroup OBJECT-GROUP
OBJECTS { ups01TestId, ups01TestSpinLock,
ups01TestResultsSummary, ups01TestResultsDetail,
ups01TestStartTime, ups01TestElapsedTime }
STATUS current
DESCRIPTION
"The ups01FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups01FullGroups 7 }
ups01FullControlGroup OBJECT-GROUP
OBJECTS { ups01ShutdownType, ups01ShutdownAfterDelay,
ups01StartupAfterDelay, ups01RebootWithDuration }
STATUS current
DESCRIPTION
"The ups01FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups01FullGroups 8 }
--*******************************************************************
--
-- Module 2 data
--
upsModule2 OBJECT IDENTIFIER ::= { upsModular 3 }
ups02Objects OBJECT IDENTIFIER ::= { upsModule2 1 }
--
-- The Device Identification group.
-- All objects in this group except for upsIdentName and
-- upsIdentAttachedDevices are set at device initialization
-- and remain static.
--
ups02Ident OBJECT IDENTIFIER ::= { ups02Objects 1 }
ups02IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups02Ident 1 }
ups02IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups02Ident 2 }
ups02IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
upsIdentAgentSoftwareVersion in some implementations."
::= { ups02Ident 3 }
ups02IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
upsIdentUPSSoftwareVersion in some implementations."
::= { ups02Ident 4 }
ups02IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups02Ident 5 }
ups02IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups02Ident 6 }
--
-- Battery Group
--
ups02Battery OBJECT IDENTIFIER ::= { ups02Objects 2 }
ups02BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
upsConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to upsConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups02Battery 1 }
ups02SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups02Battery 2 }
ups02EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups02Battery 3 }
ups02EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups02Battery 4 }
ups02BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups02Battery 5 }
ups02BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups02Battery 6 }
ups02BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups02Battery 7 }
--
-- Input Group
--
ups02Input OBJECT IDENTIFIER ::= { ups02Objects 3 }
ups02InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups02Input 1 }
ups02InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups02Input 2 }
ups02InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups02InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of upsInputNumLines."
::= { ups02Input 3 }
ups02InputEntry OBJECT-TYPE
SYNTAX Ups02InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups02InputLineIndex }
::= { ups02InputTable 1 }
Ups02InputEntry ::= SEQUENCE {
ups02InputLineIndex PositiveInteger,
ups02InputFrequency NonNegativeInteger,
ups02InputVoltage NonNegativeInteger,
ups02InputCurrent NonNegativeInteger,
ups02InputTruePower NonNegativeInteger
}
ups02InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups02InputEntry 1 }
ups02InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups02InputEntry 2 }
ups02InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups02InputEntry 3 }
ups02InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups02InputEntry 4 }
ups02InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups02InputEntry 5 }
--
-- The Output group.
--
ups02Output OBJECT IDENTIFIER ::= { ups02Objects 4 }
ups02OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups02Output 1 }
ups02OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups02Output 2 }
ups02OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups02Output 3 }
ups02OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups02OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups02OutputNumLines."
::= { ups02Output 4 }
ups02OutputEntry OBJECT-TYPE
SYNTAX Ups02OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups02OutputLineIndex }
::= { ups02OutputTable 1 }
Ups02OutputEntry ::= SEQUENCE {
ups02OutputLineIndex PositiveInteger,
ups02OutputVoltage NonNegativeInteger,
ups02OutputCurrent NonNegativeInteger,
ups02OutputPower NonNegativeInteger,
ups02OutputPercentLoad INTEGER
}
ups02OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups02OutputEntry 1 }
ups02OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups02OutputEntry 2 }
ups02OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups02OutputEntry 3 }
ups02OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups02OutputEntry 4 }
ups02OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups02OutputEntry 5 }
--
-- The Bypass group.
--
ups02Bypass OBJECT IDENTIFIER ::= { ups02Objects 5 }
ups02BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups02Bypass 1 }
ups02BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups02Bypass 2 }
ups02BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups02BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups02BypassNumLines."
::= { ups02Bypass 3 }
ups02BypassEntry OBJECT-TYPE
SYNTAX Ups02BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups02BypassLineIndex }
::= { ups02BypassTable 1 }
Ups02BypassEntry ::= SEQUENCE {
ups02BypassLineIndex PositiveInteger,
ups02BypassVoltage NonNegativeInteger,
ups02BypassCurrent NonNegativeInteger,
ups02BypassPower NonNegativeInteger
}
ups02BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups02BypassEntry 1 }
ups02BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups02BypassEntry 2 }
ups02BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups02BypassEntry 3 }
ups02BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups02BypassEntry 4 }
--
-- The Alarm group.
--
ups02Alarm OBJECT IDENTIFIER ::= { ups02Objects 6 }
ups02AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups02Alarm 1 }
ups02AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups02AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups02AlarmId equal to 1, and increments the value of
ups02AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups02AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups02AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups02AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups02AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups02AlarmsPresent."
::= { ups02Alarm 2 }
ups02AlarmEntry OBJECT-TYPE
SYNTAX Ups02AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups02AlarmId }
::= { ups02AlarmTable 1 }
Ups02AlarmEntry ::= SEQUENCE {
ups02AlarmId PositiveInteger,
ups02AlarmDescr AutonomousType,
ups02AlarmTime TimeStamp
}
ups02AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups02AlarmEntry 1 }
ups02AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups02AlarmEntry 2 }
ups02AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups02AlarmTime shall equal
0."
::= { ups02AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups02WellKnownAlarms OBJECT IDENTIFIER ::= { ups02Alarm 3 }
ups02AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups02WellKnownAlarms 1 }
ups02AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups02WellKnownAlarms 2 }
ups02AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups02ConfigLowBattTime."
::= { ups02WellKnownAlarms 3 }
ups02AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups02WellKnownAlarms 4 }
ups02AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups02WellKnownAlarms 5 }
ups02AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups02WellKnownAlarms 6 }
ups02AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups02WellKnownAlarms 7 }
ups02AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups02WellKnownAlarms 8 }
ups02AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups02WellKnownAlarms 9 }
ups02AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups02WellKnownAlarms 10 }
ups02AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups02WellKnownAlarms 11 }
ups02AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups02WellKnownAlarms 12 }
ups02AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups02WellKnownAlarms 13 }
ups02AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups02WellKnownAlarms 14 }
ups02AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups02WellKnownAlarms 15 }
ups02AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups02WellKnownAlarms 16 }
ups02AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups02WellKnownAlarms 17 }
ups02AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups02WellKnownAlarms 18 }
ups02AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups02WellKnownAlarms 19 }
ups02AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups02WellKnownAlarms 20 }
ups02AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups02WellKnownAlarms 21 }
ups02AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A upsShutdownAfterDelay countdown is underway."
::= { ups02WellKnownAlarms 22 }
ups02AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups02WellKnownAlarms 23 }
ups02AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups02WellKnownAlarms 24 }
--
-- The Test Group
--
ups02Test OBJECT IDENTIFIER ::= { ups02Objects 7 }
ups02TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups02TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups02TestResultsSummary. Tests in progress may be
aborted by setting the ups02TestId variable to
ups02TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups02TestNoTestsInitiated is returned."
::= { ups02Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups02TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (ups02TestSpinLock)
while (ups02TestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (ups02TestSpinLock)
}
lock_value = ups02TestSpinLock
/* no test in progress, start the test */
set (ups02TestSpinLock = lock_value, upsTestId =
requested_test)
if (error_index == 1) { /* (ups02TestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (ups02TestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups02TestResultsSummary */
get (ups02TestSpinLock, ups02TestResultsSummary,
ups02TestResultsDetail)
while (ups02TestResultsSummary == inProgress) {
short delay
get (ups02TestSpinLock, ups02TestResultsSummary,
ups02TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups02TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups02TestSpinLock at agent
initialization shall
be 1."
::= { ups02Test 2 }
ups02TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups02TestId to ups02TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups02Test 3 }
ups02TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups02TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups02Test 4 }
ups02TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups02TestResultsSummary is noTestsInitiated(6),
ups02TestStartTime has the value 0."
::= { ups02Test 5 }
ups02TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups02TestResultsSummary is noTestsInitiated(6),
ups02TestElapsedTime has the value 0."
::= { ups02Test 6 }
--
-- Well known tests.
--
ups02WellKnownTests OBJECT IDENTIFIER ::= { ups02Test 7 }
ups02TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups02WellKnownTests 1 }
ups02TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups02WellKnownTests 2 }
ups02TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups02WellKnownTests 3 }
ups02TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups02WellKnownTests 4 }
ups02TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups02WellKnownTests 5 }
--
-- The Control group.
--
ups02Control OBJECT IDENTIFIER ::= { ups02Objects 8 }
ups02ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups02ShutdownAfterDelay and ups02RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups02Control 1 }
ups02ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups02ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups02ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups02ShutdownType =
output and the output is already off. When read,
ups02ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups02ShutdownAfterDelay already in effect."
::= { ups02Control 2 }
ups02StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups02StartupAfterDelay
countdown or ups02RebootWithDuration countdown in
progress. When read, ups02StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups02Control 3 }
ups02RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups02ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups02RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups02Control 4 }
--
-- notifications, i.e., traps
--
ups02Traps OBJECT IDENTIFIER ::= { upsModule2 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups02TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups02EstimatedMinutesRemaining, ups02SecondsOnBattery,
ups02ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups02Traps 1 }
ups02TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups02TestId, ups02TestSpinLock,
ups02TestResultsSummary, ups02TestResultsDetail,
ups02TestStartTime, ups02TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups02Traps 2 }
ups02TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups02AlarmId, ups02AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups02AlarmOnBattery and
upsAlarmTestInProgress."
::= { ups02Traps 3 }
ups02TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups02AlarmId, ups02AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups02AlarmTestInProgress."
::= { ups02Traps 4 }
--
-- conformance information
--
ups02Conformance OBJECT IDENTIFIER ::= { upsModule2 3 }
ups02Compliances OBJECT IDENTIFIER ::= { ups02Conformance 1 }
--
-- compliance statements
--
ups02SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups02SubsetIdentGroup,
ups02SubsetBatteryGroup, ups02SubsetInputGroup,
ups02SubsetOutputGroup, ups02SubsetAlarmGroup,
ups02SubsetControlGroup }
OBJECT ups02BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups02AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups02AlarmOnBattery, ups02AlarmLowBattery,
ups02AlarmInputBad, ups02AlarmUpsOutputOff,
ups02AlarmUpsSystemOff, and ups02AlarmTestInProgress."
OBJECT ups02OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups02ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups02Compliances 1 }
ups02BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups02BasicIdentGroup,
ups02BasicBatteryGroup, ups02BasicInputGroup,
ups02BasicOutputGroup, ups02BasicAlarmGroup,
ups02BasicTestGroup, ups02BasicControlGroup }
OBJECT ups02AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups02AlarmOnBattery, ups02AlarmLowBattery,
ups02AlarmDepletedBattery, ups02AlarmTempBad,
ups02AlarmInputBad, ups02AlarmOutputOverload,
ups02AlarmOnBypass, ups02AlarmBypassBad,
ups02AlarmOutputOffAsRequested,
ups02AlarmUpsOffAsRequested, ups02AlarmUpsOutputOff,
ups02AlarmUpsSystemOff, ups02AlarmGeneralFault,
ups02AlarmDiagnosticTestFailed,
ups02AlarmCommunicationsLost, ups02AlarmShutdownPending,
and ups02AlarmTestInProgress."
OBJECT ups02TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups02TestNoTestsInitiated."
OBJECT ups02OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups02BasicBypassGroup
DESCRIPTION
"The ups02BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups02ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups02Compliances 2 }
ups02FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups02FullIdentGroup, ups02FullBatteryGroup,
ups02FullInputGroup, ups02FullOutputGroup,
ups02FullAlarmGroup, ups02FullTestGroup,
ups02FullControlGroup }
OBJECT ups02AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups02AlarmBatteryBad, ups02AlarmOnBattery,
ups02AlarmLowBattery, ups02AlarmDepletedBattery,
ups02AlarmTempBad, ups02AlarmInputBad, ups02AlarmOnBypass,
ups02AlarmBypassBad, ups02AlarmOutputOffAsRequested,
ups02AlarmUpsOffAsRequested, ups02AlarmUpsOutputOff,
ups02AlarmUpsSystemOff, ups02AlarmGeneralFault,
ups02AlarmDiagnosticTestFailed,
ups02AlarmCommunicationsLost, ups02AlarmShutdownPending,
and ups02AlarmTestInProgress."
OBJECT ups02TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups02TestNoTestsInitiated,
ups02TestGeneralSystemsTest, and
ups02TestQuickBatteryTest."
OBJECT ups02OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups02FullBypassGroup
DESCRIPTION
"The ups02FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups02ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups02Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups02Groups OBJECT IDENTIFIER ::= { ups02Conformance 2 }
ups02SubsetGroups OBJECT IDENTIFIER ::= { ups02Groups 1 }
ups02SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups02IdentManufacturer, ups02IdentModel,
ups02IdentAgentSoftwareVersion, ups02IdentName,
ups02IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups02SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups02SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups02SubsetGroups 1 }
ups02SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups02BatteryStatus, ups02SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups02SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups02SubsetGroups 2 }
ups02SubsetInputGroup OBJECT-GROUP
OBJECTS { ups02InputLineBads }
STATUS current
DESCRIPTION
"The ups02SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups02SubsetGroups 3 }
ups02SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups02OutputSource }
STATUS current
DESCRIPTION
"The ups02SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups02SubsetGroups 4 }
-- { ups02SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups02SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups02AlarmsPresent, ups02AlarmDescr, ups02AlarmTime }
STATUS current
DESCRIPTION
"The ups02SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups02SubsetGroups 6 }
-- { ups02SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups02SubsetControlGroup OBJECT-GROUP
OBJECTS { ups02ShutdownType, ups02ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups02SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups02SubsetGroups 8 }
ups02BasicGroups OBJECT IDENTIFIER ::= { ups02Groups 2 }
ups02BasicIdentGroup OBJECT-GROUP
OBJECTS { ups02IdentManufacturer, ups02IdentModel,
ups02IdentUPSSoftwareVersion,
ups02IdentAgentSoftwareVersion, ups02IdentName }
STATUS current
DESCRIPTION
"The ups02BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 1 }
ups02BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups02BatteryStatus, ups02SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups02BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 2 }
ups02BasicInputGroup OBJECT-GROUP
OBJECTS { ups02InputLineBads, ups02InputNumLines,
ups02InputFrequency, ups02InputVoltage }
STATUS current
DESCRIPTION
"The ups02BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 3 }
ups02BasicOutputGroup OBJECT-GROUP
OBJECTS { ups02OutputSource, ups02OutputFrequency,
ups02OutputNumLines, ups02OutputVoltage }
STATUS current
DESCRIPTION
"The ups02BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 4 }
ups02BasicBypassGroup OBJECT-GROUP
OBJECTS { ups02BypassFrequency, ups02BypassNumLines,
ups02BypassVoltage }
STATUS current
DESCRIPTION
"The ups02BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 5 }
ups02BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups02AlarmsPresent, ups02AlarmDescr, ups02AlarmTime }
STATUS current
DESCRIPTION
"The ups02BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 6 }
ups02BasicTestGroup OBJECT-GROUP
OBJECTS { ups02TestId, ups02TestSpinLock,
ups02TestResultsSummary, ups02TestResultsDetail,
ups02TestStartTime, ups02TestElapsedTime }
STATUS current
DESCRIPTION
"The ups02BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 7 }
ups02BasicControlGroup OBJECT-GROUP
OBJECTS { ups02ShutdownType, ups02ShutdownAfterDelay,
ups02StartupAfterDelay, ups02RebootWithDuration }
STATUS current
DESCRIPTION
"The ups02BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups02BasicGroups 8 }
ups02FullGroups OBJECT IDENTIFIER ::= { ups02Groups 3 }
ups02FullIdentGroup OBJECT-GROUP
OBJECTS { ups02IdentManufacturer, ups02IdentModel,
ups02IdentUPSSoftwareVersion,
ups02IdentAgentSoftwareVersion, ups02IdentName,
ups02IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups02FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups02FullGroups 1 }
ups02FullBatteryGroup OBJECT-GROUP
OBJECTS { ups02BatteryStatus, ups02SecondsOnBattery,
ups02EstimatedMinutesRemaining,
ups02EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups02FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups02FullGroups 2 }
ups02FullInputGroup OBJECT-GROUP
OBJECTS { ups02InputLineBads, ups02InputNumLines,
ups02InputFrequency, ups02InputVoltage }
STATUS current
DESCRIPTION
"The ups02FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups02FullGroups 3 }
ups02FullOutputGroup OBJECT-GROUP
OBJECTS { ups02OutputSource, ups02OutputFrequency,
ups02OutputNumLines, ups02OutputVoltage,
ups02OutputCurrent, ups02OutputPower,
ups02OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups02FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups02FullGroups 4 }
ups02FullBypassGroup OBJECT-GROUP
OBJECTS { ups02BypassFrequency, ups02BypassNumLines,
ups02BypassVoltage }
STATUS current
DESCRIPTION
"The ups02FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups02FullGroups 5 }
ups02FullAlarmGroup OBJECT-GROUP
OBJECTS { ups02AlarmsPresent, ups02AlarmDescr, ups02AlarmTime }
STATUS current
DESCRIPTION
"The ups02FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups02FullGroups 6 }
ups02FullTestGroup OBJECT-GROUP
OBJECTS { ups02TestId, ups02TestSpinLock,
ups02TestResultsSummary, ups02TestResultsDetail,
ups02TestStartTime, ups02TestElapsedTime }
STATUS current
DESCRIPTION
"The ups02FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups02FullGroups 7 }
ups02FullControlGroup OBJECT-GROUP
OBJECTS { ups02ShutdownType, ups02ShutdownAfterDelay,
ups02StartupAfterDelay, ups02RebootWithDuration }
STATUS current
DESCRIPTION
"The ups02FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups02FullGroups 8 }
--*******************************************************************
--
-- Module 3 data
--
upsModule3 OBJECT IDENTIFIER ::= { upsModular 4 }
ups03Objects OBJECT IDENTIFIER ::= { upsModule3 1 }
--
-- The Device Identification group.
-- All objects in this group except for upsIdentName and
-- upsIdentAttachedDevices are set at device initialization
-- and remain static.
--
ups03Ident OBJECT IDENTIFIER ::= { ups03Objects 1 }
ups03IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups03Ident 1 }
ups03IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups03Ident 2 }
ups03IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups03IdentAgentSoftwareVersion in some implementations."
::= { ups03Ident 3 }
ups03IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups03IdentUPSSoftwareVersion in some implementations."
::= { ups03Ident 4 }
ups03IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups03Ident 5 }
ups03IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups03Ident 6 }
--
-- Battery Group
--
ups03Battery OBJECT IDENTIFIER ::= { ups03Objects 2 }
ups03BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups03ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups03ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups03Battery 1 }
ups03SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups03Battery 2 }
ups03EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups03Battery 3 }
ups03EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups03Battery 4 }
ups03BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups03Battery 5 }
ups03BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups03Battery 6 }
ups03BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups03Battery 7 }
--
-- Input Group
--
ups03Input OBJECT IDENTIFIER ::= { ups03Objects 3 }
ups03InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups03Input 1 }
ups03InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups03Input 2 }
ups03InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups03InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups03InputNumLines."
::= { ups03Input 3 }
ups03InputEntry OBJECT-TYPE
SYNTAX Ups03InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups03InputLineIndex }
::= { ups03InputTable 1 }
Ups03InputEntry ::= SEQUENCE {
ups03InputLineIndex PositiveInteger,
ups03InputFrequency NonNegativeInteger,
ups03InputVoltage NonNegativeInteger,
ups03InputCurrent NonNegativeInteger,
ups03InputTruePower NonNegativeInteger
}
ups03InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups03InputEntry 1 }
ups03InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups03InputEntry 2 }
ups03InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups03InputEntry 3 }
ups03InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups03InputEntry 4 }
ups03InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups03InputEntry 5 }
--
-- The Output group.
--
ups03Output OBJECT IDENTIFIER ::= { ups03Objects 4 }
ups03OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups03Output 1 }
ups03OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups03Output 2 }
ups03OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups03Output 3 }
ups03OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups03OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups03OutputNumLines."
::= { ups03Output 4 }
ups03OutputEntry OBJECT-TYPE
SYNTAX Ups03OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups03OutputLineIndex }
::= { ups03OutputTable 1 }
Ups03OutputEntry ::= SEQUENCE {
ups03OutputLineIndex PositiveInteger,
ups03OutputVoltage NonNegativeInteger,
ups03OutputCurrent NonNegativeInteger,
ups03OutputPower NonNegativeInteger,
ups03OutputPercentLoad INTEGER
}
ups03OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups03OutputEntry 1 }
ups03OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups03OutputEntry 2 }
ups03OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups03OutputEntry 3 }
ups03OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups03OutputEntry 4 }
ups03OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups03OutputEntry 5 }
--
-- The Bypass group.
--
ups03Bypass OBJECT IDENTIFIER ::= { ups03Objects 5 }
ups03BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups03Bypass 1 }
ups03BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups03Bypass 2 }
ups03BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups03BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups03BypassNumLines."
::= { ups03Bypass 3 }
ups03BypassEntry OBJECT-TYPE
SYNTAX Ups03BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups03BypassLineIndex }
::= { ups03BypassTable 1 }
Ups03BypassEntry ::= SEQUENCE {
ups03BypassLineIndex PositiveInteger,
ups03BypassVoltage NonNegativeInteger,
ups03BypassCurrent NonNegativeInteger,
ups03BypassPower NonNegativeInteger
}
ups03BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups03BypassEntry 1 }
ups03BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups03BypassEntry 2 }
ups03BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups03BypassEntry 3 }
ups03BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups03BypassEntry 4 }
--
-- The Alarm group.
--
ups03Alarm OBJECT IDENTIFIER ::= { ups03Objects 6 }
ups03AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups03Alarm 1 }
ups03AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups03AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups03AlarmId equal to 1, and increments the value of
ups03AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups03AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups03AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups03AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups03AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups03AlarmsPresent."
::= { ups03Alarm 2 }
ups03AlarmEntry OBJECT-TYPE
SYNTAX Ups03AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups03AlarmId }
::= { ups03AlarmTable 1 }
Ups03AlarmEntry ::= SEQUENCE {
ups03AlarmId PositiveInteger,
ups03AlarmDescr AutonomousType,
ups03AlarmTime TimeStamp
}
ups03AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups03AlarmEntry 1 }
ups03AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups03AlarmEntry 2 }
ups03AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups03AlarmTime shall equal
0."
::= { ups03AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups03WellKnownAlarms OBJECT IDENTIFIER ::= { ups03Alarm 3 }
ups03AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups03WellKnownAlarms 1 }
ups03AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups03WellKnownAlarms 2 }
ups03AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups03ConfigLowBattTime."
::= { ups03WellKnownAlarms 3 }
ups03AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups03WellKnownAlarms 4 }
ups03AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups03WellKnownAlarms 5 }
ups03AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups03WellKnownAlarms 6 }
ups03AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups03WellKnownAlarms 7 }
ups03AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups03WellKnownAlarms 8 }
ups03AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups03WellKnownAlarms 9 }
ups03AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups03WellKnownAlarms 10 }
ups03AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups03WellKnownAlarms 11 }
ups03AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups03WellKnownAlarms 12 }
ups03AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups03WellKnownAlarms 13 }
ups03AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups03WellKnownAlarms 14 }
ups03AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups03WellKnownAlarms 15 }
ups03AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups03WellKnownAlarms 16 }
ups03AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups03WellKnownAlarms 17 }
ups03AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups03WellKnownAlarms 18 }
ups03AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups03WellKnownAlarms 19 }
ups03AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups03WellKnownAlarms 20 }
ups03AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups03WellKnownAlarms 21 }
ups03AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups03ShutdownAfterDelay countdown is underway."
::= { ups03WellKnownAlarms 22 }
ups03AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups03WellKnownAlarms 23 }
ups03AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups03WellKnownAlarms 24 }
--
-- The Test Group
--
ups03Test OBJECT IDENTIFIER ::= { ups03Objects 7 }
ups03TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups03TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups03TestResultsSummary. Tests in progress may be
aborted by setting the ups03TestId variable to
ups03TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups03TestNoTestsInitiated is returned."
::= { ups03Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups03TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups03TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups03TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups03TestResultsSummary */
get (upsTestSpinLock, ups03TestResultsSummary,
ups03TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups03TestResultsSummary,
ups03TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups03TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups03TestSpinLock at agent
initialization shall
be 1."
::= { ups03Test 2 }
ups03TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups03TestId to upsTestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups03Test 3 }
ups03TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups03TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups03Test 4 }
ups03TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups03TestResultsSummary is noTestsInitiated(6),
ups03TestStartTime has the value 0."
::= { ups03Test 5 }
ups03TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups03TestResultsSummary is noTestsInitiated(6),
ups03TestElapsedTime has the value 0."
::= { ups03Test 6 }
--
-- Well known tests.
--
ups03WellKnownTests OBJECT IDENTIFIER ::= { ups03Test 7 }
ups03TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups03WellKnownTests 1 }
ups03TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups03WellKnownTests 2 }
ups03TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups03WellKnownTests 3 }
ups03TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups03WellKnownTests 4 }
ups03TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups03WellKnownTests 5 }
--
-- The Control group.
--
ups03Control OBJECT IDENTIFIER ::= { ups03Objects 8 }
ups03ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups03ShutdownAfterDelay and upsRebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups03Control 1 }
ups03ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups03ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups03ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups03ShutdownType =
output and the output is already off. When read,
ups03ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups03ShutdownAfterDelay already in effect."
::= { ups03Control 2 }
ups03StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups03StartupAfterDelay
countdown or ups03RebootWithDuration countdown in
progress. When read, ups03StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups03Control 3 }
ups03RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups03ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups03RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups03Control 4 }
--
-- notifications, i.e., traps
--
ups03Traps OBJECT IDENTIFIER ::= { upsModule3 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups03TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups03EstimatedMinutesRemaining, upsSecondsOnBattery,
ups03ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups03Traps 1 }
ups03TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups03TestId, upsTestSpinLock,
ups03TestResultsSummary, upsTestResultsDetail,
ups03TestStartTime, ups03TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups03Traps 2 }
ups03TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups03AlarmId, ups03AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups03AlarmOnBattery and
ups03AlarmTestInProgress."
::= { ups03Traps 3 }
ups03TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups03AlarmId, ups03AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups03AlarmTestInProgress."
::= { ups03Traps 4 }
--
-- conformance information
--
ups03Conformance OBJECT IDENTIFIER ::= { upsModule3 3 }
ups03Compliances OBJECT IDENTIFIER ::= { ups03Conformance 1 }
--
-- compliance statements
--
ups03SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups03SubsetIdentGroup,
ups03SubsetBatteryGroup, ups03SubsetInputGroup,
ups03SubsetOutputGroup, ups03SubsetAlarmGroup,
ups03SubsetControlGroup }
OBJECT ups03BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups03AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups03AlarmOnBattery, ups03AlarmLowBattery,
ups03AlarmInputBad, ups03AlarmUpsOutputOff,
ups03AlarmUpsSystemOff, and ups03AlarmTestInProgress."
OBJECT ups03OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups03ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups03Compliances 1 }
ups03BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups03BasicIdentGroup,
ups03BasicBatteryGroup, ups03BasicInputGroup,
ups03BasicOutputGroup, ups03BasicAlarmGroup,
ups03BasicTestGroup, ups03BasicControlGroup }
OBJECT ups03AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups03AlarmOnBattery, ups03AlarmLowBattery,
ups03AlarmDepletedBattery, ups03AlarmTempBad,
ups03AlarmInputBad, ups03AlarmOutputOverload,
ups03AlarmOnBypass, ups03AlarmBypassBad,
ups03AlarmOutputOffAsRequested,
ups03AlarmUpsOffAsRequested, ups03AlarmUpsOutputOff,
ups03AlarmUpsSystemOff, ups03AlarmGeneralFault,
ups03AlarmDiagnosticTestFailed,
ups03AlarmCommunicationsLost, ups03AlarmShutdownPending,
and ups03AlarmTestInProgress."
OBJECT ups03TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups03TestNoTestsInitiated."
OBJECT ups03OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups03BasicBypassGroup
DESCRIPTION
"The ups03BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups03ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups03Compliances 2 }
ups03FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups03FullIdentGroup, upsFullBatteryGroup,
ups03FullInputGroup, upsFullOutputGroup,
ups03FullAlarmGroup, upsFullTestGroup,
ups03FullControlGroup }
OBJECT ups03AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups03AlarmBatteryBad, ups03AlarmOnBattery,
ups03AlarmLowBattery, ups03AlarmDepletedBattery,
ups03AlarmTempBad, ups03AlarmInputBad, upsAlarmOnBypass,
ups03AlarmBypassBad, ups03AlarmOutputOffAsRequested,
ups03AlarmUpsOffAsRequested, ups03AlarmUpsOutputOff,
ups03AlarmUpsSystemOff, ups03AlarmGeneralFault,
ups03AlarmDiagnosticTestFailed,
ups03AlarmCommunicationsLost, ups03AlarmShutdownPending,
and ups03AlarmTestInProgress."
OBJECT ups03TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups03TestNoTestsInitiated,
ups03TestGeneralSystemsTest, and
ups03TestQuickBatteryTest."
OBJECT ups03OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups03FullBypassGroup
DESCRIPTION
"The ups03FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups03ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups03Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups03Groups OBJECT IDENTIFIER ::= { ups03Conformance 2 }
ups03SubsetGroups OBJECT IDENTIFIER ::= { ups03Groups 1 }
ups03SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups03IdentManufacturer, ups03IdentModel,
ups03IdentAgentSoftwareVersion, ups03IdentName,
ups03IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups03SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups03SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups03SubsetGroups 1 }
ups03SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups03BatteryStatus, ups03SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups03SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups03SubsetGroups 2 }
ups03SubsetInputGroup OBJECT-GROUP
OBJECTS { ups03InputLineBads }
STATUS current
DESCRIPTION
"The ups03SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups03SubsetGroups 3 }
ups03SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups03OutputSource }
STATUS current
DESCRIPTION
"The ups03SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups03SubsetGroups 4 }
-- { ups03SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups03SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups03AlarmsPresent, ups03AlarmDescr, ups03AlarmTime }
STATUS current
DESCRIPTION
"The ups03SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups03SubsetGroups 6 }
-- { ups03SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups03SubsetControlGroup OBJECT-GROUP
OBJECTS { ups03ShutdownType, ups03ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups03SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups03SubsetGroups 8 }
ups03BasicGroups OBJECT IDENTIFIER ::= { ups03Groups 2 }
ups03BasicIdentGroup OBJECT-GROUP
OBJECTS { ups03IdentManufacturer, ups03IdentModel,
ups03IdentUPSSoftwareVersion,
ups03IdentAgentSoftwareVersion, ups03IdentName }
STATUS current
DESCRIPTION
"The ups03BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 1 }
ups03BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups03BatteryStatus, ups03SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups03BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 2 }
ups03BasicInputGroup OBJECT-GROUP
OBJECTS { ups03InputLineBads, ups03InputNumLines,
ups03InputFrequency, ups03InputVoltage }
STATUS current
DESCRIPTION
"The ups03BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 3 }
ups03BasicOutputGroup OBJECT-GROUP
OBJECTS { ups03OutputSource, ups03OutputFrequency,
ups03OutputNumLines, ups03OutputVoltage }
STATUS current
DESCRIPTION
"The ups03BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 4 }
ups03BasicBypassGroup OBJECT-GROUP
OBJECTS { ups03BypassFrequency, ups03BypassNumLines,
ups03BypassVoltage }
STATUS current
DESCRIPTION
"The ups03BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 5 }
ups03BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups03AlarmsPresent, ups03AlarmDescr, ups03AlarmTime }
STATUS current
DESCRIPTION
"The ups03BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 6 }
ups03BasicTestGroup OBJECT-GROUP
OBJECTS { ups03TestId, ups03TestSpinLock,
ups03TestResultsSummary, ups03TestResultsDetail,
ups03TestStartTime, ups03TestElapsedTime }
STATUS current
DESCRIPTION
"The ups03BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 7 }
ups03BasicControlGroup OBJECT-GROUP
OBJECTS { ups03ShutdownType, ups03ShutdownAfterDelay,
ups03StartupAfterDelay, ups03RebootWithDuration }
STATUS current
DESCRIPTION
"The ups03BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups03BasicGroups 8 }
ups03FullGroups OBJECT IDENTIFIER ::= { ups03Groups 3 }
ups03FullIdentGroup OBJECT-GROUP
OBJECTS { ups03IdentManufacturer, ups03IdentModel,
ups03IdentUPSSoftwareVersion,
ups03IdentAgentSoftwareVersion, ups03IdentName,
ups03IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups03FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups03FullGroups 1 }
ups03FullBatteryGroup OBJECT-GROUP
OBJECTS { ups03BatteryStatus, ups03SecondsOnBattery,
ups03EstimatedMinutesRemaining,
ups03EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups03FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups03FullGroups 2 }
ups03FullInputGroup OBJECT-GROUP
OBJECTS { ups03InputLineBads, ups03InputNumLines,
ups03InputFrequency, ups03InputVoltage }
STATUS current
DESCRIPTION
"The ups03FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups03FullGroups 3 }
ups03FullOutputGroup OBJECT-GROUP
OBJECTS { ups03OutputSource, ups03OutputFrequency,
ups03OutputNumLines, ups03OutputVoltage,
ups03OutputCurrent, ups03OutputPower,
ups03OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups03FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups03FullGroups 4 }
ups03FullBypassGroup OBJECT-GROUP
OBJECTS { ups03BypassFrequency, ups03BypassNumLines,
ups03BypassVoltage }
STATUS current
DESCRIPTION
"The ups03FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups03FullGroups 5 }
ups03FullAlarmGroup OBJECT-GROUP
OBJECTS { ups03AlarmsPresent, ups03AlarmDescr, ups03AlarmTime }
STATUS current
DESCRIPTION
"The ups03FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups03FullGroups 6 }
ups03FullTestGroup OBJECT-GROUP
OBJECTS { ups03TestId, ups03TestSpinLock,
ups03TestResultsSummary, ups03TestResultsDetail,
ups03TestStartTime, ups03TestElapsedTime }
STATUS current
DESCRIPTION
"The ups03FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups03FullGroups 7 }
ups03FullControlGroup OBJECT-GROUP
OBJECTS { ups03ShutdownType, ups03ShutdownAfterDelay,
ups03StartupAfterDelay, ups03RebootWithDuration }
STATUS current
DESCRIPTION
"The ups03FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups03FullGroups 8 }
--*******************************************************************
--
-- Module 4 data
--
upsModule4 OBJECT IDENTIFIER ::= { upsModular 5 }
ups04Objects OBJECT IDENTIFIER ::= { upsModule4 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups04IdentName and
-- ups04IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups04Ident OBJECT IDENTIFIER ::= { ups04Objects 1 }
ups04IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups04Ident 1 }
ups04IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups04Ident 2 }
ups04IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups04IdentAgentSoftwareVersion in some implementations."
::= { ups04Ident 3 }
ups04IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups04IdentUPSSoftwareVersion in some implementations."
::= { ups04Ident 4 }
ups04IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups04Ident 5 }
ups04IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups04Ident 6 }
--
-- Battery Group
--
ups04Battery OBJECT IDENTIFIER ::= { ups04Objects 2 }
ups04BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups04ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups04ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups04Battery 1 }
ups04SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups04Battery 2 }
ups04EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups04Battery 3 }
ups04EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups04Battery 4 }
ups04BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups04Battery 5 }
ups04BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups04Battery 6 }
ups04BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups04Battery 7 }
--
-- Input Group
--
ups04Input OBJECT IDENTIFIER ::= { ups04Objects 3 }
ups04InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups04Input 1 }
ups04InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups04Input 2 }
ups04InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups04InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups04InputNumLines."
::= { ups04Input 3 }
ups04InputEntry OBJECT-TYPE
SYNTAX Ups04InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups04InputLineIndex }
::= { ups04InputTable 1 }
Ups04InputEntry ::= SEQUENCE {
ups04InputLineIndex PositiveInteger,
ups04InputFrequency NonNegativeInteger,
ups04InputVoltage NonNegativeInteger,
ups04InputCurrent NonNegativeInteger,
ups04InputTruePower NonNegativeInteger
}
ups04InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups04InputEntry 1 }
ups04InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups04InputEntry 2 }
ups04InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups04InputEntry 3 }
ups04InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups04InputEntry 4 }
ups04InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups04InputEntry 5 }
--
-- The Output group.
--
ups04Output OBJECT IDENTIFIER ::= { ups04Objects 4 }
ups04OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups04Output 1 }
ups04OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups04Output 2 }
ups04OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups04Output 3 }
ups04OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups04OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups04OutputNumLines."
::= { ups04Output 4 }
ups04OutputEntry OBJECT-TYPE
SYNTAX Ups04OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups04OutputLineIndex }
::= { ups04OutputTable 1 }
Ups04OutputEntry ::= SEQUENCE {
ups04OutputLineIndex PositiveInteger,
ups04OutputVoltage NonNegativeInteger,
ups04OutputCurrent NonNegativeInteger,
ups04OutputPower NonNegativeInteger,
ups04OutputPercentLoad INTEGER
}
ups04OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups04OutputEntry 1 }
ups04OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups04OutputEntry 2 }
ups04OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups04OutputEntry 3 }
ups04OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups04OutputEntry 4 }
ups04OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups04OutputEntry 5 }
--
-- The Bypass group.
--
ups04Bypass OBJECT IDENTIFIER ::= { ups04Objects 5 }
ups04BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups04Bypass 1 }
ups04BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups04Bypass 2 }
ups04BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups04BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups04BypassNumLines."
::= { ups04Bypass 3 }
ups04BypassEntry OBJECT-TYPE
SYNTAX Ups04BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups04BypassLineIndex }
::= { ups04BypassTable 1 }
Ups04BypassEntry ::= SEQUENCE {
ups04BypassLineIndex PositiveInteger,
ups04BypassVoltage NonNegativeInteger,
ups04BypassCurrent NonNegativeInteger,
ups04BypassPower NonNegativeInteger
}
ups04BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups04BypassEntry 1 }
ups04BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups04BypassEntry 2 }
ups04BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups04BypassEntry 3 }
ups04BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups04BypassEntry 4 }
--
-- The Alarm group.
--
ups04Alarm OBJECT IDENTIFIER ::= { ups04Objects 6 }
ups04AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups04Alarm 1 }
ups04AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups04AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups04AlarmId equal to 1, and increments the value of
ups04AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups04AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups04AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups04AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups04AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups04AlarmsPresent."
::= { ups04Alarm 2 }
ups04AlarmEntry OBJECT-TYPE
SYNTAX Ups04AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups04AlarmId }
::= { ups04AlarmTable 1 }
Ups04AlarmEntry ::= SEQUENCE {
ups04AlarmId PositiveInteger,
ups04AlarmDescr AutonomousType,
ups04AlarmTime TimeStamp
}
ups04AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups04AlarmEntry 1 }
ups04AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups04AlarmEntry 2 }
ups04AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups04AlarmTime shall equal
0."
::= { ups04AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups04WellKnownAlarms OBJECT IDENTIFIER ::= { ups04Alarm 3 }
ups04AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups04WellKnownAlarms 1 }
ups04AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups04WellKnownAlarms 2 }
ups04AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups04ConfigLowBattTime."
::= { ups04WellKnownAlarms 3 }
ups04AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups04WellKnownAlarms 4 }
ups04AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups04WellKnownAlarms 5 }
ups04AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups04WellKnownAlarms 6 }
ups04AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups04WellKnownAlarms 7 }
ups04AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups04WellKnownAlarms 8 }
ups04AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups04WellKnownAlarms 9 }
ups04AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups04WellKnownAlarms 10 }
ups04AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups04WellKnownAlarms 11 }
ups04AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups04WellKnownAlarms 12 }
ups04AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups04WellKnownAlarms 13 }
ups04AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups04WellKnownAlarms 14 }
ups04AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups04WellKnownAlarms 15 }
ups04AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups04WellKnownAlarms 16 }
ups04AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups04WellKnownAlarms 17 }
ups04AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups04WellKnownAlarms 18 }
ups04AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups04WellKnownAlarms 19 }
ups04AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups04WellKnownAlarms 20 }
ups04AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups04WellKnownAlarms 21 }
ups04AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups04ShutdownAfterDelay countdown is underway."
::= { ups04WellKnownAlarms 22 }
ups04AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups04WellKnownAlarms 23 }
ups04AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups04WellKnownAlarms 24 }
--
-- The Test Group
--
ups04Test OBJECT IDENTIFIER ::= { ups04Objects 7 }
ups04TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups04TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups04TestResultsSummary. Tests in progress may be
aborted by setting the ups04TestId variable to
ups04TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups04TestNoTestsInitiated is returned."
::= { ups04Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups04TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups04TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups04TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups04TestResultsSummary */
get (upsTestSpinLock, ups04TestResultsSummary,
ups04TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups04TestResultsSummary,
ups04TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups04TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups04TestSpinLock at agent
initialization shall
be 1."
::= { ups04Test 2 }
ups04TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups04TestId to ups04TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups04Test 3 }
ups04TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups04TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups04Test 4 }
ups04TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups04TestResultsSummary is noTestsInitiated(6),
ups04TestStartTime has the value 0."
::= { ups04Test 5 }
ups04TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups04TestResultsSummary is noTestsInitiated(6),
ups04TestElapsedTime has the value 0."
::= { ups04Test 6 }
--
-- Well known tests.
--
ups04WellKnownTests OBJECT IDENTIFIER ::= { ups04Test 7 }
ups04TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups04WellKnownTests 1 }
ups04TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups04WellKnownTests 2 }
ups04TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups04WellKnownTests 3 }
ups04TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups04WellKnownTests 4 }
ups04TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups04WellKnownTests 5 }
--
-- The Control group.
--
ups04Control OBJECT IDENTIFIER ::= { ups04Objects 8 }
ups04ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups04ShutdownAfterDelay and ups04RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups04Control 1 }
ups04ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups04ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups04ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups04ShutdownType =
output and the output is already off. When read,
ups04ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups04ShutdownAfterDelay already in effect."
::= { ups04Control 2 }
ups04StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups04StartupAfterDelay
countdown or ups04RebootWithDuration countdown in
progress. When read, ups04StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups04Control 3 }
ups04RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups04ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups04RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups04Control 4 }
--
-- notifications, i.e., traps
--
ups04Traps OBJECT IDENTIFIER ::= { upsModule4 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups04TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups04EstimatedMinutesRemaining, ups04SecondsOnBattery,
ups04ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups04Traps 1 }
ups04TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups04TestId, ups04TestSpinLock,
ups04TestResultsSummary, ups04TestResultsDetail,
ups04TestStartTime, ups04TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups04Traps 2 }
ups04TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups04AlarmId, ups04AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups04AlarmOnBattery and
ups04AlarmTestInProgress."
::= { ups04Traps 3 }
ups04TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups04AlarmId, ups04AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups04AlarmTestInProgress."
::= { ups04Traps 4 }
--
-- conformance information
--
ups04Conformance OBJECT IDENTIFIER ::= { upsModule4 3 }
ups04Compliances OBJECT IDENTIFIER ::= { ups04Conformance 1 }
--
-- compliance statements
--
ups04SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups04SubsetIdentGroup,
ups04SubsetBatteryGroup, ups04SubsetInputGroup,
ups04SubsetOutputGroup, ups04SubsetAlarmGroup,
ups04SubsetControlGroup }
OBJECT ups04BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups04AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups04AlarmOnBattery, ups04AlarmLowBattery,
ups04AlarmInputBad, ups04AlarmUpsOutputOff,
ups04AlarmUpsSystemOff, and ups04AlarmTestInProgress."
OBJECT ups04OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups04ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups04Compliances 1 }
ups04BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups04BasicIdentGroup,
ups04BasicBatteryGroup, ups04BasicInputGroup,
ups04BasicOutputGroup, ups04BasicAlarmGroup,
ups04BasicTestGroup, ups04BasicControlGroup }
OBJECT ups04AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups04AlarmOnBattery, ups04AlarmLowBattery,
ups04AlarmDepletedBattery, ups04AlarmTempBad,
ups04AlarmInputBad, ups04AlarmOutputOverload,
ups04AlarmOnBypass, ups04AlarmBypassBad,
ups04AlarmOutputOffAsRequested,
ups04AlarmUpsOffAsRequested, ups04AlarmUpsOutputOff,
ups04AlarmUpsSystemOff, ups04AlarmGeneralFault,
ups04AlarmDiagnosticTestFailed,
ups04AlarmCommunicationsLost, ups04AlarmShutdownPending,
and ups04AlarmTestInProgress."
OBJECT ups04TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups04TestNoTestsInitiated."
OBJECT ups04OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups04BasicBypassGroup
DESCRIPTION
"The ups04BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups04ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups04Compliances 2 }
ups04FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups04FullIdentGroup, ups04FullBatteryGroup,
ups04FullInputGroup, ups04FullOutputGroup,
ups04FullAlarmGroup, ups04FullTestGroup,
ups04FullControlGroup }
OBJECT ups04AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups04AlarmBatteryBad, ups04AlarmOnBattery,
ups04AlarmLowBattery, ups04AlarmDepletedBattery,
ups04AlarmTempBad, ups04AlarmInputBad, ups04AlarmOnBypass,
ups04AlarmBypassBad, ups04AlarmOutputOffAsRequested,
ups04AlarmUpsOffAsRequested, ups04AlarmUpsOutputOff,
ups04AlarmUpsSystemOff, ups04AlarmGeneralFault,
ups04AlarmDiagnosticTestFailed,
ups04AlarmCommunicationsLost, ups04AlarmShutdownPending,
and ups04AlarmTestInProgress."
OBJECT ups04TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups04TestNoTestsInitiated,
ups04TestGeneralSystemsTest, and
ups04TestQuickBatteryTest."
OBJECT ups04OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups04FullBypassGroup
DESCRIPTION
"The ups04FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups04ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups04Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups04Groups OBJECT IDENTIFIER ::= { ups04Conformance 2 }
ups04SubsetGroups OBJECT IDENTIFIER ::= { ups04Groups 1 }
ups04SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups04IdentManufacturer, ups04IdentModel,
ups04IdentAgentSoftwareVersion, ups04IdentName,
ups04IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups04SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups04SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups04SubsetGroups 1 }
ups04SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups04BatteryStatus, ups04SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups04SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups04SubsetGroups 2 }
ups04SubsetInputGroup OBJECT-GROUP
OBJECTS { ups04InputLineBads }
STATUS current
DESCRIPTION
"The ups04SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups04SubsetGroups 3 }
ups04SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups04OutputSource }
STATUS current
DESCRIPTION
"The ups04SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups04SubsetGroups 4 }
-- { ups04SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups04SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups04AlarmsPresent, ups04AlarmDescr, ups04AlarmTime }
STATUS current
DESCRIPTION
"The ups04SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups04SubsetGroups 6 }
-- { ups04SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups04SubsetControlGroup OBJECT-GROUP
OBJECTS { ups04ShutdownType, ups04ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups04SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups04SubsetGroups 8 }
ups04BasicGroups OBJECT IDENTIFIER ::= { ups04Groups 2 }
ups04BasicIdentGroup OBJECT-GROUP
OBJECTS { ups04IdentManufacturer, ups04IdentModel,
ups04IdentUPSSoftwareVersion,
ups04IdentAgentSoftwareVersion, ups04IdentName }
STATUS current
DESCRIPTION
"The ups04BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 1 }
ups04BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups04BatteryStatus, ups04SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups04BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 2 }
ups04BasicInputGroup OBJECT-GROUP
OBJECTS { ups04InputLineBads, ups04InputNumLines,
ups04InputFrequency, ups04InputVoltage }
STATUS current
DESCRIPTION
"The ups04BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 3 }
ups04BasicOutputGroup OBJECT-GROUP
OBJECTS { ups04OutputSource, ups04OutputFrequency,
ups04OutputNumLines, ups04OutputVoltage }
STATUS current
DESCRIPTION
"The ups04BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 4 }
ups04BasicBypassGroup OBJECT-GROUP
OBJECTS { ups04BypassFrequency, ups04BypassNumLines,
ups04BypassVoltage }
STATUS current
DESCRIPTION
"The ups04BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 5 }
ups04BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups04AlarmsPresent, ups04AlarmDescr, ups04AlarmTime }
STATUS current
DESCRIPTION
"The ups04BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 6 }
ups04BasicTestGroup OBJECT-GROUP
OBJECTS { ups04TestId, ups04TestSpinLock,
ups04TestResultsSummary, ups04TestResultsDetail,
ups04TestStartTime, ups04TestElapsedTime }
STATUS current
DESCRIPTION
"The ups04BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 7 }
ups04BasicControlGroup OBJECT-GROUP
OBJECTS { ups04ShutdownType, ups04ShutdownAfterDelay,
ups04StartupAfterDelay, ups04RebootWithDuration }
STATUS current
DESCRIPTION
"The ups04BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups04BasicGroups 8 }
ups04FullGroups OBJECT IDENTIFIER ::= { ups04Groups 3 }
ups04FullIdentGroup OBJECT-GROUP
OBJECTS { ups04IdentManufacturer, ups04IdentModel,
ups04IdentUPSSoftwareVersion,
ups04IdentAgentSoftwareVersion, ups04IdentName,
ups04IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups04FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups04FullGroups 1 }
ups04FullBatteryGroup OBJECT-GROUP
OBJECTS { ups04BatteryStatus, ups04SecondsOnBattery,
ups04EstimatedMinutesRemaining,
ups04EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups04FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups04FullGroups 2 }
ups04FullInputGroup OBJECT-GROUP
OBJECTS { ups04InputLineBads, ups04InputNumLines,
ups04InputFrequency, ups04InputVoltage }
STATUS current
DESCRIPTION
"The ups04FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups04FullGroups 3 }
ups04FullOutputGroup OBJECT-GROUP
OBJECTS { ups04OutputSource, ups04OutputFrequency,
ups04OutputNumLines, ups04OutputVoltage,
ups04OutputCurrent, ups04OutputPower,
ups04OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups04FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups04FullGroups 4 }
ups04FullBypassGroup OBJECT-GROUP
OBJECTS { ups04BypassFrequency, ups04BypassNumLines,
ups04BypassVoltage }
STATUS current
DESCRIPTION
"The ups04FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups04FullGroups 5 }
ups04FullAlarmGroup OBJECT-GROUP
OBJECTS { ups04AlarmsPresent, ups04AlarmDescr, ups04AlarmTime }
STATUS current
DESCRIPTION
"The ups04FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups04FullGroups 6 }
ups04FullTestGroup OBJECT-GROUP
OBJECTS { ups04TestId, ups04TestSpinLock,
ups04TestResultsSummary, ups04TestResultsDetail,
ups04TestStartTime, ups04TestElapsedTime }
STATUS current
DESCRIPTION
"The ups04FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups04FullGroups 7 }
ups04FullControlGroup OBJECT-GROUP
OBJECTS { ups04ShutdownType, ups04ShutdownAfterDelay,
ups04StartupAfterDelay, ups04RebootWithDuration }
STATUS current
DESCRIPTION
"The ups04FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups04FullGroups 8 }
--*******************************************************************
--
-- Module 5 data
--
upsModule5 OBJECT IDENTIFIER ::= { upsModular 6 }
ups05Objects OBJECT IDENTIFIER ::= { upsModule5 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups05IdentName and
-- ups05IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups05Ident OBJECT IDENTIFIER ::= { ups05Objects 1 }
ups05IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups05Ident 1 }
ups05IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups05Ident 2 }
ups05IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups05IdentAgentSoftwareVersion in some implementations."
::= { ups05Ident 3 }
ups05IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups05IdentUPSSoftwareVersion in some implementations."
::= { ups05Ident 4 }
ups05IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups05Ident 5 }
ups05IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups05Ident 6 }
--
-- Battery Group
--
ups05Battery OBJECT IDENTIFIER ::= { ups05Objects 2 }
ups05BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups05ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups05ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups05Battery 1 }
ups05SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups05Battery 2 }
ups05EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups05Battery 3 }
ups05EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups05Battery 4 }
ups05BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups05Battery 5 }
ups05BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups05Battery 6 }
ups05BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups05Battery 7 }
--
-- Input Group
--
ups05Input OBJECT IDENTIFIER ::= { ups05Objects 3 }
ups05InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups05Input 1 }
ups05InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups05Input 2 }
ups05InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups05InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups05InputNumLines."
::= { ups05Input 3 }
ups05InputEntry OBJECT-TYPE
SYNTAX Ups05InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups05InputLineIndex }
::= { ups05InputTable 1 }
Ups05InputEntry ::= SEQUENCE {
ups05InputLineIndex PositiveInteger,
ups05InputFrequency NonNegativeInteger,
ups05InputVoltage NonNegativeInteger,
ups05InputCurrent NonNegativeInteger,
ups05InputTruePower NonNegativeInteger
}
ups05InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups05InputEntry 1 }
ups05InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups05InputEntry 2 }
ups05InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups05InputEntry 3 }
ups05InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups05InputEntry 4 }
ups05InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups05InputEntry 5 }
--
-- The Output group.
--
ups05Output OBJECT IDENTIFIER ::= { ups05Objects 4 }
ups05OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups05Output 1 }
ups05OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups05Output 2 }
ups05OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups05Output 3 }
ups05OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups05OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups05OutputNumLines."
::= { ups05Output 4 }
ups05OutputEntry OBJECT-TYPE
SYNTAX Ups05OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups05OutputLineIndex }
::= { ups05OutputTable 1 }
Ups05OutputEntry ::= SEQUENCE {
ups05OutputLineIndex PositiveInteger,
ups05OutputVoltage NonNegativeInteger,
ups05OutputCurrent NonNegativeInteger,
ups05OutputPower NonNegativeInteger,
ups05OutputPercentLoad INTEGER
}
ups05OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups05OutputEntry 1 }
ups05OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups05OutputEntry 2 }
ups05OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups05OutputEntry 3 }
ups05OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups05OutputEntry 4 }
ups05OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups05OutputEntry 5 }
--
-- The Bypass group.
--
ups05Bypass OBJECT IDENTIFIER ::= { ups05Objects 5 }
ups05BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups05Bypass 1 }
ups05BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups05Bypass 2 }
ups05BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups05BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups05BypassNumLines."
::= { ups05Bypass 3 }
ups05BypassEntry OBJECT-TYPE
SYNTAX Ups05BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups05BypassLineIndex }
::= { ups05BypassTable 1 }
Ups05BypassEntry ::= SEQUENCE {
ups05BypassLineIndex PositiveInteger,
ups05BypassVoltage NonNegativeInteger,
ups05BypassCurrent NonNegativeInteger,
ups05BypassPower NonNegativeInteger
}
ups05BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups05BypassEntry 1 }
ups05BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups05BypassEntry 2 }
ups05BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups05BypassEntry 3 }
ups05BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups05BypassEntry 4 }
--
-- The Alarm group.
--
ups05Alarm OBJECT IDENTIFIER ::= { ups05Objects 6 }
ups05AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups05Alarm 1 }
ups05AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups05AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups05AlarmId equal to 1, and increments the value of
ups05AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups05AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups05AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups05AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups05AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups05AlarmsPresent."
::= { ups05Alarm 2 }
ups05AlarmEntry OBJECT-TYPE
SYNTAX Ups05AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups05AlarmId }
::= { ups05AlarmTable 1 }
Ups05AlarmEntry ::= SEQUENCE {
ups05AlarmId PositiveInteger,
ups05AlarmDescr AutonomousType,
ups05AlarmTime TimeStamp
}
ups05AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups05AlarmEntry 1 }
ups05AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups05AlarmEntry 2 }
ups05AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups05AlarmTime shall equal
0."
::= { ups05AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups05WellKnownAlarms OBJECT IDENTIFIER ::= { ups05Alarm 3 }
ups05AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups05WellKnownAlarms 1 }
ups05AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups05WellKnownAlarms 2 }
ups05AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups05ConfigLowBattTime."
::= { ups05WellKnownAlarms 3 }
ups05AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups05WellKnownAlarms 4 }
ups05AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups05WellKnownAlarms 5 }
ups05AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups05WellKnownAlarms 6 }
ups05AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups05WellKnownAlarms 7 }
ups05AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups05WellKnownAlarms 8 }
ups05AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups05WellKnownAlarms 9 }
ups05AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups05WellKnownAlarms 10 }
ups05AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups05WellKnownAlarms 11 }
ups05AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups05WellKnownAlarms 12 }
ups05AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups05WellKnownAlarms 13 }
ups05AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups05WellKnownAlarms 14 }
ups05AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups05WellKnownAlarms 15 }
ups05AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups05WellKnownAlarms 16 }
ups05AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups05WellKnownAlarms 17 }
ups05AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups05WellKnownAlarms 18 }
ups05AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups05WellKnownAlarms 19 }
ups05AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups05WellKnownAlarms 20 }
ups05AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups05WellKnownAlarms 21 }
ups05AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups05ShutdownAfterDelay countdown is underway."
::= { ups05WellKnownAlarms 22 }
ups05AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups05WellKnownAlarms 23 }
ups05AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups05WellKnownAlarms 24 }
--
-- The Test Group
--
ups05Test OBJECT IDENTIFIER ::= { ups05Objects 7 }
ups05TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups05TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups05TestResultsSummary. Tests in progress may be
aborted by setting the ups05TestId variable to
ups05TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups05TestNoTestsInitiated is returned."
::= { ups05Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups05TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups05TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups05TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups05TestResultsSummary */
get (upsTestSpinLock, ups05TestResultsSummary,
ups05TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups05TestResultsSummary,
ups05TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups05TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups05TestSpinLock at agent
initialization shall
be 1."
::= { ups05Test 2 }
ups05TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups05TestId to ups05TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups05Test 3 }
ups05TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups05TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups05Test 4 }
ups05TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups05TestResultsSummary is noTestsInitiated(6),
ups05TestStartTime has the value 0."
::= { ups05Test 5 }
ups05TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups05TestResultsSummary is noTestsInitiated(6),
ups05TestElapsedTime has the value 0."
::= { ups05Test 6 }
--
-- Well known tests.
--
ups05WellKnownTests OBJECT IDENTIFIER ::= { ups05Test 7 }
ups05TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups05WellKnownTests 1 }
ups05TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups05WellKnownTests 2 }
ups05TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups05WellKnownTests 3 }
ups05TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups05WellKnownTests 4 }
ups05TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups05WellKnownTests 5 }
--
-- The Control group.
--
ups05Control OBJECT IDENTIFIER ::= { ups05Objects 8 }
ups05ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups05ShutdownAfterDelay and ups05RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups05Control 1 }
ups05ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups05ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups05ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups05ShutdownType =
output and the output is already off. When read,
ups05ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups05ShutdownAfterDelay already in effect."
::= { ups05Control 2 }
ups05StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups05StartupAfterDelay
countdown or ups05RebootWithDuration countdown in
progress. When read, ups05StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups05Control 3 }
ups05RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups05ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups05RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups05Control 4 }
--
-- notifications, i.e., traps
--
ups05Traps OBJECT IDENTIFIER ::= { upsModule5 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups05TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups05EstimatedMinutesRemaining, ups05SecondsOnBattery,
ups05ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups05Traps 1 }
ups05TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups05TestId, ups05TestSpinLock,
ups05TestResultsSummary, ups05TestResultsDetail,
ups05TestStartTime, ups05TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups05Traps 2 }
ups05TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups05AlarmId, ups05AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups05AlarmOnBattery and
ups05AlarmTestInProgress."
::= { ups05Traps 3 }
ups05TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups05AlarmId, ups05AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups05AlarmTestInProgress."
::= { ups05Traps 4 }
--
-- conformance information
--
ups05Conformance OBJECT IDENTIFIER ::= { upsModule5 3 }
ups05Compliances OBJECT IDENTIFIER ::= { ups05Conformance 1 }
--
-- compliance statements
--
ups05SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups05SubsetIdentGroup,
ups05SubsetBatteryGroup, ups05SubsetInputGroup,
ups05SubsetOutputGroup, ups05SubsetAlarmGroup,
ups05SubsetControlGroup }
OBJECT ups05BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups05AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups05AlarmOnBattery, ups05AlarmLowBattery,
ups05AlarmInputBad, ups05AlarmUpsOutputOff,
ups05AlarmUpsSystemOff, and ups05AlarmTestInProgress."
OBJECT ups05OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups05ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups05Compliances 1 }
ups05BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups05BasicIdentGroup,
ups05BasicBatteryGroup, ups05BasicInputGroup,
ups05BasicOutputGroup, ups05BasicAlarmGroup,
ups05BasicTestGroup, ups05BasicControlGroup }
OBJECT ups05AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups05AlarmOnBattery, ups05AlarmLowBattery,
ups05AlarmDepletedBattery, ups05AlarmTempBad,
ups05AlarmInputBad, ups05AlarmOutputOverload,
ups05AlarmOnBypass, ups05AlarmBypassBad,
ups05AlarmOutputOffAsRequested,
ups05AlarmUpsOffAsRequested, ups05AlarmUpsOutputOff,
ups05AlarmUpsSystemOff, ups05AlarmGeneralFault,
ups05AlarmDiagnosticTestFailed,
ups05AlarmCommunicationsLost, ups05AlarmShutdownPending,
and ups05AlarmTestInProgress."
OBJECT ups05TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups05TestNoTestsInitiated."
OBJECT ups05OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups05BasicBypassGroup
DESCRIPTION
"The ups05BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups05ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups05Compliances 2 }
ups05FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups05FullIdentGroup, ups05FullBatteryGroup,
ups05FullInputGroup, ups05FullOutputGroup,
ups05FullAlarmGroup, ups05FullTestGroup,
ups05FullControlGroup }
OBJECT ups05AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups05AlarmBatteryBad, ups05AlarmOnBattery,
ups05AlarmLowBattery, ups05AlarmDepletedBattery,
ups05AlarmTempBad, ups05AlarmInputBad, upsAlarmOnBypass,
ups05AlarmBypassBad, ups05AlarmOutputOffAsRequested,
ups05AlarmUpsOffAsRequested, ups05AlarmUpsOutputOff,
ups05AlarmUpsSystemOff, ups05AlarmGeneralFault,
ups05AlarmDiagnosticTestFailed,
ups05AlarmCommunicationsLost, ups05AlarmShutdownPending,
and ups05AlarmTestInProgress."
OBJECT ups05TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups05TestNoTestsInitiated,
ups05TestGeneralSystemsTest, and
ups05TestQuickBatteryTest."
OBJECT ups05OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups05FullBypassGroup
DESCRIPTION
"The ups05FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups05ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups05Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups05Groups OBJECT IDENTIFIER ::= { ups05Conformance 2 }
ups05SubsetGroups OBJECT IDENTIFIER ::= { ups05Groups 1 }
ups05SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups05IdentManufacturer, ups05IdentModel,
ups05IdentAgentSoftwareVersion, ups05IdentName,
ups05IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups05SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups05SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups05SubsetGroups 1 }
ups05SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups05BatteryStatus, ups05SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups05SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups05SubsetGroups 2 }
ups05SubsetInputGroup OBJECT-GROUP
OBJECTS { ups05InputLineBads }
STATUS current
DESCRIPTION
"The ups05SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups05SubsetGroups 3 }
ups05SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups05OutputSource }
STATUS current
DESCRIPTION
"The ups05SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups05SubsetGroups 4 }
-- { ups05SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups05SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups05AlarmsPresent, ups05AlarmDescr, ups05AlarmTime }
STATUS current
DESCRIPTION
"The ups05SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups05SubsetGroups 6 }
-- { ups05SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups05SubsetControlGroup OBJECT-GROUP
OBJECTS { ups05ShutdownType, ups05ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups05SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups05SubsetGroups 8 }
ups05BasicGroups OBJECT IDENTIFIER ::= { ups05Groups 2 }
ups05BasicIdentGroup OBJECT-GROUP
OBJECTS { ups05IdentManufacturer, ups05IdentModel,
ups05IdentUPSSoftwareVersion,
ups05IdentAgentSoftwareVersion, ups05IdentName }
STATUS current
DESCRIPTION
"The ups05BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 1 }
ups05BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups05BatteryStatus, ups05SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups05BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 2 }
ups05BasicInputGroup OBJECT-GROUP
OBJECTS { ups05InputLineBads, ups05InputNumLines,
ups05InputFrequency, ups05InputVoltage }
STATUS current
DESCRIPTION
"The ups05BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 3 }
ups05BasicOutputGroup OBJECT-GROUP
OBJECTS { ups05OutputSource, ups05OutputFrequency,
ups05OutputNumLines, ups05OutputVoltage }
STATUS current
DESCRIPTION
"The ups05BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 4 }
ups05BasicBypassGroup OBJECT-GROUP
OBJECTS { ups05BypassFrequency, ups05BypassNumLines,
ups05BypassVoltage }
STATUS current
DESCRIPTION
"The ups05BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 5 }
ups05BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups05AlarmsPresent, ups05AlarmDescr, ups05AlarmTime }
STATUS current
DESCRIPTION
"The ups05BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 6 }
ups05BasicTestGroup OBJECT-GROUP
OBJECTS { ups05TestId, ups05TestSpinLock,
ups05TestResultsSummary, ups05TestResultsDetail,
ups05TestStartTime, ups05TestElapsedTime }
STATUS current
DESCRIPTION
"The ups05BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 7 }
ups05BasicControlGroup OBJECT-GROUP
OBJECTS { ups05ShutdownType, ups05ShutdownAfterDelay,
ups05StartupAfterDelay, ups05RebootWithDuration }
STATUS current
DESCRIPTION
"The ups05BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups05BasicGroups 8 }
ups05FullGroups OBJECT IDENTIFIER ::= { ups05Groups 3 }
ups05FullIdentGroup OBJECT-GROUP
OBJECTS { ups05IdentManufacturer, ups05IdentModel,
ups05IdentUPSSoftwareVersion,
ups05IdentAgentSoftwareVersion, ups05IdentName,
ups05IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups05FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups05FullGroups 1 }
ups05FullBatteryGroup OBJECT-GROUP
OBJECTS { ups05BatteryStatus, ups05SecondsOnBattery,
ups05EstimatedMinutesRemaining,
ups05EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups05FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups05FullGroups 2 }
ups05FullInputGroup OBJECT-GROUP
OBJECTS { ups05InputLineBads, ups05InputNumLines,
ups05InputFrequency, ups05InputVoltage }
STATUS current
DESCRIPTION
"The ups05FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups05FullGroups 3 }
ups05FullOutputGroup OBJECT-GROUP
OBJECTS { ups05OutputSource, ups05OutputFrequency,
ups05OutputNumLines, ups05OutputVoltage,
ups05OutputCurrent, ups05OutputPower,
ups05OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups05FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups05FullGroups 4 }
ups05FullBypassGroup OBJECT-GROUP
OBJECTS { ups05BypassFrequency, ups05BypassNumLines,
ups05BypassVoltage }
STATUS current
DESCRIPTION
"The ups05FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups05FullGroups 5 }
ups05FullAlarmGroup OBJECT-GROUP
OBJECTS { ups05AlarmsPresent, ups05AlarmDescr, ups05AlarmTime }
STATUS current
DESCRIPTION
"The ups05FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups05FullGroups 6 }
ups05FullTestGroup OBJECT-GROUP
OBJECTS { ups05TestId, ups05TestSpinLock,
ups05TestResultsSummary, ups05TestResultsDetail,
ups05TestStartTime, ups05TestElapsedTime }
STATUS current
DESCRIPTION
"The ups05FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups05FullGroups 7 }
ups05FullControlGroup OBJECT-GROUP
OBJECTS { ups05ShutdownType, ups05ShutdownAfterDelay,
ups05StartupAfterDelay, ups05RebootWithDuration }
STATUS current
DESCRIPTION
"The ups05FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups05FullGroups 8 }
--*******************************************************************
--
-- Module 6 data
--
upsModule6 OBJECT IDENTIFIER ::= { upsModular 7 }
ups06Objects OBJECT IDENTIFIER ::= { upsModule6 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups06IdentName and
-- ups06IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups06Ident OBJECT IDENTIFIER ::= { ups06Objects 1 }
ups06IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups06Ident 1 }
ups06IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups06Ident 2 }
ups06IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups06IdentAgentSoftwareVersion in some implementations."
::= { ups06Ident 3 }
ups06IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups06IdentUPSSoftwareVersion in some implementations."
::= { ups06Ident 4 }
ups06IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups06Ident 5 }
ups06IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups06Ident 6 }
--
-- Battery Group
--
ups06Battery OBJECT IDENTIFIER ::= { ups06Objects 2 }
ups06BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups06ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups06ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups06Battery 1 }
ups06SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups06Battery 2 }
ups06EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups06Battery 3 }
ups06EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups06Battery 4 }
ups06BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups06Battery 5 }
ups06BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups06Battery 6 }
ups06BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups06Battery 7 }
--
-- Input Group
--
ups06Input OBJECT IDENTIFIER ::= { ups06Objects 3 }
ups06InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups06Input 1 }
ups06InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups06Input 2 }
ups06InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups06InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups06InputNumLines."
::= { ups06Input 3 }
ups06InputEntry OBJECT-TYPE
SYNTAX Ups06InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups06InputLineIndex }
::= { ups06InputTable 1 }
Ups06InputEntry ::= SEQUENCE {
ups06InputLineIndex PositiveInteger,
ups06InputFrequency NonNegativeInteger,
ups06InputVoltage NonNegativeInteger,
ups06InputCurrent NonNegativeInteger,
ups06InputTruePower NonNegativeInteger
}
ups06InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups06InputEntry 1 }
ups06InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups06InputEntry 2 }
ups06InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups06InputEntry 3 }
ups06InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups06InputEntry 4 }
ups06InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups06InputEntry 5 }
--
-- The Output group.
--
ups06Output OBJECT IDENTIFIER ::= { ups06Objects 4 }
ups06OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups06Output 1 }
ups06OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups06Output 2 }
ups06OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups06Output 3 }
ups06OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups06OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups06OutputNumLines."
::= { ups06Output 4 }
ups06OutputEntry OBJECT-TYPE
SYNTAX Ups06OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups06OutputLineIndex }
::= { ups06OutputTable 1 }
Ups06OutputEntry ::= SEQUENCE {
ups06OutputLineIndex PositiveInteger,
ups06OutputVoltage NonNegativeInteger,
ups06OutputCurrent NonNegativeInteger,
ups06OutputPower NonNegativeInteger,
ups06OutputPercentLoad INTEGER
}
ups06OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups06OutputEntry 1 }
ups06OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups06OutputEntry 2 }
ups06OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups06OutputEntry 3 }
ups06OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups06OutputEntry 4 }
ups06OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups06OutputEntry 5 }
--
-- The Bypass group.
--
ups06Bypass OBJECT IDENTIFIER ::= { ups06Objects 5 }
ups06BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups06Bypass 1 }
ups06BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups06Bypass 2 }
ups06BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups06BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups06BypassNumLines."
::= { ups06Bypass 3 }
ups06BypassEntry OBJECT-TYPE
SYNTAX Ups06BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups06BypassLineIndex }
::= { ups06BypassTable 1 }
Ups06BypassEntry ::= SEQUENCE {
ups06BypassLineIndex PositiveInteger,
ups06BypassVoltage NonNegativeInteger,
ups06BypassCurrent NonNegativeInteger,
ups06BypassPower NonNegativeInteger
}
ups06BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups06BypassEntry 1 }
ups06BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups06BypassEntry 2 }
ups06BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups06BypassEntry 3 }
ups06BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups06BypassEntry 4 }
--
-- The Alarm group.
--
ups06Alarm OBJECT IDENTIFIER ::= { ups06Objects 6 }
ups06AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups06Alarm 1 }
ups06AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups06AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups06AlarmId equal to 1, and increments the value of
ups06AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups06AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups06AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups06AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups06AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups06AlarmsPresent."
::= { ups06Alarm 2 }
ups06AlarmEntry OBJECT-TYPE
SYNTAX Ups06AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups06AlarmId }
::= { ups06AlarmTable 1 }
Ups06AlarmEntry ::= SEQUENCE {
ups06AlarmId PositiveInteger,
ups06AlarmDescr AutonomousType,
ups06AlarmTime TimeStamp
}
ups06AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups06AlarmEntry 1 }
ups06AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups06AlarmEntry 2 }
ups06AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups06AlarmTime shall equal
0."
::= { ups06AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups06WellKnownAlarms OBJECT IDENTIFIER ::= { ups06Alarm 3 }
ups06AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups06WellKnownAlarms 1 }
ups06AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups06WellKnownAlarms 2 }
ups06AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups06ConfigLowBattTime."
::= { ups06WellKnownAlarms 3 }
ups06AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups06WellKnownAlarms 4 }
ups06AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups06WellKnownAlarms 5 }
ups06AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups06WellKnownAlarms 6 }
ups06AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups06WellKnownAlarms 7 }
ups06AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups06WellKnownAlarms 8 }
ups06AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups06WellKnownAlarms 9 }
ups06AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups06WellKnownAlarms 10 }
ups06AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups06WellKnownAlarms 11 }
ups06AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups06WellKnownAlarms 12 }
ups06AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups06WellKnownAlarms 13 }
ups06AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups06WellKnownAlarms 14 }
ups06AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups06WellKnownAlarms 15 }
ups06AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups06WellKnownAlarms 16 }
ups06AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups06WellKnownAlarms 17 }
ups06AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups06WellKnownAlarms 18 }
ups06AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups06WellKnownAlarms 19 }
ups06AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups06WellKnownAlarms 20 }
ups06AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups06WellKnownAlarms 21 }
ups06AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups06ShutdownAfterDelay countdown is underway."
::= { ups06WellKnownAlarms 22 }
ups06AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups06WellKnownAlarms 23 }
ups06AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups06WellKnownAlarms 24 }
--
-- The Test Group
--
ups06Test OBJECT IDENTIFIER ::= { ups06Objects 7 }
ups06TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups06TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups06TestResultsSummary. Tests in progress may be
aborted by setting the ups06TestId variable to
ups06TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups06TestNoTestsInitiated is returned."
::= { ups06Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups06TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups06TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups06TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups06TestResultsSummary */
get (upsTestSpinLock, ups06TestResultsSummary,
ups06TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups06TestResultsSummary,
ups06TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups06TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups06TestSpinLock at agent
initialization shall
be 1."
::= { ups06Test 2 }
ups06TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups06TestId to ups06TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups06Test 3 }
ups06TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups06TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups06Test 4 }
ups06TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups06TestResultsSummary is noTestsInitiated(6),
ups06TestStartTime has the value 0."
::= { ups06Test 5 }
ups06TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups06TestResultsSummary is noTestsInitiated(6),
ups06TestElapsedTime has the value 0."
::= { ups06Test 6 }
--
-- Well known tests.
--
ups06WellKnownTests OBJECT IDENTIFIER ::= { ups06Test 7 }
ups06TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups06WellKnownTests 1 }
ups06TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups06WellKnownTests 2 }
ups06TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups06WellKnownTests 3 }
ups06TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups06WellKnownTests 4 }
ups06TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups06WellKnownTests 5 }
--
-- The Control group.
--
ups06Control OBJECT IDENTIFIER ::= { ups06Objects 8 }
ups06ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups06ShutdownAfterDelay and ups06RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups06Control 1 }
ups06ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups06ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups06ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups06ShutdownType =
output and the output is already off. When read,
ups06ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups06ShutdownAfterDelay already in effect."
::= { ups06Control 2 }
ups06StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups06StartupAfterDelay
countdown or ups06RebootWithDuration countdown in
progress. When read, ups06StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups06Control 3 }
ups06RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups06ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups06RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups06Control 4 }
--
-- notifications, i.e., traps
--
ups06Traps OBJECT IDENTIFIER ::= { upsModule6 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups06TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups06EstimatedMinutesRemaining, ups06SecondsOnBattery,
ups06ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups06Traps 1 }
ups06TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups06TestId, ups06TestSpinLock,
ups06TestResultsSummary, ups06TestResultsDetail,
ups06TestStartTime, ups06TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups06Traps 2 }
ups06TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups06AlarmId, ups06AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups06AlarmOnBattery and
ups06AlarmTestInProgress."
::= { ups06Traps 3 }
ups06TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups06AlarmId, ups06AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups06AlarmTestInProgress."
::= { ups06Traps 4 }
--
-- conformance information
--
ups06Conformance OBJECT IDENTIFIER ::= { upsModule6 3 }
ups06Compliances OBJECT IDENTIFIER ::= { ups06Conformance 1 }
--
-- compliance statements
--
ups06SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups06SubsetIdentGroup,
ups06SubsetBatteryGroup, ups06SubsetInputGroup,
ups06SubsetOutputGroup, ups06SubsetAlarmGroup,
ups06SubsetControlGroup }
OBJECT ups06BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups06AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups06AlarmOnBattery, ups06AlarmLowBattery,
ups06AlarmInputBad, ups06AlarmUpsOutputOff,
ups06AlarmUpsSystemOff, and ups06AlarmTestInProgress."
OBJECT ups06OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups06ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups06Compliances 1 }
ups06BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups06BasicIdentGroup,
ups06BasicBatteryGroup, ups06BasicInputGroup,
ups06BasicOutputGroup, ups06BasicAlarmGroup,
ups06BasicTestGroup, ups06BasicControlGroup }
OBJECT ups06AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups06AlarmOnBattery, ups06AlarmLowBattery,
ups06AlarmDepletedBattery, ups06AlarmTempBad,
ups06AlarmInputBad, ups06AlarmOutputOverload,
ups06AlarmOnBypass, ups06AlarmBypassBad,
ups06AlarmOutputOffAsRequested,
ups06AlarmUpsOffAsRequested, ups06AlarmUpsOutputOff,
ups06AlarmUpsSystemOff, ups06AlarmGeneralFault,
ups06AlarmDiagnosticTestFailed,
ups06AlarmCommunicationsLost, ups06AlarmShutdownPending,
and ups06AlarmTestInProgress."
OBJECT ups06TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups06TestNoTestsInitiated."
OBJECT ups06OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups06BasicBypassGroup
DESCRIPTION
"The ups06BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups06ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups06Compliances 2 }
ups06FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups06FullIdentGroup, ups06FullBatteryGroup,
ups06FullInputGroup, ups06FullOutputGroup,
ups06FullAlarmGroup, ups06FullTestGroup,
ups06FullControlGroup }
OBJECT ups06AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups06AlarmBatteryBad, ups06AlarmOnBattery,
ups06AlarmLowBattery, ups06AlarmDepletedBattery,
ups06AlarmTempBad, ups06AlarmInputBad, ups06AlarmOnBypass,
ups06AlarmBypassBad, ups06AlarmOutputOffAsRequested,
ups06AlarmUpsOffAsRequested, ups06AlarmUpsOutputOff,
ups06AlarmUpsSystemOff, ups06AlarmGeneralFault,
ups06AlarmDiagnosticTestFailed,
ups06AlarmCommunicationsLost, ups06AlarmShutdownPending,
and ups06AlarmTestInProgress."
OBJECT ups06TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups06TestNoTestsInitiated,
ups06TestGeneralSystemsTest, and
ups06TestQuickBatteryTest."
OBJECT ups06OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups06FullBypassGroup
DESCRIPTION
"The ups06FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups06ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups06Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups06Groups OBJECT IDENTIFIER ::= { ups06Conformance 2 }
ups06SubsetGroups OBJECT IDENTIFIER ::= { ups06Groups 1 }
ups06SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups06IdentManufacturer, ups06IdentModel,
ups06IdentAgentSoftwareVersion, ups06IdentName,
ups06IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups06SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups06SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups06SubsetGroups 1 }
ups06SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups06BatteryStatus, ups06SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups06SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups06SubsetGroups 2 }
ups06SubsetInputGroup OBJECT-GROUP
OBJECTS { ups06InputLineBads }
STATUS current
DESCRIPTION
"The ups06SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups06SubsetGroups 3 }
ups06SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups06OutputSource }
STATUS current
DESCRIPTION
"The ups06SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups06SubsetGroups 4 }
-- { ups06SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups06SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups06AlarmsPresent, ups06AlarmDescr, ups06AlarmTime }
STATUS current
DESCRIPTION
"The ups06SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups06SubsetGroups 6 }
-- { ups06SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups06SubsetControlGroup OBJECT-GROUP
OBJECTS { ups06ShutdownType, ups06ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups06SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups06SubsetGroups 8 }
ups06BasicGroups OBJECT IDENTIFIER ::= { ups06Groups 2 }
ups06BasicIdentGroup OBJECT-GROUP
OBJECTS { ups06IdentManufacturer, ups06IdentModel,
ups06IdentUPSSoftwareVersion,
ups06IdentAgentSoftwareVersion, ups06IdentName }
STATUS current
DESCRIPTION
"The ups06BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 1 }
ups06BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups06BatteryStatus, ups06SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups06BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 2 }
ups06BasicInputGroup OBJECT-GROUP
OBJECTS { ups06InputLineBads, ups06InputNumLines,
ups06InputFrequency, ups06InputVoltage }
STATUS current
DESCRIPTION
"The ups06BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 3 }
ups06BasicOutputGroup OBJECT-GROUP
OBJECTS { ups06OutputSource, ups06OutputFrequency,
ups06OutputNumLines, ups06OutputVoltage }
STATUS current
DESCRIPTION
"The ups06BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 4 }
ups06BasicBypassGroup OBJECT-GROUP
OBJECTS { ups06BypassFrequency, ups06BypassNumLines,
ups06BypassVoltage }
STATUS current
DESCRIPTION
"The ups06BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 5 }
ups06BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups06AlarmsPresent, ups06AlarmDescr, ups06AlarmTime }
STATUS current
DESCRIPTION
"The ups06BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 6 }
ups06BasicTestGroup OBJECT-GROUP
OBJECTS { ups06TestId, ups06TestSpinLock,
ups06TestResultsSummary, ups06TestResultsDetail,
ups06TestStartTime, ups06TestElapsedTime }
STATUS current
DESCRIPTION
"The ups06BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 7 }
ups06BasicControlGroup OBJECT-GROUP
OBJECTS { ups06ShutdownType, ups06ShutdownAfterDelay,
ups06StartupAfterDelay, ups06RebootWithDuration }
STATUS current
DESCRIPTION
"The ups06BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups06BasicGroups 8 }
ups06FullGroups OBJECT IDENTIFIER ::= { ups06Groups 3 }
ups06FullIdentGroup OBJECT-GROUP
OBJECTS { ups06IdentManufacturer, ups06IdentModel,
ups06IdentUPSSoftwareVersion,
ups06IdentAgentSoftwareVersion, ups06IdentName,
ups06IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups06FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups06FullGroups 1 }
ups06FullBatteryGroup OBJECT-GROUP
OBJECTS { ups06BatteryStatus, ups06SecondsOnBattery,
ups06EstimatedMinutesRemaining,
ups06EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups06FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups06FullGroups 2 }
ups06FullInputGroup OBJECT-GROUP
OBJECTS { ups06InputLineBads, ups06InputNumLines,
ups06InputFrequency, ups06InputVoltage }
STATUS current
DESCRIPTION
"The ups06FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups06FullGroups 3 }
ups06FullOutputGroup OBJECT-GROUP
OBJECTS { ups06OutputSource, ups06OutputFrequency,
ups06OutputNumLines, ups06OutputVoltage,
ups06OutputCurrent, ups06OutputPower,
ups06OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups06FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups06FullGroups 4 }
ups06FullBypassGroup OBJECT-GROUP
OBJECTS { ups06BypassFrequency, ups06BypassNumLines,
ups06BypassVoltage }
STATUS current
DESCRIPTION
"The ups06FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups06FullGroups 5 }
ups06FullAlarmGroup OBJECT-GROUP
OBJECTS { ups06AlarmsPresent, ups06AlarmDescr, ups06AlarmTime }
STATUS current
DESCRIPTION
"The ups06FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups06FullGroups 6 }
ups06FullTestGroup OBJECT-GROUP
OBJECTS { ups06TestId, ups06TestSpinLock,
ups06TestResultsSummary, ups06TestResultsDetail,
ups06TestStartTime, ups06TestElapsedTime }
STATUS current
DESCRIPTION
"The ups06FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups06FullGroups 7 }
ups06FullControlGroup OBJECT-GROUP
OBJECTS { ups06ShutdownType, ups06ShutdownAfterDelay,
ups06StartupAfterDelay, ups06RebootWithDuration }
STATUS current
DESCRIPTION
"The ups06FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups06FullGroups 8 }
--*******************************************************************
--
-- Module 7 data
--
upsModule7 OBJECT IDENTIFIER ::= { upsModular 8 }
ups07Objects OBJECT IDENTIFIER ::= { upsModule7 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups07IdentName and
-- ups07IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups07Ident OBJECT IDENTIFIER ::= { ups07Objects 1 }
ups07IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups07Ident 1 }
ups07IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups07Ident 2 }
ups07IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups07IdentAgentSoftwareVersion in some implementations."
::= { ups07Ident 3 }
ups07IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups07IdentUPSSoftwareVersion in some implementations."
::= { ups07Ident 4 }
ups07IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups07Ident 5 }
ups07IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups07Ident 6 }
--
-- Battery Group
--
ups07Battery OBJECT IDENTIFIER ::= { ups07Objects 2 }
ups07BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups07ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups07ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups07Battery 1 }
ups07SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups07Battery 2 }
ups07EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups07Battery 3 }
ups07EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups07Battery 4 }
ups07BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups07Battery 5 }
ups07BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups07Battery 6 }
ups07BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups07Battery 7 }
--
-- Input Group
--
ups07Input OBJECT IDENTIFIER ::= { ups07Objects 3 }
ups07InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups07Input 1 }
ups07InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups07Input 2 }
ups07InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups07InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups07InputNumLines."
::= { ups07Input 3 }
ups07InputEntry OBJECT-TYPE
SYNTAX Ups07InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups07InputLineIndex }
::= { ups07InputTable 1 }
Ups07InputEntry ::= SEQUENCE {
ups07InputLineIndex PositiveInteger,
ups07InputFrequency NonNegativeInteger,
ups07InputVoltage NonNegativeInteger,
ups07InputCurrent NonNegativeInteger,
ups07InputTruePower NonNegativeInteger
}
ups07InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups07InputEntry 1 }
ups07InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups07InputEntry 2 }
ups07InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups07InputEntry 3 }
ups07InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups07InputEntry 4 }
ups07InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups07InputEntry 5 }
--
-- The Output group.
--
ups07Output OBJECT IDENTIFIER ::= { ups07Objects 4 }
ups07OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups07Output 1 }
ups07OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups07Output 2 }
ups07OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups07Output 3 }
ups07OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups07OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups07OutputNumLines."
::= { ups07Output 4 }
ups07OutputEntry OBJECT-TYPE
SYNTAX Ups07OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups07OutputLineIndex }
::= { ups07OutputTable 1 }
Ups07OutputEntry ::= SEQUENCE {
ups07OutputLineIndex PositiveInteger,
ups07OutputVoltage NonNegativeInteger,
ups07OutputCurrent NonNegativeInteger,
ups07OutputPower NonNegativeInteger,
ups07OutputPercentLoad INTEGER
}
ups07OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups07OutputEntry 1 }
ups07OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups07OutputEntry 2 }
ups07OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups07OutputEntry 3 }
ups07OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups07OutputEntry 4 }
ups07OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups07OutputEntry 5 }
--
-- The Bypass group.
--
ups07Bypass OBJECT IDENTIFIER ::= { ups07Objects 5 }
ups07BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups07Bypass 1 }
ups07BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups07Bypass 2 }
ups07BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups07BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups07BypassNumLines."
::= { ups07Bypass 3 }
ups07BypassEntry OBJECT-TYPE
SYNTAX Ups07BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups07BypassLineIndex }
::= { ups07BypassTable 1 }
Ups07BypassEntry ::= SEQUENCE {
ups07BypassLineIndex PositiveInteger,
ups07BypassVoltage NonNegativeInteger,
ups07BypassCurrent NonNegativeInteger,
ups07BypassPower NonNegativeInteger
}
ups07BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups07BypassEntry 1 }
ups07BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups07BypassEntry 2 }
ups07BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups07BypassEntry 3 }
ups07BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups07BypassEntry 4 }
--
-- The Alarm group.
--
ups07Alarm OBJECT IDENTIFIER ::= { ups07Objects 6 }
ups07AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups07Alarm 1 }
ups07AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups07AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups07AlarmId equal to 1, and increments the value of
ups07AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups07AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups07AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups07AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups07AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups07AlarmsPresent."
::= { ups07Alarm 2 }
ups07AlarmEntry OBJECT-TYPE
SYNTAX Ups07AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups07AlarmId }
::= { ups07AlarmTable 1 }
Ups07AlarmEntry ::= SEQUENCE {
ups07AlarmId PositiveInteger,
ups07AlarmDescr AutonomousType,
ups07AlarmTime TimeStamp
}
ups07AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups07AlarmEntry 1 }
ups07AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups07AlarmEntry 2 }
ups07AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups07AlarmTime shall equal
0."
::= { ups07AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups07WellKnownAlarms OBJECT IDENTIFIER ::= { ups07Alarm 3 }
ups07AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups07WellKnownAlarms 1 }
ups07AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups07WellKnownAlarms 2 }
ups07AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups07ConfigLowBattTime."
::= { ups07WellKnownAlarms 3 }
ups07AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups07WellKnownAlarms 4 }
ups07AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups07WellKnownAlarms 5 }
ups07AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups07WellKnownAlarms 6 }
ups07AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups07WellKnownAlarms 7 }
ups07AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups07WellKnownAlarms 8 }
ups07AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups07WellKnownAlarms 9 }
ups07AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups07WellKnownAlarms 10 }
ups07AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups07WellKnownAlarms 11 }
ups07AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups07WellKnownAlarms 12 }
ups07AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups07WellKnownAlarms 13 }
ups07AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups07WellKnownAlarms 14 }
ups07AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups07WellKnownAlarms 15 }
ups07AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups07WellKnownAlarms 16 }
ups07AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups07WellKnownAlarms 17 }
ups07AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups07WellKnownAlarms 18 }
ups07AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups07WellKnownAlarms 19 }
ups07AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups07WellKnownAlarms 20 }
ups07AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups07WellKnownAlarms 21 }
ups07AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups07ShutdownAfterDelay countdown is underway."
::= { ups07WellKnownAlarms 22 }
ups07AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups07WellKnownAlarms 23 }
ups07AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups07WellKnownAlarms 24 }
--
-- The Test Group
--
ups07Test OBJECT IDENTIFIER ::= { ups07Objects 7 }
ups07TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups07TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups07TestResultsSummary. Tests in progress may be
aborted by setting the ups07TestId variable to
ups07TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups07TestNoTestsInitiated is returned."
::= { ups07Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups07TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups07TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups07TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups07TestResultsSummary */
get (upsTestSpinLock, ups07TestResultsSummary,
ups07TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups07TestResultsSummary,
ups07TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups07TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups07TestSpinLock at agent
initialization shall
be 1."
::= { ups07Test 2 }
ups07TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups07TestId to ups07TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups07Test 3 }
ups07TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups07TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups07Test 4 }
ups07TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups07TestResultsSummary is noTestsInitiated(6),
ups07TestStartTime has the value 0."
::= { ups07Test 5 }
ups07TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups07TestResultsSummary is noTestsInitiated(6),
ups07TestElapsedTime has the value 0."
::= { ups07Test 6 }
--
-- Well known tests.
--
ups07WellKnownTests OBJECT IDENTIFIER ::= { ups07Test 7 }
ups07TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups07WellKnownTests 1 }
ups07TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups07WellKnownTests 2 }
ups07TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups07WellKnownTests 3 }
ups07TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups07WellKnownTests 4 }
ups07TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups07WellKnownTests 5 }
--
-- The Control group.
--
ups07Control OBJECT IDENTIFIER ::= { ups07Objects 8 }
ups07ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups07ShutdownAfterDelay and ups07RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups07Control 1 }
ups07ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups07ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups07ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups07ShutdownType =
output and the output is already off. When read,
ups07ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups07ShutdownAfterDelay already in effect."
::= { ups07Control 2 }
ups07StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups07StartupAfterDelay
countdown or ups07RebootWithDuration countdown in
progress. When read, ups07StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups07Control 3 }
ups07RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups07ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups07RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups07Control 4 }
--
-- notifications, i.e., traps
--
ups07Traps OBJECT IDENTIFIER ::= { upsModule7 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups07TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups07EstimatedMinutesRemaining, ups07SecondsOnBattery,
ups07ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups07Traps 1 }
ups07TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups07TestId, ups07TestSpinLock,
ups07TestResultsSummary, ups07TestResultsDetail,
ups07TestStartTime, ups07TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups07Traps 2 }
ups07TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups07AlarmId, ups07AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups07AlarmOnBattery and
ups07AlarmTestInProgress."
::= { ups07Traps 3 }
ups07TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups07AlarmId, ups07AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups07AlarmTestInProgress."
::= { ups07Traps 4 }
--
-- conformance information
--
ups07Conformance OBJECT IDENTIFIER ::= { upsModule7 3 }
ups07Compliances OBJECT IDENTIFIER ::= { ups07Conformance 1 }
--
-- compliance statements
--
ups07SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups07SubsetIdentGroup,
ups07SubsetBatteryGroup, ups07SubsetInputGroup,
ups07SubsetOutputGroup, ups07SubsetAlarmGroup,
ups07SubsetControlGroup }
OBJECT ups07BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups07AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups07AlarmOnBattery, ups07AlarmLowBattery,
ups07AlarmInputBad, ups07AlarmUpsOutputOff,
ups07AlarmUpsSystemOff, and ups07AlarmTestInProgress."
OBJECT ups07OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups07ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups07Compliances 1 }
ups07BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups07BasicIdentGroup,
ups07BasicBatteryGroup, ups07BasicInputGroup,
ups07BasicOutputGroup, ups07BasicAlarmGroup,
ups07BasicTestGroup, ups07BasicControlGroup }
OBJECT ups07AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups07AlarmOnBattery, ups07AlarmLowBattery,
ups07AlarmDepletedBattery, ups07AlarmTempBad,
ups07AlarmInputBad, ups07AlarmOutputOverload,
ups07AlarmOnBypass, ups07AlarmBypassBad,
ups07AlarmOutputOffAsRequested,
ups07AlarmUpsOffAsRequested, ups07AlarmUpsOutputOff,
ups07AlarmUpsSystemOff, ups07AlarmGeneralFault,
ups07AlarmDiagnosticTestFailed,
ups07AlarmCommunicationsLost, ups07AlarmShutdownPending,
and ups07AlarmTestInProgress."
OBJECT ups07TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups07TestNoTestsInitiated."
OBJECT ups07OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups07BasicBypassGroup
DESCRIPTION
"The ups07BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups07ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups07Compliances 2 }
ups07FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups07FullIdentGroup, ups07FullBatteryGroup,
ups07FullInputGroup, ups07FullOutputGroup,
ups07FullAlarmGroup, ups07FullTestGroup,
ups07FullControlGroup }
OBJECT ups07AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups07AlarmBatteryBad, ups07AlarmOnBattery,
ups07AlarmLowBattery, ups07AlarmDepletedBattery,
ups07AlarmTempBad, ups07AlarmInputBad, ups07AlarmOnBypass,
ups07AlarmBypassBad, ups07AlarmOutputOffAsRequested,
ups07AlarmUpsOffAsRequested, ups07AlarmUpsOutputOff,
ups07AlarmUpsSystemOff, ups07AlarmGeneralFault,
ups07AlarmDiagnosticTestFailed,
ups07AlarmCommunicationsLost, ups07AlarmShutdownPending,
and ups07AlarmTestInProgress."
OBJECT ups07TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups07TestNoTestsInitiated,
ups07TestGeneralSystemsTest, and
ups07TestQuickBatteryTest."
OBJECT ups07OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups07FullBypassGroup
DESCRIPTION
"The ups07FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups07ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups07Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups07Groups OBJECT IDENTIFIER ::= { ups07Conformance 2 }
ups07SubsetGroups OBJECT IDENTIFIER ::= { ups07Groups 1 }
ups07SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups07IdentManufacturer, ups07IdentModel,
ups07IdentAgentSoftwareVersion, ups07IdentName,
ups07IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups07SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups07SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups07SubsetGroups 1 }
ups07SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups07BatteryStatus, ups07SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups07SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups07SubsetGroups 2 }
ups07SubsetInputGroup OBJECT-GROUP
OBJECTS { ups07InputLineBads }
STATUS current
DESCRIPTION
"The ups07SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups07SubsetGroups 3 }
ups07SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups07OutputSource }
STATUS current
DESCRIPTION
"The ups07SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups07SubsetGroups 4 }
-- { ups07SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups07SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups07AlarmsPresent, ups07AlarmDescr, ups07AlarmTime }
STATUS current
DESCRIPTION
"The ups07SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups07SubsetGroups 6 }
-- { ups07SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups07SubsetControlGroup OBJECT-GROUP
OBJECTS { ups07ShutdownType, ups07ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups07SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups07SubsetGroups 8 }
ups07BasicGroups OBJECT IDENTIFIER ::= { ups07Groups 2 }
ups07BasicIdentGroup OBJECT-GROUP
OBJECTS { ups07IdentManufacturer, ups07IdentModel,
ups07IdentUPSSoftwareVersion,
ups07IdentAgentSoftwareVersion, ups07IdentName }
STATUS current
DESCRIPTION
"The ups07BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 1 }
ups07BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups07BatteryStatus, ups07SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups07BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 2 }
ups07BasicInputGroup OBJECT-GROUP
OBJECTS { ups07InputLineBads, ups07InputNumLines,
ups07InputFrequency, ups07InputVoltage }
STATUS current
DESCRIPTION
"The ups07BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 3 }
ups07BasicOutputGroup OBJECT-GROUP
OBJECTS { ups07OutputSource, ups07OutputFrequency,
ups07OutputNumLines, ups07OutputVoltage }
STATUS current
DESCRIPTION
"The ups07BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 4 }
ups07BasicBypassGroup OBJECT-GROUP
OBJECTS { ups07BypassFrequency, ups07BypassNumLines,
ups07BypassVoltage }
STATUS current
DESCRIPTION
"The ups07BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 5 }
ups07BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups07AlarmsPresent, ups07AlarmDescr, ups07AlarmTime }
STATUS current
DESCRIPTION
"The ups07BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 6 }
ups07BasicTestGroup OBJECT-GROUP
OBJECTS { ups07TestId, ups07TestSpinLock,
ups07TestResultsSummary, ups07TestResultsDetail,
ups07TestStartTime, ups07TestElapsedTime }
STATUS current
DESCRIPTION
"The ups07BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 7 }
ups07BasicControlGroup OBJECT-GROUP
OBJECTS { ups07ShutdownType, ups07ShutdownAfterDelay,
ups07StartupAfterDelay, ups07RebootWithDuration }
STATUS current
DESCRIPTION
"The ups07BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups07BasicGroups 8 }
ups07FullGroups OBJECT IDENTIFIER ::= { ups07Groups 3 }
ups07FullIdentGroup OBJECT-GROUP
OBJECTS { ups07IdentManufacturer, ups07IdentModel,
ups07IdentUPSSoftwareVersion,
ups07IdentAgentSoftwareVersion, ups07IdentName,
ups07IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups07FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups07FullGroups 1 }
ups07FullBatteryGroup OBJECT-GROUP
OBJECTS { ups07BatteryStatus, ups07SecondsOnBattery,
ups07EstimatedMinutesRemaining,
ups07EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups07FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups07FullGroups 2 }
ups07FullInputGroup OBJECT-GROUP
OBJECTS { ups07InputLineBads, ups07InputNumLines,
ups07InputFrequency, ups07InputVoltage }
STATUS current
DESCRIPTION
"The ups07FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups07FullGroups 3 }
ups07FullOutputGroup OBJECT-GROUP
OBJECTS { ups07OutputSource, ups07OutputFrequency,
ups07OutputNumLines, ups07OutputVoltage,
ups07OutputCurrent, ups07OutputPower,
ups07OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups07FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups07FullGroups 4 }
ups07FullBypassGroup OBJECT-GROUP
OBJECTS { ups07BypassFrequency, ups07BypassNumLines,
ups07BypassVoltage }
STATUS current
DESCRIPTION
"The ups07FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups07FullGroups 5 }
ups07FullAlarmGroup OBJECT-GROUP
OBJECTS { ups07AlarmsPresent, ups07AlarmDescr, ups07AlarmTime }
STATUS current
DESCRIPTION
"The ups07FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups07FullGroups 6 }
ups07FullTestGroup OBJECT-GROUP
OBJECTS { ups07TestId, ups07TestSpinLock,
ups07TestResultsSummary, ups07TestResultsDetail,
ups07TestStartTime, ups07TestElapsedTime }
STATUS current
DESCRIPTION
"The ups07FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups07FullGroups 7 }
ups07FullControlGroup OBJECT-GROUP
OBJECTS { ups07ShutdownType, ups07ShutdownAfterDelay,
ups07StartupAfterDelay, ups07RebootWithDuration }
STATUS current
DESCRIPTION
"The ups07FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups07FullGroups 8 }
--*******************************************************************
--
-- Module 8 data
--
upsModule8 OBJECT IDENTIFIER ::= { upsModular 9 }
ups08Objects OBJECT IDENTIFIER ::= { upsModule8 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups08IdentName and
-- ups08IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups08Ident OBJECT IDENTIFIER ::= { ups08Objects 1 }
ups08IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups08Ident 1 }
ups08IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups08Ident 2 }
ups08IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups08IdentAgentSoftwareVersion in some implementations."
::= { ups08Ident 3 }
ups08IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups08IdentUPSSoftwareVersion in some implementations."
::= { ups08Ident 4 }
ups08IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups08Ident 5 }
ups08IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups08Ident 6 }
--
-- Battery Group
--
ups08Battery OBJECT IDENTIFIER ::= { ups08Objects 2 }
ups08BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups08ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups08ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups08Battery 1 }
ups08SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups08Battery 2 }
ups08EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups08Battery 3 }
ups08EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups08Battery 4 }
ups08BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups08Battery 5 }
ups08BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups08Battery 6 }
ups08BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups08Battery 7 }
--
-- Input Group
--
ups08Input OBJECT IDENTIFIER ::= { ups08Objects 3 }
ups08InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups08Input 1 }
ups08InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups08Input 2 }
ups08InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups08InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups08InputNumLines."
::= { ups08Input 3 }
ups08InputEntry OBJECT-TYPE
SYNTAX Ups08InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups08InputLineIndex }
::= { ups08InputTable 1 }
Ups08InputEntry ::= SEQUENCE {
ups08InputLineIndex PositiveInteger,
ups08InputFrequency NonNegativeInteger,
ups08InputVoltage NonNegativeInteger,
ups08InputCurrent NonNegativeInteger,
ups08InputTruePower NonNegativeInteger
}
ups08InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups08InputEntry 1 }
ups08InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups08InputEntry 2 }
ups08InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups08InputEntry 3 }
ups08InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups08InputEntry 4 }
ups08InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups08InputEntry 5 }
--
-- The Output group.
--
ups08Output OBJECT IDENTIFIER ::= { ups08Objects 4 }
ups08OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups08Output 1 }
ups08OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups08Output 2 }
ups08OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups08Output 3 }
ups08OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups08OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups08OutputNumLines."
::= { ups08Output 4 }
ups08OutputEntry OBJECT-TYPE
SYNTAX Ups08OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups08OutputLineIndex }
::= { ups08OutputTable 1 }
Ups08OutputEntry ::= SEQUENCE {
ups08OutputLineIndex PositiveInteger,
ups08OutputVoltage NonNegativeInteger,
ups08OutputCurrent NonNegativeInteger,
ups08OutputPower NonNegativeInteger,
ups08OutputPercentLoad INTEGER
}
ups08OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups08OutputEntry 1 }
ups08OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups08OutputEntry 2 }
ups08OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups08OutputEntry 3 }
ups08OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups08OutputEntry 4 }
ups08OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups08OutputEntry 5 }
--
-- The Bypass group.
--
ups08Bypass OBJECT IDENTIFIER ::= { ups08Objects 5 }
ups08BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups08Bypass 1 }
ups08BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups08Bypass 2 }
ups08BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups08BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups08BypassNumLines."
::= { ups08Bypass 3 }
ups08BypassEntry OBJECT-TYPE
SYNTAX Ups08BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups08BypassLineIndex }
::= { ups08BypassTable 1 }
Ups08BypassEntry ::= SEQUENCE {
ups08BypassLineIndex PositiveInteger,
ups08BypassVoltage NonNegativeInteger,
ups08BypassCurrent NonNegativeInteger,
ups08BypassPower NonNegativeInteger
}
ups08BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups08BypassEntry 1 }
ups08BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups08BypassEntry 2 }
ups08BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups08BypassEntry 3 }
ups08BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups08BypassEntry 4 }
--
-- The Alarm group.
--
ups08Alarm OBJECT IDENTIFIER ::= { ups08Objects 6 }
ups08AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups08Alarm 1 }
ups08AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups08AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups08AlarmId equal to 1, and increments the value of
ups08AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups08AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups08AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups08AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups08AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups08AlarmsPresent."
::= { ups08Alarm 2 }
ups08AlarmEntry OBJECT-TYPE
SYNTAX Ups08AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups08AlarmId }
::= { ups08AlarmTable 1 }
Ups08AlarmEntry ::= SEQUENCE {
ups08AlarmId PositiveInteger,
ups08AlarmDescr AutonomousType,
ups08AlarmTime TimeStamp
}
ups08AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups08AlarmEntry 1 }
ups08AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups08AlarmEntry 2 }
ups08AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups08AlarmTime shall equal
0."
::= { ups08AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups08WellKnownAlarms OBJECT IDENTIFIER ::= { ups08Alarm 3 }
ups08AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups08WellKnownAlarms 1 }
ups08AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups08WellKnownAlarms 2 }
ups08AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups08ConfigLowBattTime."
::= { ups08WellKnownAlarms 3 }
ups08AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups08WellKnownAlarms 4 }
ups08AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups08WellKnownAlarms 5 }
ups08AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups08WellKnownAlarms 6 }
ups08AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups08WellKnownAlarms 7 }
ups08AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups08WellKnownAlarms 8 }
ups08AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups08WellKnownAlarms 9 }
ups08AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups08WellKnownAlarms 10 }
ups08AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups08WellKnownAlarms 11 }
ups08AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups08WellKnownAlarms 12 }
ups08AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups08WellKnownAlarms 13 }
ups08AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups08WellKnownAlarms 14 }
ups08AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups08WellKnownAlarms 15 }
ups08AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups08WellKnownAlarms 16 }
ups08AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups08WellKnownAlarms 17 }
ups08AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups08WellKnownAlarms 18 }
ups08AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups08WellKnownAlarms 19 }
ups08AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups08WellKnownAlarms 20 }
ups08AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups08WellKnownAlarms 21 }
ups08AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups08ShutdownAfterDelay countdown is underway."
::= { ups08WellKnownAlarms 22 }
ups08AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups08WellKnownAlarms 23 }
ups08AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups08WellKnownAlarms 24 }
--
-- The Test Group
--
ups08Test OBJECT IDENTIFIER ::= { ups08Objects 7 }
ups08TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups08TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups08TestResultsSummary. Tests in progress may be
aborted by setting the ups08TestId variable to
ups08TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups08TestNoTestsInitiated is returned."
::= { ups08Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups08TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups08TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups08TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups08TestResultsSummary */
get (upsTestSpinLock, ups08TestResultsSummary,
ups08TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups08TestResultsSummary,
ups08TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups08TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups08TestSpinLock at agent
initialization shall
be 1."
::= { ups08Test 2 }
ups08TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups08TestId to ups08TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups08Test 3 }
ups08TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups08TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups08Test 4 }
ups08TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups08TestResultsSummary is noTestsInitiated(6),
ups08TestStartTime has the value 0."
::= { ups08Test 5 }
ups08TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups08TestResultsSummary is noTestsInitiated(6),
ups08TestElapsedTime has the value 0."
::= { ups08Test 6 }
--
-- Well known tests.
--
ups08WellKnownTests OBJECT IDENTIFIER ::= { ups08Test 7 }
ups08TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups08WellKnownTests 1 }
ups08TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups08WellKnownTests 2 }
ups08TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups08WellKnownTests 3 }
ups08TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups08WellKnownTests 4 }
ups08TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups08WellKnownTests 5 }
--
-- The Control group.
--
ups08Control OBJECT IDENTIFIER ::= { ups08Objects 8 }
ups08ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups08ShutdownAfterDelay and ups08RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups08Control 1 }
ups08ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups08ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups08ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups08ShutdownType =
output and the output is already off. When read,
ups08ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups08ShutdownAfterDelay already in effect."
::= { ups08Control 2 }
ups08StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups08StartupAfterDelay
countdown or ups08RebootWithDuration countdown in
progress. When read, ups08StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups08Control 3 }
ups08RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups08ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups08RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups08Control 4 }
--
-- notifications, i.e., traps
--
ups08Traps OBJECT IDENTIFIER ::= { upsModule8 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups08TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups08EstimatedMinutesRemaining, ups08SecondsOnBattery,
ups08ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups08Traps 1 }
ups08TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups08TestId, ups08TestSpinLock,
ups08TestResultsSummary, ups08TestResultsDetail,
ups08TestStartTime, ups08TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups08Traps 2 }
ups08TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups08AlarmId, ups08AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups08AlarmOnBattery and
ups08AlarmTestInProgress."
::= { ups08Traps 3 }
ups08TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups08AlarmId, ups08AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups08AlarmTestInProgress."
::= { ups08Traps 4 }
--
-- conformance information
--
ups08Conformance OBJECT IDENTIFIER ::= { upsModule8 3 }
ups08Compliances OBJECT IDENTIFIER ::= { ups08Conformance 1 }
--
-- compliance statements
--
ups08SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups08SubsetIdentGroup,
ups08SubsetBatteryGroup, ups08SubsetInputGroup,
ups08SubsetOutputGroup, ups08SubsetAlarmGroup,
ups08SubsetControlGroup }
OBJECT ups08BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups08AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups08AlarmOnBattery, ups08AlarmLowBattery,
ups08AlarmInputBad, ups08AlarmUpsOutputOff,
ups08AlarmUpsSystemOff, and ups08AlarmTestInProgress."
OBJECT ups08OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups08ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups08Compliances 1 }
ups08BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups08BasicIdentGroup,
ups08BasicBatteryGroup, ups08BasicInputGroup,
ups08BasicOutputGroup, ups08BasicAlarmGroup,
ups08BasicTestGroup, ups08BasicControlGroup }
OBJECT ups08AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups08AlarmOnBattery, ups08AlarmLowBattery,
ups08AlarmDepletedBattery, ups08AlarmTempBad,
ups08AlarmInputBad, ups08AlarmOutputOverload,
ups08AlarmOnBypass, ups08AlarmBypassBad,
ups08AlarmOutputOffAsRequested,
ups08AlarmUpsOffAsRequested, ups08AlarmUpsOutputOff,
ups08AlarmUpsSystemOff, ups08AlarmGeneralFault,
ups08AlarmDiagnosticTestFailed,
ups08AlarmCommunicationsLost, ups08AlarmShutdownPending,
and ups08AlarmTestInProgress."
OBJECT ups08TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups08TestNoTestsInitiated."
OBJECT ups08OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups08BasicBypassGroup
DESCRIPTION
"The ups08BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups08ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups08Compliances 2 }
ups08FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups08FullIdentGroup, ups08FullBatteryGroup,
ups08FullInputGroup, ups08FullOutputGroup,
ups08FullAlarmGroup, ups08FullTestGroup,
ups08FullControlGroup }
OBJECT ups08AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups08AlarmBatteryBad, ups08AlarmOnBattery,
ups08AlarmLowBattery, ups08AlarmDepletedBattery,
ups08AlarmTempBad, ups08AlarmInputBad, ups08AlarmOnBypass,
ups08AlarmBypassBad, ups08AlarmOutputOffAsRequested,
ups08AlarmUpsOffAsRequested, ups08AlarmUpsOutputOff,
ups08AlarmUpsSystemOff, ups08AlarmGeneralFault,
ups08AlarmDiagnosticTestFailed,
ups08AlarmCommunicationsLost, ups08AlarmShutdownPending,
and ups08AlarmTestInProgress."
OBJECT ups08TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups08TestNoTestsInitiated,
ups08TestGeneralSystemsTest, and
ups08TestQuickBatteryTest."
OBJECT ups08OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups08FullBypassGroup
DESCRIPTION
"The ups08FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups08ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups08Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups08Groups OBJECT IDENTIFIER ::= { ups08Conformance 2 }
ups08SubsetGroups OBJECT IDENTIFIER ::= { ups08Groups 1 }
ups08SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups08IdentManufacturer, ups08IdentModel,
ups08IdentAgentSoftwareVersion, ups08IdentName,
ups08IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups08SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups08SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups08SubsetGroups 1 }
ups08SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups08BatteryStatus, ups08SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups08SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups08SubsetGroups 2 }
ups08SubsetInputGroup OBJECT-GROUP
OBJECTS { ups08InputLineBads }
STATUS current
DESCRIPTION
"The ups08SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups08SubsetGroups 3 }
ups08SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups08OutputSource }
STATUS current
DESCRIPTION
"The ups08SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups08SubsetGroups 4 }
-- { ups08SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups08SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups08AlarmsPresent, ups08AlarmDescr, ups08AlarmTime }
STATUS current
DESCRIPTION
"The ups08SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups08SubsetGroups 6 }
-- { ups08SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups08SubsetControlGroup OBJECT-GROUP
OBJECTS { ups08ShutdownType, ups08ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups08SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups08SubsetGroups 8 }
ups08BasicGroups OBJECT IDENTIFIER ::= { ups08Groups 2 }
ups08BasicIdentGroup OBJECT-GROUP
OBJECTS { ups08IdentManufacturer, ups08IdentModel,
ups08IdentUPSSoftwareVersion,
ups08IdentAgentSoftwareVersion, ups08IdentName }
STATUS current
DESCRIPTION
"The ups08BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 1 }
ups08BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups08BatteryStatus, ups08SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups08BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 2 }
ups08BasicInputGroup OBJECT-GROUP
OBJECTS { ups08InputLineBads, ups08InputNumLines,
ups08InputFrequency, ups08InputVoltage }
STATUS current
DESCRIPTION
"The ups08BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 3 }
ups08BasicOutputGroup OBJECT-GROUP
OBJECTS { ups08OutputSource, ups08OutputFrequency,
ups08OutputNumLines, ups08OutputVoltage }
STATUS current
DESCRIPTION
"The ups08BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 4 }
ups08BasicBypassGroup OBJECT-GROUP
OBJECTS { ups08BypassFrequency, ups08BypassNumLines,
ups08BypassVoltage }
STATUS current
DESCRIPTION
"The ups08BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 5 }
ups08BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups08AlarmsPresent, ups08AlarmDescr, ups08AlarmTime }
STATUS current
DESCRIPTION
"The ups08BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 6 }
ups08BasicTestGroup OBJECT-GROUP
OBJECTS { ups08TestId, ups08TestSpinLock,
ups08TestResultsSummary, ups08TestResultsDetail,
ups08TestStartTime, ups08TestElapsedTime }
STATUS current
DESCRIPTION
"The ups08BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 7 }
ups08BasicControlGroup OBJECT-GROUP
OBJECTS { ups08ShutdownType, ups08ShutdownAfterDelay,
ups08StartupAfterDelay, ups08RebootWithDuration }
STATUS current
DESCRIPTION
"The ups08BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups08BasicGroups 8 }
ups08FullGroups OBJECT IDENTIFIER ::= { ups08Groups 3 }
ups08FullIdentGroup OBJECT-GROUP
OBJECTS { ups08IdentManufacturer, ups08IdentModel,
ups08IdentUPSSoftwareVersion,
ups08IdentAgentSoftwareVersion, ups08IdentName,
ups08IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups08FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups08FullGroups 1 }
ups08FullBatteryGroup OBJECT-GROUP
OBJECTS { ups08BatteryStatus, ups08SecondsOnBattery,
ups08EstimatedMinutesRemaining,
ups08EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups08FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups08FullGroups 2 }
ups08FullInputGroup OBJECT-GROUP
OBJECTS { ups08InputLineBads, ups08InputNumLines,
ups08InputFrequency, ups08InputVoltage }
STATUS current
DESCRIPTION
"The ups08FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups08FullGroups 3 }
ups08FullOutputGroup OBJECT-GROUP
OBJECTS { ups08OutputSource, ups08OutputFrequency,
ups08OutputNumLines, ups08OutputVoltage,
ups08OutputCurrent, ups08OutputPower,
ups08OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups08FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups08FullGroups 4 }
ups08FullBypassGroup OBJECT-GROUP
OBJECTS { ups08BypassFrequency, ups08BypassNumLines,
ups08BypassVoltage }
STATUS current
DESCRIPTION
"The ups08FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups08FullGroups 5 }
ups08FullAlarmGroup OBJECT-GROUP
OBJECTS { ups08AlarmsPresent, ups08AlarmDescr, ups08AlarmTime }
STATUS current
DESCRIPTION
"The ups08FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups08FullGroups 6 }
ups08FullTestGroup OBJECT-GROUP
OBJECTS { ups08TestId, ups08TestSpinLock,
ups08TestResultsSummary, ups08TestResultsDetail,
ups08TestStartTime, ups08TestElapsedTime }
STATUS current
DESCRIPTION
"The ups08FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups08FullGroups 7 }
ups08FullControlGroup OBJECT-GROUP
OBJECTS { ups08ShutdownType, ups08ShutdownAfterDelay,
ups08StartupAfterDelay, ups08RebootWithDuration }
STATUS current
DESCRIPTION
"The ups08FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups08FullGroups 8 }
--*******************************************************************
--
-- Module 9 data
--
upsModule9 OBJECT IDENTIFIER ::= { upsModular 10 }
ups09Objects OBJECT IDENTIFIER ::= { upsModule9 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups09IdentName and
-- ups09IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups09Ident OBJECT IDENTIFIER ::= { ups09Objects 1 }
ups09IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups09Ident 1 }
ups09IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups09Ident 2 }
ups09IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups09IdentAgentSoftwareVersion in some implementations."
::= { ups09Ident 3 }
ups09IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups09IdentUPSSoftwareVersion in some implementations."
::= { ups09Ident 4 }
ups09IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups09Ident 5 }
ups09IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups09Ident 6 }
--
-- Battery Group
--
ups09Battery OBJECT IDENTIFIER ::= { ups09Objects 2 }
ups09BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups09ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups09ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups09Battery 1 }
ups09SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups09Battery 2 }
ups09EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups09Battery 3 }
ups09EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups09Battery 4 }
ups09BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups09Battery 5 }
ups09BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups09Battery 6 }
ups09BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups09Battery 7 }
--
-- Input Group
--
ups09Input OBJECT IDENTIFIER ::= { ups09Objects 3 }
ups09InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups09Input 1 }
ups09InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups09Input 2 }
ups09InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups09InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups09InputNumLines."
::= { ups09Input 3 }
ups09InputEntry OBJECT-TYPE
SYNTAX Ups09InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups09InputLineIndex }
::= { ups09InputTable 1 }
Ups09InputEntry ::= SEQUENCE {
ups09InputLineIndex PositiveInteger,
ups09InputFrequency NonNegativeInteger,
ups09InputVoltage NonNegativeInteger,
ups09InputCurrent NonNegativeInteger,
ups09InputTruePower NonNegativeInteger
}
ups09InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups09InputEntry 1 }
ups09InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups09InputEntry 2 }
ups09InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups09InputEntry 3 }
ups09InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups09InputEntry 4 }
ups09InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups09InputEntry 5 }
--
-- The Output group.
--
ups09Output OBJECT IDENTIFIER ::= { ups09Objects 4 }
ups09OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups09Output 1 }
ups09OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups09Output 2 }
ups09OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups09Output 3 }
ups09OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups09OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups09OutputNumLines."
::= { ups09Output 4 }
ups09OutputEntry OBJECT-TYPE
SYNTAX Ups09OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups09OutputLineIndex }
::= { ups09OutputTable 1 }
Ups09OutputEntry ::= SEQUENCE {
ups09OutputLineIndex PositiveInteger,
ups09OutputVoltage NonNegativeInteger,
ups09OutputCurrent NonNegativeInteger,
ups09OutputPower NonNegativeInteger,
ups09OutputPercentLoad INTEGER
}
ups09OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups09OutputEntry 1 }
ups09OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups09OutputEntry 2 }
ups09OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups09OutputEntry 3 }
ups09OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups09OutputEntry 4 }
ups09OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups09OutputEntry 5 }
--
-- The Bypass group.
--
ups09Bypass OBJECT IDENTIFIER ::= { ups09Objects 5 }
ups09BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups09Bypass 1 }
ups09BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups09Bypass 2 }
ups09BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups09BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups09BypassNumLines."
::= { ups09Bypass 3 }
ups09BypassEntry OBJECT-TYPE
SYNTAX Ups09BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups09BypassLineIndex }
::= { ups09BypassTable 1 }
Ups09BypassEntry ::= SEQUENCE {
ups09BypassLineIndex PositiveInteger,
ups09BypassVoltage NonNegativeInteger,
ups09BypassCurrent NonNegativeInteger,
ups09BypassPower NonNegativeInteger
}
ups09BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups09BypassEntry 1 }
ups09BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups09BypassEntry 2 }
ups09BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups09BypassEntry 3 }
ups09BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups09BypassEntry 4 }
--
-- The Alarm group.
--
ups09Alarm OBJECT IDENTIFIER ::= { ups09Objects 6 }
ups09AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups09Alarm 1 }
ups09AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups09AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups09AlarmId equal to 1, and increments the value of
ups09AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups09AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups09AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups09AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups09AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups09AlarmsPresent."
::= { ups09Alarm 2 }
ups09AlarmEntry OBJECT-TYPE
SYNTAX Ups09AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups09AlarmId }
::= { ups09AlarmTable 1 }
Ups09AlarmEntry ::= SEQUENCE {
ups09AlarmId PositiveInteger,
ups09AlarmDescr AutonomousType,
ups09AlarmTime TimeStamp
}
ups09AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups09AlarmEntry 1 }
ups09AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups09AlarmEntry 2 }
ups09AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups09AlarmTime shall equal
0."
::= { ups09AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups09WellKnownAlarms OBJECT IDENTIFIER ::= { ups09Alarm 3 }
ups09AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups09WellKnownAlarms 1 }
ups09AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups09WellKnownAlarms 2 }
ups09AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups09ConfigLowBattTime."
::= { ups09WellKnownAlarms 3 }
ups09AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups09WellKnownAlarms 4 }
ups09AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups09WellKnownAlarms 5 }
ups09AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups09WellKnownAlarms 6 }
ups09AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups09WellKnownAlarms 7 }
ups09AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups09WellKnownAlarms 8 }
ups09AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups09WellKnownAlarms 9 }
ups09AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups09WellKnownAlarms 10 }
ups09AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups09WellKnownAlarms 11 }
ups09AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups09WellKnownAlarms 12 }
ups09AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups09WellKnownAlarms 13 }
ups09AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups09WellKnownAlarms 14 }
ups09AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups09WellKnownAlarms 15 }
ups09AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups09WellKnownAlarms 16 }
ups09AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups09WellKnownAlarms 17 }
ups09AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups09WellKnownAlarms 18 }
ups09AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups09WellKnownAlarms 19 }
ups09AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups09WellKnownAlarms 20 }
ups09AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups09WellKnownAlarms 21 }
ups09AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups09ShutdownAfterDelay countdown is underway."
::= { ups09WellKnownAlarms 22 }
ups09AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups09WellKnownAlarms 23 }
ups09AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups09WellKnownAlarms 24 }
--
-- The Test Group
--
ups09Test OBJECT IDENTIFIER ::= { ups09Objects 7 }
ups09TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups09TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups09TestResultsSummary. Tests in progress may be
aborted by setting the ups09TestId variable to
ups09TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups09TestNoTestsInitiated is returned."
::= { ups09Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups09TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups09TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups09TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups09TestResultsSummary */
get (upsTestSpinLock, ups09TestResultsSummary,
ups09TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups09TestResultsSummary,
ups09TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups09TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups09TestSpinLock at agent
initialization shall
be 1."
::= { ups09Test 2 }
ups09TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups09TestId to ups09TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups09Test 3 }
ups09TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups09TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups09Test 4 }
ups09TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups09TestResultsSummary is noTestsInitiated(6),
ups09TestStartTime has the value 0."
::= { ups09Test 5 }
ups09TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups09TestResultsSummary is noTestsInitiated(6),
ups09TestElapsedTime has the value 0."
::= { ups09Test 6 }
--
-- Well known tests.
--
ups09WellKnownTests OBJECT IDENTIFIER ::= { ups09Test 7 }
ups09TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups09WellKnownTests 1 }
ups09TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups09WellKnownTests 2 }
ups09TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups09WellKnownTests 3 }
ups09TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups09WellKnownTests 4 }
ups09TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups09WellKnownTests 5 }
--
-- The Control group.
--
ups09Control OBJECT IDENTIFIER ::= { ups09Objects 8 }
ups09ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups09ShutdownAfterDelay and ups09RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups09Control 1 }
ups09ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups09ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups09ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups09ShutdownType =
output and the output is already off. When read,
ups09ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups09ShutdownAfterDelay already in effect."
::= { ups09Control 2 }
ups09StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups09StartupAfterDelay
countdown or ups09RebootWithDuration countdown in
progress. When read, ups09StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups09Control 3 }
ups09RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups09ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups09RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups09Control 4 }
--
-- notifications, i.e., traps
--
ups09Traps OBJECT IDENTIFIER ::= { upsModule9 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups09TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups09EstimatedMinutesRemaining, ups09SecondsOnBattery,
ups09ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups09Traps 1 }
ups09TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups09TestId, ups09TestSpinLock,
ups09TestResultsSummary, ups09TestResultsDetail,
ups09TestStartTime, ups09TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups09Traps 2 }
ups09TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups09AlarmId, ups09AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups09AlarmOnBattery and
ups09AlarmTestInProgress."
::= { ups09Traps 3 }
ups09TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups09AlarmId, ups09AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups09AlarmTestInProgress."
::= { ups09Traps 4 }
--
-- conformance information
--
ups09Conformance OBJECT IDENTIFIER ::= { upsModule9 3 }
ups09Compliances OBJECT IDENTIFIER ::= { ups09Conformance 1 }
--
-- compliance statements
--
ups09SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups09SubsetIdentGroup,
ups09SubsetBatteryGroup, ups09SubsetInputGroup,
ups09SubsetOutputGroup, ups09SubsetAlarmGroup,
ups09SubsetControlGroup }
OBJECT ups09BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups09AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups09AlarmOnBattery, ups09AlarmLowBattery,
ups09AlarmInputBad, ups09AlarmUpsOutputOff,
ups09AlarmUpsSystemOff, and ups09AlarmTestInProgress."
OBJECT ups09OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups09ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups09Compliances 1 }
ups09BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups09BasicIdentGroup,
ups09BasicBatteryGroup, ups09BasicInputGroup,
ups09BasicOutputGroup, ups09BasicAlarmGroup,
ups09BasicTestGroup, ups09BasicControlGroup }
OBJECT ups09AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups09AlarmOnBattery, ups09AlarmLowBattery,
ups09AlarmDepletedBattery, ups09AlarmTempBad,
ups09AlarmInputBad, ups09AlarmOutputOverload,
ups09AlarmOnBypass, ups09AlarmBypassBad,
ups09AlarmOutputOffAsRequested,
ups09AlarmUpsOffAsRequested, ups09AlarmUpsOutputOff,
ups09AlarmUpsSystemOff, ups09AlarmGeneralFault,
ups09AlarmDiagnosticTestFailed,
ups09AlarmCommunicationsLost, ups09AlarmShutdownPending,
and ups09AlarmTestInProgress."
OBJECT ups09TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups09TestNoTestsInitiated."
OBJECT ups09OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups09BasicBypassGroup
DESCRIPTION
"The ups09BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups09ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups09Compliances 2 }
ups09FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups09FullIdentGroup, ups09FullBatteryGroup,
ups09FullInputGroup, ups09FullOutputGroup,
ups09FullAlarmGroup, ups09FullTestGroup,
ups09FullControlGroup }
OBJECT ups09AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups09AlarmBatteryBad, ups09AlarmOnBattery,
ups09AlarmLowBattery, ups09AlarmDepletedBattery,
ups09AlarmTempBad, ups09AlarmInputBad, ups09AlarmOnBypass,
ups09AlarmBypassBad, ups09AlarmOutputOffAsRequested,
ups09AlarmUpsOffAsRequested, ups09AlarmUpsOutputOff,
ups09AlarmUpsSystemOff, ups09AlarmGeneralFault,
ups09AlarmDiagnosticTestFailed,
ups09AlarmCommunicationsLost, ups09AlarmShutdownPending,
and ups09AlarmTestInProgress."
OBJECT ups09TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups09TestNoTestsInitiated,
ups09TestGeneralSystemsTest, and
ups09TestQuickBatteryTest."
OBJECT ups09OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups09FullBypassGroup
DESCRIPTION
"The ups09FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups09ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups09Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups09Groups OBJECT IDENTIFIER ::= { ups09Conformance 2 }
ups09SubsetGroups OBJECT IDENTIFIER ::= { ups09Groups 1 }
ups09SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups09IdentManufacturer, ups09IdentModel,
ups09IdentAgentSoftwareVersion, ups09IdentName,
ups09IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups09SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups09SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups09SubsetGroups 1 }
ups09SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups09BatteryStatus, ups09SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups09SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups09SubsetGroups 2 }
ups09SubsetInputGroup OBJECT-GROUP
OBJECTS { ups09InputLineBads }
STATUS current
DESCRIPTION
"The ups09SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups09SubsetGroups 3 }
ups09SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups09OutputSource }
STATUS current
DESCRIPTION
"The ups09SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups09SubsetGroups 4 }
-- { ups09SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups09SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups09AlarmsPresent, ups09AlarmDescr, ups09AlarmTime }
STATUS current
DESCRIPTION
"The ups09SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups09SubsetGroups 6 }
-- { ups09SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups09SubsetControlGroup OBJECT-GROUP
OBJECTS { ups09ShutdownType, ups09ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups09SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups09SubsetGroups 8 }
ups09BasicGroups OBJECT IDENTIFIER ::= { ups09Groups 2 }
ups09BasicIdentGroup OBJECT-GROUP
OBJECTS { ups09IdentManufacturer, ups09IdentModel,
ups09IdentUPSSoftwareVersion,
ups09IdentAgentSoftwareVersion, ups09IdentName }
STATUS current
DESCRIPTION
"The ups09BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 1 }
ups09BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups09BatteryStatus, ups09SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups09BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 2 }
ups09BasicInputGroup OBJECT-GROUP
OBJECTS { ups09InputLineBads, ups09InputNumLines,
ups09InputFrequency, ups09InputVoltage }
STATUS current
DESCRIPTION
"The ups09BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 3 }
ups09BasicOutputGroup OBJECT-GROUP
OBJECTS { ups09OutputSource, ups09OutputFrequency,
ups09OutputNumLines, ups09OutputVoltage }
STATUS current
DESCRIPTION
"The ups09BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 4 }
ups09BasicBypassGroup OBJECT-GROUP
OBJECTS { ups09BypassFrequency, ups09BypassNumLines,
ups09BypassVoltage }
STATUS current
DESCRIPTION
"The ups09BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 5 }
ups09BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups09AlarmsPresent, ups09AlarmDescr, ups09AlarmTime }
STATUS current
DESCRIPTION
"The ups09BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 6 }
ups09BasicTestGroup OBJECT-GROUP
OBJECTS { ups09TestId, ups09TestSpinLock,
ups09TestResultsSummary, ups09TestResultsDetail,
ups09TestStartTime, ups09TestElapsedTime }
STATUS current
DESCRIPTION
"The ups09BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 7 }
ups09BasicControlGroup OBJECT-GROUP
OBJECTS { ups09ShutdownType, ups09ShutdownAfterDelay,
ups09StartupAfterDelay, ups09RebootWithDuration }
STATUS current
DESCRIPTION
"The ups09BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups09BasicGroups 8 }
ups09FullGroups OBJECT IDENTIFIER ::= { ups09Groups 3 }
ups09FullIdentGroup OBJECT-GROUP
OBJECTS { ups09IdentManufacturer, ups09IdentModel,
ups09IdentUPSSoftwareVersion,
ups09IdentAgentSoftwareVersion, ups09IdentName,
ups09IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups09FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups09FullGroups 1 }
ups09FullBatteryGroup OBJECT-GROUP
OBJECTS { ups09BatteryStatus, ups09SecondsOnBattery,
ups09EstimatedMinutesRemaining,
ups09EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups09FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups09FullGroups 2 }
ups09FullInputGroup OBJECT-GROUP
OBJECTS { ups09InputLineBads, ups09InputNumLines,
ups09InputFrequency, ups09InputVoltage }
STATUS current
DESCRIPTION
"The ups09FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups09FullGroups 3 }
ups09FullOutputGroup OBJECT-GROUP
OBJECTS { ups09OutputSource, ups09OutputFrequency,
ups09OutputNumLines, ups09OutputVoltage,
ups09OutputCurrent, ups09OutputPower,
ups09OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups09FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups09FullGroups 4 }
ups09FullBypassGroup OBJECT-GROUP
OBJECTS { ups09BypassFrequency, ups09BypassNumLines,
ups09BypassVoltage }
STATUS current
DESCRIPTION
"The ups09FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups09FullGroups 5 }
ups09FullAlarmGroup OBJECT-GROUP
OBJECTS { ups09AlarmsPresent, ups09AlarmDescr, ups09AlarmTime }
STATUS current
DESCRIPTION
"The ups09FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups09FullGroups 6 }
ups09FullTestGroup OBJECT-GROUP
OBJECTS { ups09TestId, ups09TestSpinLock,
ups09TestResultsSummary, ups09TestResultsDetail,
ups09TestStartTime, ups09TestElapsedTime }
STATUS current
DESCRIPTION
"The ups09FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups09FullGroups 7 }
ups09FullControlGroup OBJECT-GROUP
OBJECTS { ups09ShutdownType, ups09ShutdownAfterDelay,
ups09StartupAfterDelay, ups09RebootWithDuration }
STATUS current
DESCRIPTION
"The ups09FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups09FullGroups 8 }
--*******************************************************************
--
-- Module 10 data
--
upsModule10 OBJECT IDENTIFIER ::= { upsModular 11 }
ups10Objects OBJECT IDENTIFIER ::= { upsModule10 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups10IdentName and
-- ups10IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups10Ident OBJECT IDENTIFIER ::= { ups10Objects 1 }
ups10IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups10Ident 1 }
ups10IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups10Ident 2 }
ups10IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups10IdentAgentSoftwareVersion in some implementations."
::= { ups10Ident 3 }
ups10IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups10IdentUPSSoftwareVersion in some implementations."
::= { ups10Ident 4 }
ups10IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups10Ident 5 }
ups10IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups10Ident 6 }
--
-- Battery Group
--
ups10Battery OBJECT IDENTIFIER ::= { ups10Objects 2 }
ups10BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups10ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups10ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups10Battery 1 }
ups10SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups10Battery 2 }
ups10EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups10Battery 3 }
ups10EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups10Battery 4 }
ups10BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups10Battery 5 }
ups10BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups10Battery 6 }
ups10BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups10Battery 7 }
--
-- Input Group
--
ups10Input OBJECT IDENTIFIER ::= { ups10Objects 3 }
ups10InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups10Input 1 }
ups10InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups10Input 2 }
ups10InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups10InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups10InputNumLines."
::= { ups10Input 3 }
ups10InputEntry OBJECT-TYPE
SYNTAX Ups10InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups10InputLineIndex }
::= { ups10InputTable 1 }
Ups10InputEntry ::= SEQUENCE {
ups10InputLineIndex PositiveInteger,
ups10InputFrequency NonNegativeInteger,
ups10InputVoltage NonNegativeInteger,
ups10InputCurrent NonNegativeInteger,
ups10InputTruePower NonNegativeInteger
}
ups10InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups10InputEntry 1 }
ups10InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups10InputEntry 2 }
ups10InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups10InputEntry 3 }
ups10InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups10InputEntry 4 }
ups10InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups10InputEntry 5 }
--
-- The Output group.
--
ups10Output OBJECT IDENTIFIER ::= { ups10Objects 4 }
ups10OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups10Output 1 }
ups10OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups10Output 2 }
ups10OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups10Output 3 }
ups10OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups10OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups10OutputNumLines."
::= { ups10Output 4 }
ups10OutputEntry OBJECT-TYPE
SYNTAX Ups10OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups10OutputLineIndex }
::= { ups10OutputTable 1 }
Ups10OutputEntry ::= SEQUENCE {
ups10OutputLineIndex PositiveInteger,
ups10OutputVoltage NonNegativeInteger,
ups10OutputCurrent NonNegativeInteger,
ups10OutputPower NonNegativeInteger,
ups10OutputPercentLoad INTEGER
}
ups10OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups10OutputEntry 1 }
ups10OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups10OutputEntry 2 }
ups10OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups10OutputEntry 3 }
ups10OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups10OutputEntry 4 }
ups10OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups10OutputEntry 5 }
--
-- The Bypass group.
--
ups10Bypass OBJECT IDENTIFIER ::= { ups10Objects 5 }
ups10BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups10Bypass 1 }
ups10BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups10Bypass 2 }
ups10BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups10BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups10BypassNumLines."
::= { ups10Bypass 3 }
ups10BypassEntry OBJECT-TYPE
SYNTAX Ups10BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups10BypassLineIndex }
::= { ups10BypassTable 1 }
Ups10BypassEntry ::= SEQUENCE {
ups10BypassLineIndex PositiveInteger,
ups10BypassVoltage NonNegativeInteger,
ups10BypassCurrent NonNegativeInteger,
ups10BypassPower NonNegativeInteger
}
ups10BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups10BypassEntry 1 }
ups10BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups10BypassEntry 2 }
ups10BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups10BypassEntry 3 }
ups10BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups10BypassEntry 4 }
--
-- The Alarm group.
--
ups10Alarm OBJECT IDENTIFIER ::= { ups10Objects 6 }
ups10AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups10Alarm 1 }
ups10AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups10AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups10AlarmId equal to 1, and increments the value of
ups10AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups10AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups10AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups10AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups10AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups10AlarmsPresent."
::= { ups10Alarm 2 }
ups10AlarmEntry OBJECT-TYPE
SYNTAX Ups10AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups10AlarmId }
::= { ups10AlarmTable 1 }
Ups10AlarmEntry ::= SEQUENCE {
ups10AlarmId PositiveInteger,
ups10AlarmDescr AutonomousType,
ups10AlarmTime TimeStamp
}
ups10AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups10AlarmEntry 1 }
ups10AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups10AlarmEntry 2 }
ups10AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups10AlarmTime shall equal
0."
::= { ups10AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups10WellKnownAlarms OBJECT IDENTIFIER ::= { ups10Alarm 3 }
ups10AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups10WellKnownAlarms 1 }
ups10AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups10WellKnownAlarms 2 }
ups10AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups10ConfigLowBattTime."
::= { ups10WellKnownAlarms 3 }
ups10AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups10WellKnownAlarms 4 }
ups10AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups10WellKnownAlarms 5 }
ups10AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups10WellKnownAlarms 6 }
ups10AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups10WellKnownAlarms 7 }
ups10AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups10WellKnownAlarms 8 }
ups10AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups10WellKnownAlarms 9 }
ups10AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups10WellKnownAlarms 10 }
ups10AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups10WellKnownAlarms 11 }
ups10AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups10WellKnownAlarms 12 }
ups10AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups10WellKnownAlarms 13 }
ups10AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups10WellKnownAlarms 14 }
ups10AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups10WellKnownAlarms 15 }
ups10AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups10WellKnownAlarms 16 }
ups10AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups10WellKnownAlarms 17 }
ups10AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups10WellKnownAlarms 18 }
ups10AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups10WellKnownAlarms 19 }
ups10AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups10WellKnownAlarms 20 }
ups10AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups10WellKnownAlarms 21 }
ups10AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups10ShutdownAfterDelay countdown is underway."
::= { ups10WellKnownAlarms 22 }
ups10AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups10WellKnownAlarms 23 }
ups10AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups10WellKnownAlarms 24 }
--
-- The Test Group
--
ups10Test OBJECT IDENTIFIER ::= { ups10Objects 7 }
ups10TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups10TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups10TestResultsSummary. Tests in progress may be
aborted by setting the ups10TestId variable to
ups10TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups10TestNoTestsInitiated is returned."
::= { ups10Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups10TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups10TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups10TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups10TestResultsSummary */
get (upsTestSpinLock, ups10TestResultsSummary,
ups10TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups10TestResultsSummary,
ups10TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups10TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups10TestSpinLock at agent
initialization shall
be 1."
::= { ups10Test 2 }
ups10TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups10TestId to ups10TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups10Test 3 }
ups10TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups10TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups10Test 4 }
ups10TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups10TestResultsSummary is noTestsInitiated(6),
ups10TestStartTime has the value 0."
::= { ups10Test 5 }
ups10TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups10TestResultsSummary is noTestsInitiated(6),
ups10TestElapsedTime has the value 0."
::= { ups10Test 6 }
--
-- Well known tests.
--
ups10WellKnownTests OBJECT IDENTIFIER ::= { ups10Test 7 }
ups10TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups10WellKnownTests 1 }
ups10TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups10WellKnownTests 2 }
ups10TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups10WellKnownTests 3 }
ups10TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups10WellKnownTests 4 }
ups10TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups10WellKnownTests 5 }
--
-- The Control group.
--
ups10Control OBJECT IDENTIFIER ::= { ups10Objects 8 }
ups10ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups10ShutdownAfterDelay and ups10RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups10Control 1 }
ups10ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups10ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups10ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups10ShutdownType =
output and the output is already off. When read,
ups10ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups10ShutdownAfterDelay already in effect."
::= { ups10Control 2 }
ups10StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups10StartupAfterDelay
countdown or ups10RebootWithDuration countdown in
progress. When read, ups10StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups10Control 3 }
ups10RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups10ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups10RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups10Control 4 }
--
-- notifications, i.e., traps
--
ups10Traps OBJECT IDENTIFIER ::= { upsModule10 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups10TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups10EstimatedMinutesRemaining, ups10SecondsOnBattery,
ups10ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups10Traps 1 }
ups10TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups10TestId, ups10TestSpinLock,
ups10TestResultsSummary, ups10TestResultsDetail,
ups10TestStartTime, ups10TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups10Traps 2 }
ups10TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups10AlarmId, ups10AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups10AlarmOnBattery and
ups10AlarmTestInProgress."
::= { ups10Traps 3 }
ups10TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups10AlarmId, ups10AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups10AlarmTestInProgress."
::= { ups10Traps 4 }
--
-- conformance information
--
ups10Conformance OBJECT IDENTIFIER ::= { upsModule10 3 }
ups10Compliances OBJECT IDENTIFIER ::= { ups10Conformance 1 }
--
-- compliance statements
--
ups10SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups10SubsetIdentGroup,
ups10SubsetBatteryGroup, ups10SubsetInputGroup,
ups10SubsetOutputGroup, ups10SubsetAlarmGroup,
ups10SubsetControlGroup }
OBJECT ups10BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups10AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups10AlarmOnBattery, ups10AlarmLowBattery,
ups10AlarmInputBad, ups10AlarmUpsOutputOff,
ups10AlarmUpsSystemOff, and ups10AlarmTestInProgress."
OBJECT ups10OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups10ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups10Compliances 1 }
ups10BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups10BasicIdentGroup,
ups10BasicBatteryGroup, ups10BasicInputGroup,
ups10BasicOutputGroup, ups10BasicAlarmGroup,
ups10BasicTestGroup, ups10BasicControlGroup }
OBJECT ups10AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups10AlarmOnBattery, ups10AlarmLowBattery,
ups10AlarmDepletedBattery, ups10AlarmTempBad,
ups10AlarmInputBad, ups10AlarmOutputOverload,
ups10AlarmOnBypass, ups10AlarmBypassBad,
ups10AlarmOutputOffAsRequested,
ups10AlarmUpsOffAsRequested, ups10AlarmUpsOutputOff,
ups10AlarmUpsSystemOff, ups10AlarmGeneralFault,
ups10AlarmDiagnosticTestFailed,
ups10AlarmCommunicationsLost, ups10AlarmShutdownPending,
and ups10AlarmTestInProgress."
OBJECT ups10TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups10TestNoTestsInitiated."
OBJECT ups10OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups10BasicBypassGroup
DESCRIPTION
"The ups10BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups10ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups10Compliances 2 }
ups10FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups10FullIdentGroup, ups10FullBatteryGroup,
ups10FullInputGroup, ups10FullOutputGroup,
ups10FullAlarmGroup, ups10FullTestGroup,
ups10FullControlGroup }
OBJECT ups10AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups10AlarmBatteryBad, ups10AlarmOnBattery,
ups10AlarmLowBattery, ups10AlarmDepletedBattery,
ups10AlarmTempBad, ups10AlarmInputBad, ups10AlarmOnBypass,
ups10AlarmBypassBad, ups10AlarmOutputOffAsRequested,
ups10AlarmUpsOffAsRequested, ups10AlarmUpsOutputOff,
ups10AlarmUpsSystemOff, ups10AlarmGeneralFault,
ups10AlarmDiagnosticTestFailed,
ups10AlarmCommunicationsLost, ups10AlarmShutdownPending,
and ups10AlarmTestInProgress."
OBJECT ups10TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups10TestNoTestsInitiated,
ups10TestGeneralSystemsTest, and
ups10TestQuickBatteryTest."
OBJECT ups10OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups10FullBypassGroup
DESCRIPTION
"The ups10FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups10ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups10Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups10Groups OBJECT IDENTIFIER ::= { ups10Conformance 2 }
ups10SubsetGroups OBJECT IDENTIFIER ::= { ups10Groups 1 }
ups10SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups10IdentManufacturer, ups10IdentModel,
ups10IdentAgentSoftwareVersion, ups10IdentName,
ups10IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups10SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups10SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups10SubsetGroups 1 }
ups10SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups10BatteryStatus, ups10SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups10SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups10SubsetGroups 2 }
ups10SubsetInputGroup OBJECT-GROUP
OBJECTS { ups10InputLineBads }
STATUS current
DESCRIPTION
"The ups10SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups10SubsetGroups 3 }
ups10SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups10OutputSource }
STATUS current
DESCRIPTION
"The ups10SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups10SubsetGroups 4 }
-- { ups10SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups10SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups10AlarmsPresent, ups10AlarmDescr, ups10AlarmTime }
STATUS current
DESCRIPTION
"The ups10SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups10SubsetGroups 6 }
-- { ups10SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups10SubsetControlGroup OBJECT-GROUP
OBJECTS { ups10ShutdownType, ups10ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups10SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups10SubsetGroups 8 }
ups10BasicGroups OBJECT IDENTIFIER ::= { ups10Groups 2 }
ups10BasicIdentGroup OBJECT-GROUP
OBJECTS { ups10IdentManufacturer, ups10IdentModel,
ups10IdentUPSSoftwareVersion,
ups10IdentAgentSoftwareVersion, ups10IdentName }
STATUS current
DESCRIPTION
"The ups10BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 1 }
ups10BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups10BatteryStatus, ups10SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups10BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 2 }
ups10BasicInputGroup OBJECT-GROUP
OBJECTS { ups10InputLineBads, ups10InputNumLines,
ups10InputFrequency, ups10InputVoltage }
STATUS current
DESCRIPTION
"The ups10BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 3 }
ups10BasicOutputGroup OBJECT-GROUP
OBJECTS { ups10OutputSource, ups10OutputFrequency,
ups10OutputNumLines, ups10OutputVoltage }
STATUS current
DESCRIPTION
"The ups10BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 4 }
ups10BasicBypassGroup OBJECT-GROUP
OBJECTS { ups10BypassFrequency, ups10BypassNumLines,
ups10BypassVoltage }
STATUS current
DESCRIPTION
"The ups10BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 5 }
ups10BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups10AlarmsPresent, ups10AlarmDescr, ups10AlarmTime }
STATUS current
DESCRIPTION
"The ups10BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 6 }
ups10BasicTestGroup OBJECT-GROUP
OBJECTS { ups10TestId, ups10TestSpinLock,
ups10TestResultsSummary, ups10TestResultsDetail,
ups10TestStartTime, ups10TestElapsedTime }
STATUS current
DESCRIPTION
"The ups10BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 7 }
ups10BasicControlGroup OBJECT-GROUP
OBJECTS { ups10ShutdownType, ups10ShutdownAfterDelay,
ups10StartupAfterDelay, ups10RebootWithDuration }
STATUS current
DESCRIPTION
"The ups10BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups10BasicGroups 8 }
ups10FullGroups OBJECT IDENTIFIER ::= { ups10Groups 3 }
ups10FullIdentGroup OBJECT-GROUP
OBJECTS { ups10IdentManufacturer, ups10IdentModel,
ups10IdentUPSSoftwareVersion,
ups10IdentAgentSoftwareVersion, ups10IdentName,
ups10IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups10FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups10FullGroups 1 }
ups10FullBatteryGroup OBJECT-GROUP
OBJECTS { ups10BatteryStatus, ups10SecondsOnBattery,
ups10EstimatedMinutesRemaining,
ups10EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups10FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups10FullGroups 2 }
ups10FullInputGroup OBJECT-GROUP
OBJECTS { ups10InputLineBads, ups10InputNumLines,
ups10InputFrequency, ups10InputVoltage }
STATUS current
DESCRIPTION
"The ups10FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups10FullGroups 3 }
ups10FullOutputGroup OBJECT-GROUP
OBJECTS { ups10OutputSource, ups10OutputFrequency,
ups10OutputNumLines, ups10OutputVoltage,
ups10OutputCurrent, ups10OutputPower,
ups10OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups10FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups10FullGroups 4 }
ups10FullBypassGroup OBJECT-GROUP
OBJECTS { ups10BypassFrequency, ups10BypassNumLines,
ups10BypassVoltage }
STATUS current
DESCRIPTION
"The ups10FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups10FullGroups 5 }
ups10FullAlarmGroup OBJECT-GROUP
OBJECTS { ups10AlarmsPresent, ups10AlarmDescr, ups10AlarmTime }
STATUS current
DESCRIPTION
"The ups10FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups10FullGroups 6 }
ups10FullTestGroup OBJECT-GROUP
OBJECTS { ups10TestId, ups10TestSpinLock,
ups10TestResultsSummary, ups10TestResultsDetail,
ups10TestStartTime, ups10TestElapsedTime }
STATUS current
DESCRIPTION
"The ups10FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups10FullGroups 7 }
ups10FullControlGroup OBJECT-GROUP
OBJECTS { ups10ShutdownType, ups10ShutdownAfterDelay,
ups10StartupAfterDelay, ups10RebootWithDuration }
STATUS current
DESCRIPTION
"The ups10FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups10FullGroups 8 }
--*******************************************************************
--
-- Module 11 data
--
upsModule11 OBJECT IDENTIFIER ::= { upsModular 12 }
ups11Objects OBJECT IDENTIFIER ::= { upsModule11 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups11IdentName and
-- ups11IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups11Ident OBJECT IDENTIFIER ::= { ups11Objects 1 }
ups11IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups11Ident 1 }
ups11IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups11Ident 2 }
ups11IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups11IdentAgentSoftwareVersion in some implementations."
::= { ups11Ident 3 }
ups11IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups11IdentUPSSoftwareVersion in some implementations."
::= { ups11Ident 4 }
ups11IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups11Ident 5 }
ups11IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups11Ident 6 }
--
-- Battery Group
--
ups11Battery OBJECT IDENTIFIER ::= { ups11Objects 2 }
ups11BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups11ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups11ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups11Battery 1 }
ups11SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups11Battery 2 }
ups11EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups11Battery 3 }
ups11EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups11Battery 4 }
ups11BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups11Battery 5 }
ups11BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups11Battery 6 }
ups11BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups11Battery 7 }
--
-- Input Group
--
ups11Input OBJECT IDENTIFIER ::= { ups11Objects 3 }
ups11InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups11Input 1 }
ups11InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups11Input 2 }
ups11InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups11InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups11InputNumLines."
::= { ups11Input 3 }
ups11InputEntry OBJECT-TYPE
SYNTAX Ups11InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups11InputLineIndex }
::= { ups11InputTable 1 }
Ups11InputEntry ::= SEQUENCE {
ups11InputLineIndex PositiveInteger,
ups11InputFrequency NonNegativeInteger,
ups11InputVoltage NonNegativeInteger,
ups11InputCurrent NonNegativeInteger,
ups11InputTruePower NonNegativeInteger
}
ups11InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups11InputEntry 1 }
ups11InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups11InputEntry 2 }
ups11InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups11InputEntry 3 }
ups11InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups11InputEntry 4 }
ups11InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups11InputEntry 5 }
--
-- The Output group.
--
ups11Output OBJECT IDENTIFIER ::= { ups11Objects 4 }
ups11OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups11Output 1 }
ups11OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups11Output 2 }
ups11OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups11Output 3 }
ups11OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups11OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups11OutputNumLines."
::= { ups11Output 4 }
ups11OutputEntry OBJECT-TYPE
SYNTAX Ups11OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups11OutputLineIndex }
::= { ups11OutputTable 1 }
Ups11OutputEntry ::= SEQUENCE {
ups11OutputLineIndex PositiveInteger,
ups11OutputVoltage NonNegativeInteger,
ups11OutputCurrent NonNegativeInteger,
ups11OutputPower NonNegativeInteger,
ups11OutputPercentLoad INTEGER
}
ups11OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups11OutputEntry 1 }
ups11OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups11OutputEntry 2 }
ups11OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups11OutputEntry 3 }
ups11OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups11OutputEntry 4 }
ups11OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups11OutputEntry 5 }
--
-- The Bypass group.
--
ups11Bypass OBJECT IDENTIFIER ::= { ups11Objects 5 }
ups11BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups11Bypass 1 }
ups11BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups11Bypass 2 }
ups11BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups11BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups11BypassNumLines."
::= { ups11Bypass 3 }
ups11BypassEntry OBJECT-TYPE
SYNTAX Ups11BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups11BypassLineIndex }
::= { ups11BypassTable 1 }
Ups11BypassEntry ::= SEQUENCE {
ups11BypassLineIndex PositiveInteger,
ups11BypassVoltage NonNegativeInteger,
ups11BypassCurrent NonNegativeInteger,
ups11BypassPower NonNegativeInteger
}
ups11BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups11BypassEntry 1 }
ups11BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups11BypassEntry 2 }
ups11BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups11BypassEntry 3 }
ups11BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups11BypassEntry 4 }
--
-- The Alarm group.
--
ups11Alarm OBJECT IDENTIFIER ::= { ups11Objects 6 }
ups11AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups11Alarm 1 }
ups11AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups11AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups11AlarmId equal to 1, and increments the value of
ups11AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups11AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups11AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups11AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups11AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups11AlarmsPresent."
::= { ups11Alarm 2 }
ups11AlarmEntry OBJECT-TYPE
SYNTAX Ups11AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups11AlarmId }
::= { ups11AlarmTable 1 }
Ups11AlarmEntry ::= SEQUENCE {
ups11AlarmId PositiveInteger,
ups11AlarmDescr AutonomousType,
ups11AlarmTime TimeStamp
}
ups11AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups11AlarmEntry 1 }
ups11AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups11AlarmEntry 2 }
ups11AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups11AlarmTime shall equal
0."
::= { ups11AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups11WellKnownAlarms OBJECT IDENTIFIER ::= { ups11Alarm 3 }
ups11AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups11WellKnownAlarms 1 }
ups11AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups11WellKnownAlarms 2 }
ups11AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups11ConfigLowBattTime."
::= { ups11WellKnownAlarms 3 }
ups11AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups11WellKnownAlarms 4 }
ups11AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups11WellKnownAlarms 5 }
ups11AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups11WellKnownAlarms 6 }
ups11AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups11WellKnownAlarms 7 }
ups11AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups11WellKnownAlarms 8 }
ups11AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups11WellKnownAlarms 9 }
ups11AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups11WellKnownAlarms 10 }
ups11AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups11WellKnownAlarms 11 }
ups11AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups11WellKnownAlarms 12 }
ups11AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups11WellKnownAlarms 13 }
ups11AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups11WellKnownAlarms 14 }
ups11AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups11WellKnownAlarms 15 }
ups11AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups11WellKnownAlarms 16 }
ups11AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups11WellKnownAlarms 17 }
ups11AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups11WellKnownAlarms 18 }
ups11AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups11WellKnownAlarms 19 }
ups11AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups11WellKnownAlarms 20 }
ups11AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups11WellKnownAlarms 21 }
ups11AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups11ShutdownAfterDelay countdown is underway."
::= { ups11WellKnownAlarms 22 }
ups11AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups11WellKnownAlarms 23 }
ups11AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups11WellKnownAlarms 24 }
--
-- The Test Group
--
ups11Test OBJECT IDENTIFIER ::= { ups11Objects 7 }
ups11TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups11TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups11TestResultsSummary. Tests in progress may be
aborted by setting the ups11TestId variable to
ups11TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups11TestNoTestsInitiated is returned."
::= { ups11Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups11TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups11TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups11TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups11TestResultsSummary */
get (upsTestSpinLock, ups11TestResultsSummary,
ups11TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups11TestResultsSummary,
ups11TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups11TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups11TestSpinLock at agent
initialization shall
be 1."
::= { ups11Test 2 }
ups11TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups11TestId to ups11TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups11Test 3 }
ups11TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups11TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups11Test 4 }
ups11TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups11TestResultsSummary is noTestsInitiated(6),
ups11TestStartTime has the value 0."
::= { ups11Test 5 }
ups11TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups11TestResultsSummary is noTestsInitiated(6),
ups11TestElapsedTime has the value 0."
::= { ups11Test 6 }
--
-- Well known tests.
--
ups11WellKnownTests OBJECT IDENTIFIER ::= { ups11Test 7 }
ups11TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups11WellKnownTests 1 }
ups11TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups11WellKnownTests 2 }
ups11TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups11WellKnownTests 3 }
ups11TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups11WellKnownTests 4 }
ups11TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups11WellKnownTests 5 }
--
-- The Control group.
--
ups11Control OBJECT IDENTIFIER ::= { ups11Objects 8 }
ups11ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups11ShutdownAfterDelay and ups11RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups11Control 1 }
ups11ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups11ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups11ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups11ShutdownType =
output and the output is already off. When read,
ups11ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups11ShutdownAfterDelay already in effect."
::= { ups11Control 2 }
ups11StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups11StartupAfterDelay
countdown or ups11RebootWithDuration countdown in
progress. When read, ups11StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups11Control 3 }
ups11RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups11ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups11RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups11Control 4 }
--
-- notifications, i.e., traps
--
ups11Traps OBJECT IDENTIFIER ::= { upsModule11 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups11TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups11EstimatedMinutesRemaining, ups11SecondsOnBattery,
ups11ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups11Traps 1 }
ups11TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups11TestId, ups11TestSpinLock,
ups11TestResultsSummary, ups11TestResultsDetail,
ups11TestStartTime, ups11TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups11Traps 2 }
ups11TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups11AlarmId, ups11AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups11AlarmOnBattery and
ups11AlarmTestInProgress."
::= { ups11Traps 3 }
ups11TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups11AlarmId, ups11AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups11AlarmTestInProgress."
::= { ups11Traps 4 }
--
-- conformance information
--
ups11Conformance OBJECT IDENTIFIER ::= { upsModule11 3 }
ups11Compliances OBJECT IDENTIFIER ::= { ups11Conformance 1 }
--
-- compliance statements
--
ups11SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups11SubsetIdentGroup,
ups11SubsetBatteryGroup, ups11SubsetInputGroup,
ups11SubsetOutputGroup, ups11SubsetAlarmGroup,
ups11SubsetControlGroup }
OBJECT ups11BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups11AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups11AlarmOnBattery, ups11AlarmLowBattery,
ups11AlarmInputBad, ups11AlarmUpsOutputOff,
ups11AlarmUpsSystemOff, and ups11AlarmTestInProgress."
OBJECT ups11OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups11ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups11Compliances 1 }
ups11BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups11BasicIdentGroup,
ups11BasicBatteryGroup, ups11BasicInputGroup,
ups11BasicOutputGroup, ups11BasicAlarmGroup,
ups11BasicTestGroup, ups11BasicControlGroup }
OBJECT ups11AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups11AlarmOnBattery, ups11AlarmLowBattery,
ups11AlarmDepletedBattery, ups11AlarmTempBad,
ups11AlarmInputBad, ups11AlarmOutputOverload,
ups11AlarmOnBypass, ups11AlarmBypassBad,
ups11AlarmOutputOffAsRequested,
ups11AlarmUpsOffAsRequested, ups11AlarmUpsOutputOff,
ups11AlarmUpsSystemOff, ups11AlarmGeneralFault,
ups11AlarmDiagnosticTestFailed,
ups11AlarmCommunicationsLost, ups11AlarmShutdownPending,
and ups11AlarmTestInProgress."
OBJECT ups11TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups11TestNoTestsInitiated."
OBJECT ups11OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups11BasicBypassGroup
DESCRIPTION
"The ups11BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups11ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups11Compliances 2 }
ups11FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups11FullIdentGroup, ups11FullBatteryGroup,
ups11FullInputGroup, ups11FullOutputGroup,
ups11FullAlarmGroup, ups11FullTestGroup,
ups11FullControlGroup }
OBJECT ups11AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups11AlarmBatteryBad, ups11AlarmOnBattery,
ups11AlarmLowBattery, ups11AlarmDepletedBattery,
ups11AlarmTempBad, ups11AlarmInputBad, ups11AlarmOnBypass,
ups11AlarmBypassBad, ups11AlarmOutputOffAsRequested,
ups11AlarmUpsOffAsRequested, ups11AlarmUpsOutputOff,
ups11AlarmUpsSystemOff, ups11AlarmGeneralFault,
ups11AlarmDiagnosticTestFailed,
ups11AlarmCommunicationsLost, ups11AlarmShutdownPending,
and ups11AlarmTestInProgress."
OBJECT ups11TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups11TestNoTestsInitiated,
ups11TestGeneralSystemsTest, and
ups11TestQuickBatteryTest."
OBJECT ups11OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups11FullBypassGroup
DESCRIPTION
"The ups11FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups11ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups11Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups11Groups OBJECT IDENTIFIER ::= { ups11Conformance 2 }
ups11SubsetGroups OBJECT IDENTIFIER ::= { ups11Groups 1 }
ups11SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups11IdentManufacturer, ups11IdentModel,
ups11IdentAgentSoftwareVersion, ups11IdentName,
ups11IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups11SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups11SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups11SubsetGroups 1 }
ups11SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups11BatteryStatus, ups11SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups11SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups11SubsetGroups 2 }
ups11SubsetInputGroup OBJECT-GROUP
OBJECTS { ups11InputLineBads }
STATUS current
DESCRIPTION
"The ups11SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups11SubsetGroups 3 }
ups11SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups11OutputSource }
STATUS current
DESCRIPTION
"The ups11SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups11SubsetGroups 4 }
-- { ups11SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups11SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups11AlarmsPresent, ups11AlarmDescr, ups11AlarmTime }
STATUS current
DESCRIPTION
"The ups11SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups11SubsetGroups 6 }
-- { ups11SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups11SubsetControlGroup OBJECT-GROUP
OBJECTS { ups11ShutdownType, ups11ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups11SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups11SubsetGroups 8 }
ups11BasicGroups OBJECT IDENTIFIER ::= { ups11Groups 2 }
ups11BasicIdentGroup OBJECT-GROUP
OBJECTS { ups11IdentManufacturer, ups11IdentModel,
ups11IdentUPSSoftwareVersion,
ups11IdentAgentSoftwareVersion, ups11IdentName }
STATUS current
DESCRIPTION
"The ups11BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 1 }
ups11BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups11BatteryStatus, ups11SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups11BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 2 }
ups11BasicInputGroup OBJECT-GROUP
OBJECTS { ups11InputLineBads, ups11InputNumLines,
ups11InputFrequency, ups11InputVoltage }
STATUS current
DESCRIPTION
"The ups11BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 3 }
ups11BasicOutputGroup OBJECT-GROUP
OBJECTS { ups11OutputSource, ups11OutputFrequency,
ups11OutputNumLines, ups11OutputVoltage }
STATUS current
DESCRIPTION
"The ups11BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 4 }
ups11BasicBypassGroup OBJECT-GROUP
OBJECTS { ups11BypassFrequency, ups11BypassNumLines,
ups11BypassVoltage }
STATUS current
DESCRIPTION
"The ups11BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 5 }
ups11BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups11AlarmsPresent, ups11AlarmDescr, ups11AlarmTime }
STATUS current
DESCRIPTION
"The ups11BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 6 }
ups11BasicTestGroup OBJECT-GROUP
OBJECTS { ups11TestId, ups11TestSpinLock,
ups11TestResultsSummary, ups11TestResultsDetail,
ups11TestStartTime, ups11TestElapsedTime }
STATUS current
DESCRIPTION
"The ups11BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 7 }
ups11BasicControlGroup OBJECT-GROUP
OBJECTS { ups11ShutdownType, ups11ShutdownAfterDelay,
ups11StartupAfterDelay, ups11RebootWithDuration }
STATUS current
DESCRIPTION
"The ups11BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups11BasicGroups 8 }
ups11FullGroups OBJECT IDENTIFIER ::= { ups11Groups 3 }
ups11FullIdentGroup OBJECT-GROUP
OBJECTS { ups11IdentManufacturer, ups11IdentModel,
ups11IdentUPSSoftwareVersion,
ups11IdentAgentSoftwareVersion, ups11IdentName,
ups11IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups11FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups11FullGroups 1 }
ups11FullBatteryGroup OBJECT-GROUP
OBJECTS { ups11BatteryStatus, ups11SecondsOnBattery,
ups11EstimatedMinutesRemaining,
ups11EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups11FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups11FullGroups 2 }
ups11FullInputGroup OBJECT-GROUP
OBJECTS { ups11InputLineBads, ups11InputNumLines,
ups11InputFrequency, ups11InputVoltage }
STATUS current
DESCRIPTION
"The ups11FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups11FullGroups 3 }
ups11FullOutputGroup OBJECT-GROUP
OBJECTS { ups11OutputSource, ups11OutputFrequency,
ups11OutputNumLines, ups11OutputVoltage,
ups11OutputCurrent, ups11OutputPower,
ups11OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups11FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups11FullGroups 4 }
ups11FullBypassGroup OBJECT-GROUP
OBJECTS { ups11BypassFrequency, ups11BypassNumLines,
ups11BypassVoltage }
STATUS current
DESCRIPTION
"The ups11FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups11FullGroups 5 }
ups11FullAlarmGroup OBJECT-GROUP
OBJECTS { ups11AlarmsPresent, ups11AlarmDescr, ups11AlarmTime }
STATUS current
DESCRIPTION
"The ups11FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups11FullGroups 6 }
ups11FullTestGroup OBJECT-GROUP
OBJECTS { ups11TestId, ups11TestSpinLock,
ups11TestResultsSummary, ups11TestResultsDetail,
ups11TestStartTime, ups11TestElapsedTime }
STATUS current
DESCRIPTION
"The ups11FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups11FullGroups 7 }
ups11FullControlGroup OBJECT-GROUP
OBJECTS { ups11ShutdownType, ups11ShutdownAfterDelay,
ups11StartupAfterDelay, ups11RebootWithDuration }
STATUS current
DESCRIPTION
"The ups11FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups11FullGroups 8 }
--*******************************************************************
--
-- Module 12 data
--
upsModule12 OBJECT IDENTIFIER ::= { upsModular 13 }
ups12Objects OBJECT IDENTIFIER ::= { upsModule12 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups12IdentName and
-- ups12IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups12Ident OBJECT IDENTIFIER ::= { ups12Objects 1 }
ups12IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups12Ident 1 }
ups12IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups12Ident 2 }
ups12IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups12IdentAgentSoftwareVersion in some implementations."
::= { ups12Ident 3 }
ups12IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups12IdentUPSSoftwareVersion in some implementations."
::= { ups12Ident 4 }
ups12IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups12Ident 5 }
ups12IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups12Ident 6 }
--
-- Battery Group
--
ups12Battery OBJECT IDENTIFIER ::= { ups12Objects 2 }
ups12BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups12ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups12ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups12Battery 1 }
ups12SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups12Battery 2 }
ups12EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups12Battery 3 }
ups12EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups12Battery 4 }
ups12BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups12Battery 5 }
ups12BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups12Battery 6 }
ups12BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups12Battery 7 }
--
-- Input Group
--
ups12Input OBJECT IDENTIFIER ::= { ups12Objects 3 }
ups12InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups12Input 1 }
ups12InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups12Input 2 }
ups12InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups12InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups12InputNumLines."
::= { ups12Input 3 }
ups12InputEntry OBJECT-TYPE
SYNTAX Ups12InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups12InputLineIndex }
::= { ups12InputTable 1 }
Ups12InputEntry ::= SEQUENCE {
ups12InputLineIndex PositiveInteger,
ups12InputFrequency NonNegativeInteger,
ups12InputVoltage NonNegativeInteger,
ups12InputCurrent NonNegativeInteger,
ups12InputTruePower NonNegativeInteger
}
ups12InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups12InputEntry 1 }
ups12InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups12InputEntry 2 }
ups12InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups12InputEntry 3 }
ups12InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups12InputEntry 4 }
ups12InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups12InputEntry 5 }
--
-- The Output group.
--
ups12Output OBJECT IDENTIFIER ::= { ups12Objects 4 }
ups12OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups12Output 1 }
ups12OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups12Output 2 }
ups12OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups12Output 3 }
ups12OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups12OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups12OutputNumLines."
::= { ups12Output 4 }
ups12OutputEntry OBJECT-TYPE
SYNTAX Ups12OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups12OutputLineIndex }
::= { ups12OutputTable 1 }
Ups12OutputEntry ::= SEQUENCE {
ups12OutputLineIndex PositiveInteger,
ups12OutputVoltage NonNegativeInteger,
ups12OutputCurrent NonNegativeInteger,
ups12OutputPower NonNegativeInteger,
ups12OutputPercentLoad INTEGER
}
ups12OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups12OutputEntry 1 }
ups12OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups12OutputEntry 2 }
ups12OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups12OutputEntry 3 }
ups12OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups12OutputEntry 4 }
ups12OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups12OutputEntry 5 }
--
-- The Bypass group.
--
ups12Bypass OBJECT IDENTIFIER ::= { ups12Objects 5 }
ups12BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups12Bypass 1 }
ups12BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups12Bypass 2 }
ups12BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups12BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups12BypassNumLines."
::= { ups12Bypass 3 }
ups12BypassEntry OBJECT-TYPE
SYNTAX Ups12BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups12BypassLineIndex }
::= { ups12BypassTable 1 }
Ups12BypassEntry ::= SEQUENCE {
ups12BypassLineIndex PositiveInteger,
ups12BypassVoltage NonNegativeInteger,
ups12BypassCurrent NonNegativeInteger,
ups12BypassPower NonNegativeInteger
}
ups12BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups12BypassEntry 1 }
ups12BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups12BypassEntry 2 }
ups12BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups12BypassEntry 3 }
ups12BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups12BypassEntry 4 }
--
-- The Alarm group.
--
ups12Alarm OBJECT IDENTIFIER ::= { ups12Objects 6 }
ups12AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups12Alarm 1 }
ups12AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups12AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups12AlarmId equal to 1, and increments the value of
ups12AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups12AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups12AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups12AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups12AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups12AlarmsPresent."
::= { ups12Alarm 2 }
ups12AlarmEntry OBJECT-TYPE
SYNTAX Ups12AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups12AlarmId }
::= { ups12AlarmTable 1 }
Ups12AlarmEntry ::= SEQUENCE {
ups12AlarmId PositiveInteger,
ups12AlarmDescr AutonomousType,
ups12AlarmTime TimeStamp
}
ups12AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups12AlarmEntry 1 }
ups12AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups12AlarmEntry 2 }
ups12AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups12AlarmTime shall equal
0."
::= { ups12AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups12WellKnownAlarms OBJECT IDENTIFIER ::= { ups12Alarm 3 }
ups12AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups12WellKnownAlarms 1 }
ups12AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups12WellKnownAlarms 2 }
ups12AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups12ConfigLowBattTime."
::= { ups12WellKnownAlarms 3 }
ups12AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups12WellKnownAlarms 4 }
ups12AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups12WellKnownAlarms 5 }
ups12AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups12WellKnownAlarms 6 }
ups12AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups12WellKnownAlarms 7 }
ups12AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups12WellKnownAlarms 8 }
ups12AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups12WellKnownAlarms 9 }
ups12AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups12WellKnownAlarms 10 }
ups12AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups12WellKnownAlarms 11 }
ups12AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups12WellKnownAlarms 12 }
ups12AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups12WellKnownAlarms 13 }
ups12AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups12WellKnownAlarms 14 }
ups12AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups12WellKnownAlarms 15 }
ups12AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups12WellKnownAlarms 16 }
ups12AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups12WellKnownAlarms 17 }
ups12AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups12WellKnownAlarms 18 }
ups12AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups12WellKnownAlarms 19 }
ups12AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups12WellKnownAlarms 20 }
ups12AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups12WellKnownAlarms 21 }
ups12AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups12ShutdownAfterDelay countdown is underway."
::= { ups12WellKnownAlarms 22 }
ups12AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups12WellKnownAlarms 23 }
ups12AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups12WellKnownAlarms 24 }
--
-- The Test Group
--
ups12Test OBJECT IDENTIFIER ::= { ups12Objects 7 }
ups12TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups12TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups12TestResultsSummary. Tests in progress may be
aborted by setting the ups12TestId variable to
ups12TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups12TestNoTestsInitiated is returned."
::= { ups12Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups12TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups12TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups12TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups12TestResultsSummary */
get (upsTestSpinLock, ups12TestResultsSummary,
ups12TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups12TestResultsSummary,
ups12TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups12TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups12TestSpinLock at agent
initialization shall
be 1."
::= { ups12Test 2 }
ups12TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups12TestId to ups12TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups12Test 3 }
ups12TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups12TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups12Test 4 }
ups12TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups12TestResultsSummary is noTestsInitiated(6),
ups12TestStartTime has the value 0."
::= { ups12Test 5 }
ups12TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups12TestResultsSummary is noTestsInitiated(6),
ups12TestElapsedTime has the value 0."
::= { ups12Test 6 }
--
-- Well known tests.
--
ups12WellKnownTests OBJECT IDENTIFIER ::= { ups12Test 7 }
ups12TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups12WellKnownTests 1 }
ups12TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups12WellKnownTests 2 }
ups12TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups12WellKnownTests 3 }
ups12TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups12WellKnownTests 4 }
ups12TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups12WellKnownTests 5 }
--
-- The Control group.
--
ups12Control OBJECT IDENTIFIER ::= { ups12Objects 8 }
ups12ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups12ShutdownAfterDelay and ups12RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups12Control 1 }
ups12ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups12ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups12ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups12ShutdownType =
output and the output is already off. When read,
ups12ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups12ShutdownAfterDelay already in effect."
::= { ups12Control 2 }
ups12StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups12StartupAfterDelay
countdown or ups12RebootWithDuration countdown in
progress. When read, ups12StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups12Control 3 }
ups12RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups12ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups12RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups12Control 4 }
--
-- notifications, i.e., traps
--
ups12Traps OBJECT IDENTIFIER ::= { upsModule12 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups12TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups12EstimatedMinutesRemaining, ups12SecondsOnBattery,
ups12ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups12Traps 1 }
ups12TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups12TestId, ups12TestSpinLock,
ups12TestResultsSummary, ups12TestResultsDetail,
ups12TestStartTime, ups12TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups12Traps 2 }
ups12TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups12AlarmId, ups12AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups12AlarmOnBattery and
ups12AlarmTestInProgress."
::= { ups12Traps 3 }
ups12TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups12AlarmId, ups12AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups12AlarmTestInProgress."
::= { ups12Traps 4 }
--
-- conformance information
--
ups12Conformance OBJECT IDENTIFIER ::= { upsModule12 3 }
ups12Compliances OBJECT IDENTIFIER ::= { ups12Conformance 1 }
--
-- compliance statements
--
ups12SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups12SubsetIdentGroup,
ups12SubsetBatteryGroup, ups12SubsetInputGroup,
ups12SubsetOutputGroup, ups12SubsetAlarmGroup,
ups12SubsetControlGroup }
OBJECT ups12BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups12AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups12AlarmOnBattery, ups12AlarmLowBattery,
ups12AlarmInputBad, ups12AlarmUpsOutputOff,
ups12AlarmUpsSystemOff, and ups12AlarmTestInProgress."
OBJECT ups12OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups12ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups12Compliances 1 }
ups12BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups12BasicIdentGroup,
ups12BasicBatteryGroup, ups12BasicInputGroup,
ups12BasicOutputGroup, ups12BasicAlarmGroup,
ups12BasicTestGroup, ups12BasicControlGroup }
OBJECT ups12AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups12AlarmOnBattery, ups12AlarmLowBattery,
ups12AlarmDepletedBattery, ups12AlarmTempBad,
ups12AlarmInputBad, ups12AlarmOutputOverload,
ups12AlarmOnBypass, ups12AlarmBypassBad,
ups12AlarmOutputOffAsRequested,
ups12AlarmUpsOffAsRequested, ups12AlarmUpsOutputOff,
ups12AlarmUpsSystemOff, ups12AlarmGeneralFault,
ups12AlarmDiagnosticTestFailed,
ups12AlarmCommunicationsLost, ups12AlarmShutdownPending,
and ups12AlarmTestInProgress."
OBJECT ups12TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups12TestNoTestsInitiated."
OBJECT ups12OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups12BasicBypassGroup
DESCRIPTION
"The ups12BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups12ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups12Compliances 2 }
ups12FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups12FullIdentGroup, ups12FullBatteryGroup,
ups12FullInputGroup, ups12FullOutputGroup,
ups12FullAlarmGroup, ups12FullTestGroup,
ups12FullControlGroup }
OBJECT ups12AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups12AlarmBatteryBad, ups12AlarmOnBattery,
ups12AlarmLowBattery, ups12AlarmDepletedBattery,
ups12AlarmTempBad, ups12AlarmInputBad, ups12AlarmOnBypass,
ups12AlarmBypassBad, ups12AlarmOutputOffAsRequested,
ups12AlarmUpsOffAsRequested, ups12AlarmUpsOutputOff,
ups12AlarmUpsSystemOff, ups12AlarmGeneralFault,
ups12AlarmDiagnosticTestFailed,
ups12AlarmCommunicationsLost, ups12AlarmShutdownPending,
and ups12AlarmTestInProgress."
OBJECT ups12TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups12TestNoTestsInitiated,
ups12TestGeneralSystemsTest, and
ups12TestQuickBatteryTest."
OBJECT ups12OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups12FullBypassGroup
DESCRIPTION
"The ups12FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups12ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups12Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups12Groups OBJECT IDENTIFIER ::= { ups12Conformance 2 }
ups12SubsetGroups OBJECT IDENTIFIER ::= { ups12Groups 1 }
ups12SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups12IdentManufacturer, ups12IdentModel,
ups12IdentAgentSoftwareVersion, ups12IdentName,
ups12IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups12SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups12SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups12SubsetGroups 1 }
ups12SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups12BatteryStatus, ups12SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups12SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups12SubsetGroups 2 }
ups12SubsetInputGroup OBJECT-GROUP
OBJECTS { ups12InputLineBads }
STATUS current
DESCRIPTION
"The ups12SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups12SubsetGroups 3 }
ups12SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups12OutputSource }
STATUS current
DESCRIPTION
"The ups12SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups12SubsetGroups 4 }
-- { ups12SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups12SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups12AlarmsPresent, ups12AlarmDescr, ups12AlarmTime }
STATUS current
DESCRIPTION
"The ups12SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups12SubsetGroups 6 }
-- { ups12SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups12SubsetControlGroup OBJECT-GROUP
OBJECTS { ups12ShutdownType, ups12ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups12SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups12SubsetGroups 8 }
ups12BasicGroups OBJECT IDENTIFIER ::= { ups12Groups 2 }
ups12BasicIdentGroup OBJECT-GROUP
OBJECTS { ups12IdentManufacturer, ups12IdentModel,
ups12IdentUPSSoftwareVersion,
ups12IdentAgentSoftwareVersion, ups12IdentName }
STATUS current
DESCRIPTION
"The ups12BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 1 }
ups12BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups12BatteryStatus, ups12SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups12BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 2 }
ups12BasicInputGroup OBJECT-GROUP
OBJECTS { ups12InputLineBads, ups12InputNumLines,
ups12InputFrequency, ups12InputVoltage }
STATUS current
DESCRIPTION
"The ups12BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 3 }
ups12BasicOutputGroup OBJECT-GROUP
OBJECTS { ups12OutputSource, ups12OutputFrequency,
ups12OutputNumLines, ups12OutputVoltage }
STATUS current
DESCRIPTION
"The ups12BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 4 }
ups12BasicBypassGroup OBJECT-GROUP
OBJECTS { ups12BypassFrequency, ups12BypassNumLines,
ups12BypassVoltage }
STATUS current
DESCRIPTION
"The ups12BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 5 }
ups12BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups12AlarmsPresent, ups12AlarmDescr, ups12AlarmTime }
STATUS current
DESCRIPTION
"The ups12BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 6 }
ups12BasicTestGroup OBJECT-GROUP
OBJECTS { ups12TestId, ups12TestSpinLock,
ups12TestResultsSummary, ups12TestResultsDetail,
ups12TestStartTime, ups12TestElapsedTime }
STATUS current
DESCRIPTION
"The ups12BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 7 }
ups12BasicControlGroup OBJECT-GROUP
OBJECTS { ups12ShutdownType, ups12ShutdownAfterDelay,
ups12StartupAfterDelay, ups12RebootWithDuration }
STATUS current
DESCRIPTION
"The ups12BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups12BasicGroups 8 }
ups12FullGroups OBJECT IDENTIFIER ::= { ups12Groups 3 }
ups12FullIdentGroup OBJECT-GROUP
OBJECTS { ups12IdentManufacturer, ups12IdentModel,
ups12IdentUPSSoftwareVersion,
ups12IdentAgentSoftwareVersion, ups12IdentName,
ups12IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups12FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups12FullGroups 1 }
ups12FullBatteryGroup OBJECT-GROUP
OBJECTS { ups12BatteryStatus, ups12SecondsOnBattery,
ups12EstimatedMinutesRemaining,
ups12EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups12FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups12FullGroups 2 }
ups12FullInputGroup OBJECT-GROUP
OBJECTS { ups12InputLineBads, ups12InputNumLines,
ups12InputFrequency, ups12InputVoltage }
STATUS current
DESCRIPTION
"The ups12FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups12FullGroups 3 }
ups12FullOutputGroup OBJECT-GROUP
OBJECTS { ups12OutputSource, ups12OutputFrequency,
ups12OutputNumLines, ups12OutputVoltage,
ups12OutputCurrent, ups12OutputPower,
ups12OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups12FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups12FullGroups 4 }
ups12FullBypassGroup OBJECT-GROUP
OBJECTS { ups12BypassFrequency, ups12BypassNumLines,
ups12BypassVoltage }
STATUS current
DESCRIPTION
"The ups12FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups12FullGroups 5 }
ups12FullAlarmGroup OBJECT-GROUP
OBJECTS { ups12AlarmsPresent, ups12AlarmDescr, ups12AlarmTime }
STATUS current
DESCRIPTION
"The ups12FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups12FullGroups 6 }
ups12FullTestGroup OBJECT-GROUP
OBJECTS { ups12TestId, ups12TestSpinLock,
ups12TestResultsSummary, ups12TestResultsDetail,
ups12TestStartTime, ups12TestElapsedTime }
STATUS current
DESCRIPTION
"The ups12FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups12FullGroups 7 }
ups12FullControlGroup OBJECT-GROUP
OBJECTS { ups12ShutdownType, ups12ShutdownAfterDelay,
ups12StartupAfterDelay, ups12RebootWithDuration }
STATUS current
DESCRIPTION
"The ups12FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups12FullGroups 8 }
--*******************************************************************
--
-- Module 13 data
--
upsModule13 OBJECT IDENTIFIER ::= { upsModular 14 }
ups13Objects OBJECT IDENTIFIER ::= { upsModule13 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups13IdentName and
-- ups13IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups13Ident OBJECT IDENTIFIER ::= { ups13Objects 1 }
ups13IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups13Ident 1 }
ups13IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups13Ident 2 }
ups13IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups13IdentAgentSoftwareVersion in some implementations."
::= { ups13Ident 3 }
ups13IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups13IdentUPSSoftwareVersion in some implementations."
::= { ups13Ident 4 }
ups13IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups13Ident 5 }
ups13IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups13Ident 6 }
--
-- Battery Group
--
ups13Battery OBJECT IDENTIFIER ::= { ups13Objects 2 }
ups13BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups13ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups13ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups13Battery 1 }
ups13SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups13Battery 2 }
ups13EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups13Battery 3 }
ups13EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups13Battery 4 }
ups13BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups13Battery 5 }
ups13BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups13Battery 6 }
ups13BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups13Battery 7 }
--
-- Input Group
--
ups13Input OBJECT IDENTIFIER ::= { ups13Objects 3 }
ups13InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups13Input 1 }
ups13InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups13Input 2 }
ups13InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups13InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups13InputNumLines."
::= { ups13Input 3 }
ups13InputEntry OBJECT-TYPE
SYNTAX Ups13InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups13InputLineIndex }
::= { ups13InputTable 1 }
Ups13InputEntry ::= SEQUENCE {
ups13InputLineIndex PositiveInteger,
ups13InputFrequency NonNegativeInteger,
ups13InputVoltage NonNegativeInteger,
ups13InputCurrent NonNegativeInteger,
ups13InputTruePower NonNegativeInteger
}
ups13InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups13InputEntry 1 }
ups13InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups13InputEntry 2 }
ups13InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups13InputEntry 3 }
ups13InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups13InputEntry 4 }
ups13InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups13InputEntry 5 }
--
-- The Output group.
--
ups13Output OBJECT IDENTIFIER ::= { ups13Objects 4 }
ups13OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups13Output 1 }
ups13OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups13Output 2 }
ups13OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups13Output 3 }
ups13OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups13OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups13OutputNumLines."
::= { ups13Output 4 }
ups13OutputEntry OBJECT-TYPE
SYNTAX Ups13OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups13OutputLineIndex }
::= { ups13OutputTable 1 }
Ups13OutputEntry ::= SEQUENCE {
ups13OutputLineIndex PositiveInteger,
ups13OutputVoltage NonNegativeInteger,
ups13OutputCurrent NonNegativeInteger,
ups13OutputPower NonNegativeInteger,
ups13OutputPercentLoad INTEGER
}
ups13OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups13OutputEntry 1 }
ups13OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups13OutputEntry 2 }
ups13OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups13OutputEntry 3 }
ups13OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups13OutputEntry 4 }
ups13OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups13OutputEntry 5 }
--
-- The Bypass group.
--
ups13Bypass OBJECT IDENTIFIER ::= { ups13Objects 5 }
ups13BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups13Bypass 1 }
ups13BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups13Bypass 2 }
ups13BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups13BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups13BypassNumLines."
::= { ups13Bypass 3 }
ups13BypassEntry OBJECT-TYPE
SYNTAX Ups13BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups13BypassLineIndex }
::= { ups13BypassTable 1 }
Ups13BypassEntry ::= SEQUENCE {
ups13BypassLineIndex PositiveInteger,
ups13BypassVoltage NonNegativeInteger,
ups13BypassCurrent NonNegativeInteger,
ups13BypassPower NonNegativeInteger
}
ups13BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups13BypassEntry 1 }
ups13BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups13BypassEntry 2 }
ups13BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups13BypassEntry 3 }
ups13BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups13BypassEntry 4 }
--
-- The Alarm group.
--
ups13Alarm OBJECT IDENTIFIER ::= { ups13Objects 6 }
ups13AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups13Alarm 1 }
ups13AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups13AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups13AlarmId equal to 1, and increments the value of
ups13AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups13AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups13AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups13AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups13AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups13AlarmsPresent."
::= { ups13Alarm 2 }
ups13AlarmEntry OBJECT-TYPE
SYNTAX Ups13AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups13AlarmId }
::= { ups13AlarmTable 1 }
Ups13AlarmEntry ::= SEQUENCE {
ups13AlarmId PositiveInteger,
ups13AlarmDescr AutonomousType,
ups13AlarmTime TimeStamp
}
ups13AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups13AlarmEntry 1 }
ups13AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups13AlarmEntry 2 }
ups13AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups13AlarmTime shall equal
0."
::= { ups13AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups13WellKnownAlarms OBJECT IDENTIFIER ::= { ups13Alarm 3 }
ups13AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups13WellKnownAlarms 1 }
ups13AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups13WellKnownAlarms 2 }
ups13AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups13ConfigLowBattTime."
::= { ups13WellKnownAlarms 3 }
ups13AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups13WellKnownAlarms 4 }
ups13AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups13WellKnownAlarms 5 }
ups13AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups13WellKnownAlarms 6 }
ups13AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups13WellKnownAlarms 7 }
ups13AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups13WellKnownAlarms 8 }
ups13AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups13WellKnownAlarms 9 }
ups13AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups13WellKnownAlarms 10 }
ups13AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups13WellKnownAlarms 11 }
ups13AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups13WellKnownAlarms 12 }
ups13AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups13WellKnownAlarms 13 }
ups13AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups13WellKnownAlarms 14 }
ups13AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups13WellKnownAlarms 15 }
ups13AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups13WellKnownAlarms 16 }
ups13AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups13WellKnownAlarms 17 }
ups13AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups13WellKnownAlarms 18 }
ups13AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups13WellKnownAlarms 19 }
ups13AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups13WellKnownAlarms 20 }
ups13AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups13WellKnownAlarms 21 }
ups13AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups13ShutdownAfterDelay countdown is underway."
::= { ups13WellKnownAlarms 22 }
ups13AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups13WellKnownAlarms 23 }
ups13AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups13WellKnownAlarms 24 }
--
-- The Test Group
--
ups13Test OBJECT IDENTIFIER ::= { ups13Objects 7 }
ups13TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups13TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups13TestResultsSummary. Tests in progress may be
aborted by setting the ups13TestId variable to
ups13TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups13TestNoTestsInitiated is returned."
::= { ups13Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups13TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups13TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups13TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups13TestResultsSummary */
get (upsTestSpinLock, ups13TestResultsSummary,
ups13TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups13TestResultsSummary,
ups13TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups13TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups13TestSpinLock at agent
initialization shall
be 1."
::= { ups13Test 2 }
ups13TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups13TestId to ups13TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups13Test 3 }
ups13TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups13TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups13Test 4 }
ups13TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups13TestResultsSummary is noTestsInitiated(6),
ups13TestStartTime has the value 0."
::= { ups13Test 5 }
ups13TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups13TestResultsSummary is noTestsInitiated(6),
ups13TestElapsedTime has the value 0."
::= { ups13Test 6 }
--
-- Well known tests.
--
ups13WellKnownTests OBJECT IDENTIFIER ::= { ups13Test 7 }
ups13TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups13WellKnownTests 1 }
ups13TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups13WellKnownTests 2 }
ups13TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups13WellKnownTests 3 }
ups13TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups13WellKnownTests 4 }
ups13TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups13WellKnownTests 5 }
--
-- The Control group.
--
ups13Control OBJECT IDENTIFIER ::= { ups13Objects 8 }
ups13ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups13ShutdownAfterDelay and ups13RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups13Control 1 }
ups13ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups13ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups13ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups13ShutdownType =
output and the output is already off. When read,
ups13ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups13ShutdownAfterDelay already in effect."
::= { ups13Control 2 }
ups13StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups13StartupAfterDelay
countdown or ups13RebootWithDuration countdown in
progress. When read, ups13StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups13Control 3 }
ups13RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups13ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups13RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups13Control 4 }
--
-- notifications, i.e., traps
--
ups13Traps OBJECT IDENTIFIER ::= { upsModule13 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups13TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups13EstimatedMinutesRemaining, ups13SecondsOnBattery,
ups13ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups13Traps 1 }
ups13TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups13TestId, ups13TestSpinLock,
ups13TestResultsSummary, ups13TestResultsDetail,
ups13TestStartTime, ups13TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups13Traps 2 }
ups13TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups13AlarmId, ups13AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups13AlarmOnBattery and
ups13AlarmTestInProgress."
::= { ups13Traps 3 }
ups13TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups13AlarmId, ups13AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups13AlarmTestInProgress."
::= { ups13Traps 4 }
--
-- conformance information
--
ups13Conformance OBJECT IDENTIFIER ::= { upsModule13 3 }
ups13Compliances OBJECT IDENTIFIER ::= { ups13Conformance 1 }
--
-- compliance statements
--
ups13SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups13SubsetIdentGroup,
ups13SubsetBatteryGroup, ups13SubsetInputGroup,
ups13SubsetOutputGroup, ups13SubsetAlarmGroup,
ups13SubsetControlGroup }
OBJECT ups13BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups13AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups13AlarmOnBattery, ups13AlarmLowBattery,
ups13AlarmInputBad, ups13AlarmUpsOutputOff,
ups13AlarmUpsSystemOff, and ups13AlarmTestInProgress."
OBJECT ups13OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups13ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups13Compliances 1 }
ups13BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups13BasicIdentGroup,
ups13BasicBatteryGroup, ups13BasicInputGroup,
ups13BasicOutputGroup, ups13BasicAlarmGroup,
ups13BasicTestGroup, ups13BasicControlGroup }
OBJECT ups13AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups13AlarmOnBattery, ups13AlarmLowBattery,
ups13AlarmDepletedBattery, ups13AlarmTempBad,
ups13AlarmInputBad, ups13AlarmOutputOverload,
ups13AlarmOnBypass, ups13AlarmBypassBad,
ups13AlarmOutputOffAsRequested,
ups13AlarmUpsOffAsRequested, ups13AlarmUpsOutputOff,
ups13AlarmUpsSystemOff, ups13AlarmGeneralFault,
ups13AlarmDiagnosticTestFailed,
ups13AlarmCommunicationsLost, ups13AlarmShutdownPending,
and ups13AlarmTestInProgress."
OBJECT ups13TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups13TestNoTestsInitiated."
OBJECT ups13OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups13BasicBypassGroup
DESCRIPTION
"The ups13BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups13ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups13Compliances 2 }
ups13FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups13FullIdentGroup, ups13FullBatteryGroup,
ups13FullInputGroup, ups13FullOutputGroup,
ups13FullAlarmGroup, ups13FullTestGroup,
ups13FullControlGroup }
OBJECT ups13AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups13AlarmBatteryBad, ups13AlarmOnBattery,
ups13AlarmLowBattery, ups13AlarmDepletedBattery,
ups13AlarmTempBad, ups13AlarmInputBad, ups13AlarmOnBypass,
ups13AlarmBypassBad, ups13AlarmOutputOffAsRequested,
ups13AlarmUpsOffAsRequested, ups13AlarmUpsOutputOff,
ups13AlarmUpsSystemOff, ups13AlarmGeneralFault,
ups13AlarmDiagnosticTestFailed,
ups13AlarmCommunicationsLost, ups13AlarmShutdownPending,
and ups13AlarmTestInProgress."
OBJECT ups13TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups13TestNoTestsInitiated,
ups13TestGeneralSystemsTest, and
ups13TestQuickBatteryTest."
OBJECT ups13OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups13FullBypassGroup
DESCRIPTION
"The ups13FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups13ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups13Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups13Groups OBJECT IDENTIFIER ::= { ups13Conformance 2 }
ups13SubsetGroups OBJECT IDENTIFIER ::= { ups13Groups 1 }
ups13SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups13IdentManufacturer, ups13IdentModel,
ups13IdentAgentSoftwareVersion, ups13IdentName,
ups13IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups13SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups13SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups13SubsetGroups 1 }
ups13SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups13BatteryStatus, ups13SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups13SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups13SubsetGroups 2 }
ups13SubsetInputGroup OBJECT-GROUP
OBJECTS { ups13InputLineBads }
STATUS current
DESCRIPTION
"The ups13SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups13SubsetGroups 3 }
ups13SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups13OutputSource }
STATUS current
DESCRIPTION
"The ups13SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups13SubsetGroups 4 }
-- { ups13SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups13SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups13AlarmsPresent, ups13AlarmDescr, ups13AlarmTime }
STATUS current
DESCRIPTION
"The ups13SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups13SubsetGroups 6 }
-- { ups13SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups13SubsetControlGroup OBJECT-GROUP
OBJECTS { ups13ShutdownType, ups13ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups13SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups13SubsetGroups 8 }
ups13BasicGroups OBJECT IDENTIFIER ::= { ups13Groups 2 }
ups13BasicIdentGroup OBJECT-GROUP
OBJECTS { ups13IdentManufacturer, ups13IdentModel,
ups13IdentUPSSoftwareVersion,
ups13IdentAgentSoftwareVersion, ups13IdentName }
STATUS current
DESCRIPTION
"The ups13BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 1 }
ups13BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups13BatteryStatus, ups13SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups13BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 2 }
ups13BasicInputGroup OBJECT-GROUP
OBJECTS { ups13InputLineBads, ups13InputNumLines,
ups13InputFrequency, ups13InputVoltage }
STATUS current
DESCRIPTION
"The ups13BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 3 }
ups13BasicOutputGroup OBJECT-GROUP
OBJECTS { ups13OutputSource, ups13OutputFrequency,
ups13OutputNumLines, ups13OutputVoltage }
STATUS current
DESCRIPTION
"The ups13BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 4 }
ups13BasicBypassGroup OBJECT-GROUP
OBJECTS { ups13BypassFrequency, ups13BypassNumLines,
ups13BypassVoltage }
STATUS current
DESCRIPTION
"The ups13BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 5 }
ups13BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups13AlarmsPresent, ups13AlarmDescr, ups13AlarmTime }
STATUS current
DESCRIPTION
"The ups13BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 6 }
ups13BasicTestGroup OBJECT-GROUP
OBJECTS { ups13TestId, ups13TestSpinLock,
ups13TestResultsSummary, ups13TestResultsDetail,
ups13TestStartTime, ups13TestElapsedTime }
STATUS current
DESCRIPTION
"The ups13BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 7 }
ups13BasicControlGroup OBJECT-GROUP
OBJECTS { ups13ShutdownType, ups13ShutdownAfterDelay,
ups13StartupAfterDelay, ups13RebootWithDuration }
STATUS current
DESCRIPTION
"The ups13BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups13BasicGroups 8 }
ups13FullGroups OBJECT IDENTIFIER ::= { ups13Groups 3 }
ups13FullIdentGroup OBJECT-GROUP
OBJECTS { ups13IdentManufacturer, ups13IdentModel,
ups13IdentUPSSoftwareVersion,
ups13IdentAgentSoftwareVersion, ups13IdentName,
ups13IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups13FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups13FullGroups 1 }
ups13FullBatteryGroup OBJECT-GROUP
OBJECTS { ups13BatteryStatus, ups13SecondsOnBattery,
ups13EstimatedMinutesRemaining,
ups13EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups13FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups13FullGroups 2 }
ups13FullInputGroup OBJECT-GROUP
OBJECTS { ups13InputLineBads, ups13InputNumLines,
ups13InputFrequency, ups13InputVoltage }
STATUS current
DESCRIPTION
"The ups13FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups13FullGroups 3 }
ups13FullOutputGroup OBJECT-GROUP
OBJECTS { ups13OutputSource, ups13OutputFrequency,
ups13OutputNumLines, ups13OutputVoltage,
ups13OutputCurrent, ups13OutputPower,
ups13OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups13FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups13FullGroups 4 }
ups13FullBypassGroup OBJECT-GROUP
OBJECTS { ups13BypassFrequency, ups13BypassNumLines,
ups13BypassVoltage }
STATUS current
DESCRIPTION
"The ups13FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups13FullGroups 5 }
ups13FullAlarmGroup OBJECT-GROUP
OBJECTS { ups13AlarmsPresent, ups13AlarmDescr, ups13AlarmTime }
STATUS current
DESCRIPTION
"The ups13FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups13FullGroups 6 }
ups13FullTestGroup OBJECT-GROUP
OBJECTS { ups13TestId, ups13TestSpinLock,
ups13TestResultsSummary, ups13TestResultsDetail,
ups13TestStartTime, ups13TestElapsedTime }
STATUS current
DESCRIPTION
"The ups13FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups13FullGroups 7 }
ups13FullControlGroup OBJECT-GROUP
OBJECTS { ups13ShutdownType, ups13ShutdownAfterDelay,
ups13StartupAfterDelay, ups13RebootWithDuration }
STATUS current
DESCRIPTION
"The ups13FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups13FullGroups 8 }
--*******************************************************************
--
-- Module 14 data
--
upsModule14 OBJECT IDENTIFIER ::= { upsModular 15 }
ups14Objects OBJECT IDENTIFIER ::= { upsModule14 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups14IdentName and
-- ups14IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups14Ident OBJECT IDENTIFIER ::= { ups14Objects 1 }
ups14IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups14Ident 1 }
ups14IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups14Ident 2 }
ups14IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups14IdentAgentSoftwareVersion in some implementations."
::= { ups14Ident 3 }
ups14IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups14IdentUPSSoftwareVersion in some implementations."
::= { ups14Ident 4 }
ups14IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups14Ident 5 }
ups14IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups14Ident 6 }
--
-- Battery Group
--
ups14Battery OBJECT IDENTIFIER ::= { ups14Objects 2 }
ups14BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups14ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups14ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups14Battery 1 }
ups14SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups14Battery 2 }
ups14EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups14Battery 3 }
ups14EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups14Battery 4 }
ups14BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups14Battery 5 }
ups14BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups14Battery 6 }
ups14BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups14Battery 7 }
--
-- Input Group
--
ups14Input OBJECT IDENTIFIER ::= { ups14Objects 3 }
ups14InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups14Input 1 }
ups14InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups14Input 2 }
ups14InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups14InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups14InputNumLines."
::= { ups14Input 3 }
ups14InputEntry OBJECT-TYPE
SYNTAX Ups14InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups14InputLineIndex }
::= { ups14InputTable 1 }
Ups14InputEntry ::= SEQUENCE {
ups14InputLineIndex PositiveInteger,
ups14InputFrequency NonNegativeInteger,
ups14InputVoltage NonNegativeInteger,
ups14InputCurrent NonNegativeInteger,
ups14InputTruePower NonNegativeInteger
}
ups14InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups14InputEntry 1 }
ups14InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups14InputEntry 2 }
ups14InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups14InputEntry 3 }
ups14InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups14InputEntry 4 }
ups14InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups14InputEntry 5 }
--
-- The Output group.
--
ups14Output OBJECT IDENTIFIER ::= { ups14Objects 4 }
ups14OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups14Output 1 }
ups14OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups14Output 2 }
ups14OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups14Output 3 }
ups14OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups14OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups14OutputNumLines."
::= { ups14Output 4 }
ups14OutputEntry OBJECT-TYPE
SYNTAX Ups14OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups14OutputLineIndex }
::= { ups14OutputTable 1 }
Ups14OutputEntry ::= SEQUENCE {
ups14OutputLineIndex PositiveInteger,
ups14OutputVoltage NonNegativeInteger,
ups14OutputCurrent NonNegativeInteger,
ups14OutputPower NonNegativeInteger,
ups14OutputPercentLoad INTEGER
}
ups14OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups14OutputEntry 1 }
ups14OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups14OutputEntry 2 }
ups14OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups14OutputEntry 3 }
ups14OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups14OutputEntry 4 }
ups14OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups14OutputEntry 5 }
--
-- The Bypass group.
--
ups14Bypass OBJECT IDENTIFIER ::= { ups14Objects 5 }
ups14BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups14Bypass 1 }
ups14BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups14Bypass 2 }
ups14BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups14BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups14BypassNumLines."
::= { ups14Bypass 3 }
ups14BypassEntry OBJECT-TYPE
SYNTAX Ups14BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups14BypassLineIndex }
::= { ups14BypassTable 1 }
Ups14BypassEntry ::= SEQUENCE {
ups14BypassLineIndex PositiveInteger,
ups14BypassVoltage NonNegativeInteger,
ups14BypassCurrent NonNegativeInteger,
ups14BypassPower NonNegativeInteger
}
ups14BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups14BypassEntry 1 }
ups14BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups14BypassEntry 2 }
ups14BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups14BypassEntry 3 }
ups14BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups14BypassEntry 4 }
--
-- The Alarm group.
--
ups14Alarm OBJECT IDENTIFIER ::= { ups14Objects 6 }
ups14AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups14Alarm 1 }
ups14AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups14AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups14AlarmId equal to 1, and increments the value of
ups14AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups14AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups14AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups14AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups14AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups14AlarmsPresent."
::= { ups14Alarm 2 }
ups14AlarmEntry OBJECT-TYPE
SYNTAX Ups14AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups14AlarmId }
::= { ups14AlarmTable 1 }
Ups14AlarmEntry ::= SEQUENCE {
ups14AlarmId PositiveInteger,
ups14AlarmDescr AutonomousType,
ups14AlarmTime TimeStamp
}
ups14AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups14AlarmEntry 1 }
ups14AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups14AlarmEntry 2 }
ups14AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups14AlarmTime shall equal
0."
::= { ups14AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups14WellKnownAlarms OBJECT IDENTIFIER ::= { ups14Alarm 3 }
ups14AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups14WellKnownAlarms 1 }
ups14AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups14WellKnownAlarms 2 }
ups14AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups14ConfigLowBattTime."
::= { ups14WellKnownAlarms 3 }
ups14AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups14WellKnownAlarms 4 }
ups14AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups14WellKnownAlarms 5 }
ups14AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups14WellKnownAlarms 6 }
ups14AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups14WellKnownAlarms 7 }
ups14AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups14WellKnownAlarms 8 }
ups14AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups14WellKnownAlarms 9 }
ups14AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups14WellKnownAlarms 10 }
ups14AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups14WellKnownAlarms 11 }
ups14AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups14WellKnownAlarms 12 }
ups14AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups14WellKnownAlarms 13 }
ups14AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups14WellKnownAlarms 14 }
ups14AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups14WellKnownAlarms 15 }
ups14AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups14WellKnownAlarms 16 }
ups14AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups14WellKnownAlarms 17 }
ups14AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups14WellKnownAlarms 18 }
ups14AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups14WellKnownAlarms 19 }
ups14AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups14WellKnownAlarms 20 }
ups14AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups14WellKnownAlarms 21 }
ups14AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups14ShutdownAfterDelay countdown is underway."
::= { ups14WellKnownAlarms 22 }
ups14AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups14WellKnownAlarms 23 }
ups14AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups14WellKnownAlarms 24 }
--
-- The Test Group
--
ups14Test OBJECT IDENTIFIER ::= { ups14Objects 7 }
ups14TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups14TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups14TestResultsSummary. Tests in progress may be
aborted by setting the ups14TestId variable to
ups14TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups14TestNoTestsInitiated is returned."
::= { ups14Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups14TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups14TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups14TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups14TestResultsSummary */
get (upsTestSpinLock, ups14TestResultsSummary,
ups14TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups14TestResultsSummary,
ups14TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups14TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups14TestSpinLock at agent
initialization shall
be 1."
::= { ups14Test 2 }
ups14TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups14TestId to ups14TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups14Test 3 }
ups14TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups14TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups14Test 4 }
ups14TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups14TestResultsSummary is noTestsInitiated(6),
ups14TestStartTime has the value 0."
::= { ups14Test 5 }
ups14TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups14TestResultsSummary is noTestsInitiated(6),
ups14TestElapsedTime has the value 0."
::= { ups14Test 6 }
--
-- Well known tests.
--
ups14WellKnownTests OBJECT IDENTIFIER ::= { ups14Test 7 }
ups14TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups14WellKnownTests 1 }
ups14TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups14WellKnownTests 2 }
ups14TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups14WellKnownTests 3 }
ups14TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups14WellKnownTests 4 }
ups14TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups14WellKnownTests 5 }
--
-- The Control group.
--
ups14Control OBJECT IDENTIFIER ::= { ups14Objects 8 }
ups14ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups14ShutdownAfterDelay and ups14RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups14Control 1 }
ups14ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups14ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups14ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups14ShutdownType =
output and the output is already off. When read,
ups14ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups14ShutdownAfterDelay already in effect."
::= { ups14Control 2 }
ups14StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups14StartupAfterDelay
countdown or ups14RebootWithDuration countdown in
progress. When read, ups14StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups14Control 3 }
ups14RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups14ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups14RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups14Control 4 }
--
-- notifications, i.e., traps
--
ups14Traps OBJECT IDENTIFIER ::= { upsModule14 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups14TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups14EstimatedMinutesRemaining, ups14SecondsOnBattery,
ups14ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups14Traps 1 }
ups14TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups14TestId, ups14TestSpinLock,
ups14TestResultsSummary, ups14TestResultsDetail,
ups14TestStartTime, ups14TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups14Traps 2 }
ups14TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups14AlarmId, ups14AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups14AlarmOnBattery and
ups14AlarmTestInProgress."
::= { ups14Traps 3 }
ups14TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups14AlarmId, ups14AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups14AlarmTestInProgress."
::= { ups14Traps 4 }
--
-- conformance information
--
ups14Conformance OBJECT IDENTIFIER ::= { upsModule14 3 }
ups14Compliances OBJECT IDENTIFIER ::= { ups14Conformance 1 }
--
-- compliance statements
--
ups14SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups14SubsetIdentGroup,
ups14SubsetBatteryGroup, ups14SubsetInputGroup,
ups14SubsetOutputGroup, ups14SubsetAlarmGroup,
ups14SubsetControlGroup }
OBJECT ups14BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups14AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups14AlarmOnBattery, ups14AlarmLowBattery,
ups14AlarmInputBad, ups14AlarmUpsOutputOff,
ups14AlarmUpsSystemOff, and ups14AlarmTestInProgress."
OBJECT ups14OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups14ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups14Compliances 1 }
ups14BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups14BasicIdentGroup,
ups14BasicBatteryGroup, ups14BasicInputGroup,
ups14BasicOutputGroup, ups14BasicAlarmGroup,
ups14BasicTestGroup, ups14BasicControlGroup }
OBJECT ups14AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups14AlarmOnBattery, ups14AlarmLowBattery,
ups14AlarmDepletedBattery, ups14AlarmTempBad,
ups14AlarmInputBad, ups14AlarmOutputOverload,
ups14AlarmOnBypass, ups14AlarmBypassBad,
ups14AlarmOutputOffAsRequested,
ups14AlarmUpsOffAsRequested, ups14AlarmUpsOutputOff,
ups14AlarmUpsSystemOff, ups14AlarmGeneralFault,
ups14AlarmDiagnosticTestFailed,
ups14AlarmCommunicationsLost, ups14AlarmShutdownPending,
and ups14AlarmTestInProgress."
OBJECT ups14TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups14TestNoTestsInitiated."
OBJECT ups14OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups14BasicBypassGroup
DESCRIPTION
"The ups14BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups14ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups14Compliances 2 }
ups14FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups14FullIdentGroup, ups14FullBatteryGroup,
ups14FullInputGroup, ups14FullOutputGroup,
ups14FullAlarmGroup, ups14FullTestGroup,
ups14FullControlGroup }
OBJECT ups14AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups14AlarmBatteryBad, ups14AlarmOnBattery,
ups14AlarmLowBattery, ups14AlarmDepletedBattery,
ups14AlarmTempBad, ups14AlarmInputBad, ups14AlarmOnBypass,
ups14AlarmBypassBad, ups14AlarmOutputOffAsRequested,
ups14AlarmUpsOffAsRequested, ups14AlarmUpsOutputOff,
ups14AlarmUpsSystemOff, ups14AlarmGeneralFault,
ups14AlarmDiagnosticTestFailed,
ups14AlarmCommunicationsLost, ups14AlarmShutdownPending,
and ups14AlarmTestInProgress."
OBJECT ups14TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups14TestNoTestsInitiated,
ups14TestGeneralSystemsTest, and
ups14TestQuickBatteryTest."
OBJECT ups14OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups14FullBypassGroup
DESCRIPTION
"The ups14FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups14ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups14Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups14Groups OBJECT IDENTIFIER ::= { ups14Conformance 2 }
ups14SubsetGroups OBJECT IDENTIFIER ::= { ups14Groups 1 }
ups14SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups14IdentManufacturer, ups14IdentModel,
ups14IdentAgentSoftwareVersion, ups14IdentName,
ups14IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups14SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups14SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups14SubsetGroups 1 }
ups14SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups14BatteryStatus, ups14SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups14SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups14SubsetGroups 2 }
ups14SubsetInputGroup OBJECT-GROUP
OBJECTS { ups14InputLineBads }
STATUS current
DESCRIPTION
"The ups14SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups14SubsetGroups 3 }
ups14SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups14OutputSource }
STATUS current
DESCRIPTION
"The ups14SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups14SubsetGroups 4 }
-- { ups14SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups14SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups14AlarmsPresent, ups14AlarmDescr, ups14AlarmTime }
STATUS current
DESCRIPTION
"The ups14SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups14SubsetGroups 6 }
-- { ups14SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups14SubsetControlGroup OBJECT-GROUP
OBJECTS { ups14ShutdownType, ups14ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups14SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups14SubsetGroups 8 }
ups14BasicGroups OBJECT IDENTIFIER ::= { ups14Groups 2 }
ups14BasicIdentGroup OBJECT-GROUP
OBJECTS { ups14IdentManufacturer, ups14IdentModel,
ups14IdentUPSSoftwareVersion,
ups14IdentAgentSoftwareVersion, ups14IdentName }
STATUS current
DESCRIPTION
"The ups14BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 1 }
ups14BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups14BatteryStatus, ups14SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups14BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 2 }
ups14BasicInputGroup OBJECT-GROUP
OBJECTS { ups14InputLineBads, ups14InputNumLines,
ups14InputFrequency, ups14InputVoltage }
STATUS current
DESCRIPTION
"The ups14BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 3 }
ups14BasicOutputGroup OBJECT-GROUP
OBJECTS { ups14OutputSource, ups14OutputFrequency,
ups14OutputNumLines, ups14OutputVoltage }
STATUS current
DESCRIPTION
"The ups14BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 4 }
ups14BasicBypassGroup OBJECT-GROUP
OBJECTS { ups14BypassFrequency, ups14BypassNumLines,
ups14BypassVoltage }
STATUS current
DESCRIPTION
"The ups14BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 5 }
ups14BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups14AlarmsPresent, ups14AlarmDescr, ups14AlarmTime }
STATUS current
DESCRIPTION
"The ups14BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 6 }
ups14BasicTestGroup OBJECT-GROUP
OBJECTS { ups14TestId, ups14TestSpinLock,
ups14TestResultsSummary, ups14TestResultsDetail,
ups14TestStartTime, ups14TestElapsedTime }
STATUS current
DESCRIPTION
"The ups14BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 7 }
ups14BasicControlGroup OBJECT-GROUP
OBJECTS { ups14ShutdownType, ups14ShutdownAfterDelay,
ups14StartupAfterDelay, ups14RebootWithDuration }
STATUS current
DESCRIPTION
"The ups14BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups14BasicGroups 8 }
ups14FullGroups OBJECT IDENTIFIER ::= { ups14Groups 3 }
ups14FullIdentGroup OBJECT-GROUP
OBJECTS { ups14IdentManufacturer, ups14IdentModel,
ups14IdentUPSSoftwareVersion,
ups14IdentAgentSoftwareVersion, ups14IdentName,
ups14IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups14FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups14FullGroups 1 }
ups14FullBatteryGroup OBJECT-GROUP
OBJECTS { ups14BatteryStatus, ups14SecondsOnBattery,
ups14EstimatedMinutesRemaining,
ups14EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups14FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups14FullGroups 2 }
ups14FullInputGroup OBJECT-GROUP
OBJECTS { ups14InputLineBads, ups14InputNumLines,
ups14InputFrequency, ups14InputVoltage }
STATUS current
DESCRIPTION
"The ups14FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups14FullGroups 3 }
ups14FullOutputGroup OBJECT-GROUP
OBJECTS { ups14OutputSource, ups14OutputFrequency,
ups14OutputNumLines, ups14OutputVoltage,
ups14OutputCurrent, ups14OutputPower,
ups14OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups14FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups14FullGroups 4 }
ups14FullBypassGroup OBJECT-GROUP
OBJECTS { ups14BypassFrequency, ups14BypassNumLines,
ups14BypassVoltage }
STATUS current
DESCRIPTION
"The ups14FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups14FullGroups 5 }
ups14FullAlarmGroup OBJECT-GROUP
OBJECTS { ups14AlarmsPresent, ups14AlarmDescr, ups14AlarmTime }
STATUS current
DESCRIPTION
"The ups14FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups14FullGroups 6 }
ups14FullTestGroup OBJECT-GROUP
OBJECTS { ups14TestId, ups14TestSpinLock,
ups14TestResultsSummary, ups14TestResultsDetail,
ups14TestStartTime, ups14TestElapsedTime }
STATUS current
DESCRIPTION
"The ups14FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups14FullGroups 7 }
ups14FullControlGroup OBJECT-GROUP
OBJECTS { ups14ShutdownType, ups14ShutdownAfterDelay,
ups14StartupAfterDelay, ups14RebootWithDuration }
STATUS current
DESCRIPTION
"The ups14FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups14FullGroups 8 }
--*******************************************************************
--
-- Module 15 data
--
upsModule15 OBJECT IDENTIFIER ::= { upsModular 16 }
ups15Objects OBJECT IDENTIFIER ::= { upsModule15 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups15IdentName and
-- ups15IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups15Ident OBJECT IDENTIFIER ::= { ups15Objects 1 }
ups15IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups15Ident 1 }
ups15IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups15Ident 2 }
ups15IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups15IdentAgentSoftwareVersion in some implementations."
::= { ups15Ident 3 }
ups15IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups15IdentUPSSoftwareVersion in some implementations."
::= { ups15Ident 4 }
ups15IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups15Ident 5 }
ups15IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups15Ident 6 }
--
-- Battery Group
--
ups15Battery OBJECT IDENTIFIER ::= { ups15Objects 2 }
ups15BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups15ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups15ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups15Battery 1 }
ups15SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups15Battery 2 }
ups15EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups15Battery 3 }
ups15EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups15Battery 4 }
ups15BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups15Battery 5 }
ups15BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups15Battery 6 }
ups15BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups15Battery 7 }
--
-- Input Group
--
ups15Input OBJECT IDENTIFIER ::= { ups15Objects 3 }
ups15InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups15Input 1 }
ups15InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups15Input 2 }
ups15InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups15InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups15InputNumLines."
::= { ups15Input 3 }
ups15InputEntry OBJECT-TYPE
SYNTAX Ups15InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups15InputLineIndex }
::= { ups15InputTable 1 }
Ups15InputEntry ::= SEQUENCE {
ups15InputLineIndex PositiveInteger,
ups15InputFrequency NonNegativeInteger,
ups15InputVoltage NonNegativeInteger,
ups15InputCurrent NonNegativeInteger,
ups15InputTruePower NonNegativeInteger
}
ups15InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups15InputEntry 1 }
ups15InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups15InputEntry 2 }
ups15InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups15InputEntry 3 }
ups15InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups15InputEntry 4 }
ups15InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups15InputEntry 5 }
--
-- The Output group.
--
ups15Output OBJECT IDENTIFIER ::= { ups15Objects 4 }
ups15OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups15Output 1 }
ups15OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups15Output 2 }
ups15OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups15Output 3 }
ups15OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups15OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups15OutputNumLines."
::= { ups15Output 4 }
ups15OutputEntry OBJECT-TYPE
SYNTAX Ups15OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups15OutputLineIndex }
::= { ups15OutputTable 1 }
Ups15OutputEntry ::= SEQUENCE {
ups15OutputLineIndex PositiveInteger,
ups15OutputVoltage NonNegativeInteger,
ups15OutputCurrent NonNegativeInteger,
ups15OutputPower NonNegativeInteger,
ups15OutputPercentLoad INTEGER
}
ups15OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups15OutputEntry 1 }
ups15OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups15OutputEntry 2 }
ups15OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups15OutputEntry 3 }
ups15OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups15OutputEntry 4 }
ups15OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups15OutputEntry 5 }
--
-- The Bypass group.
--
ups15Bypass OBJECT IDENTIFIER ::= { ups15Objects 5 }
ups15BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups15Bypass 1 }
ups15BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups15Bypass 2 }
ups15BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups15BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups15BypassNumLines."
::= { ups15Bypass 3 }
ups15BypassEntry OBJECT-TYPE
SYNTAX Ups15BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups15BypassLineIndex }
::= { ups15BypassTable 1 }
Ups15BypassEntry ::= SEQUENCE {
ups15BypassLineIndex PositiveInteger,
ups15BypassVoltage NonNegativeInteger,
ups15BypassCurrent NonNegativeInteger,
ups15BypassPower NonNegativeInteger
}
ups15BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups15BypassEntry 1 }
ups15BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups15BypassEntry 2 }
ups15BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups15BypassEntry 3 }
ups15BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups15BypassEntry 4 }
--
-- The Alarm group.
--
ups15Alarm OBJECT IDENTIFIER ::= { ups15Objects 6 }
ups15AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups15Alarm 1 }
ups15AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups15AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups15AlarmId equal to 1, and increments the value of
ups15AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups15AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups15AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups15AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups15AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups15AlarmsPresent."
::= { ups15Alarm 2 }
ups15AlarmEntry OBJECT-TYPE
SYNTAX Ups15AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups15AlarmId }
::= { ups15AlarmTable 1 }
Ups15AlarmEntry ::= SEQUENCE {
ups15AlarmId PositiveInteger,
ups15AlarmDescr AutonomousType,
ups15AlarmTime TimeStamp
}
ups15AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups15AlarmEntry 1 }
ups15AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups15AlarmEntry 2 }
ups15AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups15AlarmTime shall equal
0."
::= { ups15AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups15WellKnownAlarms OBJECT IDENTIFIER ::= { ups15Alarm 3 }
ups15AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups15WellKnownAlarms 1 }
ups15AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups15WellKnownAlarms 2 }
ups15AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups15ConfigLowBattTime."
::= { ups15WellKnownAlarms 3 }
ups15AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups15WellKnownAlarms 4 }
ups15AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups15WellKnownAlarms 5 }
ups15AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups15WellKnownAlarms 6 }
ups15AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups15WellKnownAlarms 7 }
ups15AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups15WellKnownAlarms 8 }
ups15AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups15WellKnownAlarms 9 }
ups15AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups15WellKnownAlarms 10 }
ups15AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups15WellKnownAlarms 11 }
ups15AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups15WellKnownAlarms 12 }
ups15AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups15WellKnownAlarms 13 }
ups15AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups15WellKnownAlarms 14 }
ups15AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups15WellKnownAlarms 15 }
ups15AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups15WellKnownAlarms 16 }
ups15AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups15WellKnownAlarms 17 }
ups15AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups15WellKnownAlarms 18 }
ups15AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups15WellKnownAlarms 19 }
ups15AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups15WellKnownAlarms 20 }
ups15AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups15WellKnownAlarms 21 }
ups15AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups15ShutdownAfterDelay countdown is underway."
::= { ups15WellKnownAlarms 22 }
ups15AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups15WellKnownAlarms 23 }
ups15AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups15WellKnownAlarms 24 }
--
-- The Test Group
--
ups15Test OBJECT IDENTIFIER ::= { ups15Objects 7 }
ups15TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups15TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups15TestResultsSummary. Tests in progress may be
aborted by setting the ups15TestId variable to
ups15TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups15TestNoTestsInitiated is returned."
::= { ups15Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups15TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups15TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups15TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups15TestResultsSummary */
get (upsTestSpinLock, ups15TestResultsSummary,
ups15TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups15TestResultsSummary,
ups15TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups15TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups15TestSpinLock at agent
initialization shall
be 1."
::= { ups15Test 2 }
ups15TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups15TestId to ups15TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups15Test 3 }
ups15TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups15TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups15Test 4 }
ups15TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups15TestResultsSummary is noTestsInitiated(6),
ups15TestStartTime has the value 0."
::= { ups15Test 5 }
ups15TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups15TestResultsSummary is noTestsInitiated(6),
ups15TestElapsedTime has the value 0."
::= { ups15Test 6 }
--
-- Well known tests.
--
ups15WellKnownTests OBJECT IDENTIFIER ::= { ups15Test 7 }
ups15TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups15WellKnownTests 1 }
ups15TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups15WellKnownTests 2 }
ups15TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups15WellKnownTests 3 }
ups15TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups15WellKnownTests 4 }
ups15TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups15WellKnownTests 5 }
--
-- The Control group.
--
ups15Control OBJECT IDENTIFIER ::= { ups15Objects 8 }
ups15ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups15ShutdownAfterDelay and ups15RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups15Control 1 }
ups15ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups15ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups15ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups15ShutdownType =
output and the output is already off. When read,
ups15ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups15ShutdownAfterDelay already in effect."
::= { ups15Control 2 }
ups15StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups15StartupAfterDelay
countdown or ups15RebootWithDuration countdown in
progress. When read, ups15StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups15Control 3 }
ups15RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups15ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups15RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups15Control 4 }
--
-- notifications, i.e., traps
--
ups15Traps OBJECT IDENTIFIER ::= { upsModule15 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups15TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups15EstimatedMinutesRemaining, ups15SecondsOnBattery,
ups15ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups15Traps 1 }
ups15TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups15TestId, ups15TestSpinLock,
ups15TestResultsSummary, ups15TestResultsDetail,
ups15TestStartTime, ups15TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups15Traps 2 }
ups15TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups15AlarmId, ups15AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups15AlarmOnBattery and
ups15AlarmTestInProgress."
::= { ups15Traps 3 }
ups15TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups15AlarmId, ups15AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups15AlarmTestInProgress."
::= { ups15Traps 4 }
--
-- conformance information
--
ups15Conformance OBJECT IDENTIFIER ::= { upsModule15 3 }
ups15Compliances OBJECT IDENTIFIER ::= { ups15Conformance 1 }
--
-- compliance statements
--
ups15SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups15SubsetIdentGroup,
ups15SubsetBatteryGroup, ups15SubsetInputGroup,
ups15SubsetOutputGroup, ups15SubsetAlarmGroup,
ups15SubsetControlGroup }
OBJECT ups15BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups15AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups15AlarmOnBattery, ups15AlarmLowBattery,
ups15AlarmInputBad, ups15AlarmUpsOutputOff,
ups15AlarmUpsSystemOff, and ups15AlarmTestInProgress."
OBJECT ups15OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups15ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups15Compliances 1 }
ups15BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups15BasicIdentGroup,
ups15BasicBatteryGroup, ups15BasicInputGroup,
ups15BasicOutputGroup, ups15BasicAlarmGroup,
ups15BasicTestGroup, ups15BasicControlGroup }
OBJECT ups15AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups15AlarmOnBattery, ups15AlarmLowBattery,
ups15AlarmDepletedBattery, ups15AlarmTempBad,
ups15AlarmInputBad, ups15AlarmOutputOverload,
ups15AlarmOnBypass, ups15AlarmBypassBad,
ups15AlarmOutputOffAsRequested,
ups15AlarmUpsOffAsRequested, ups15AlarmUpsOutputOff,
ups15AlarmUpsSystemOff, ups15AlarmGeneralFault,
ups15AlarmDiagnosticTestFailed,
ups15AlarmCommunicationsLost, ups15AlarmShutdownPending,
and ups15AlarmTestInProgress."
OBJECT ups15TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups15TestNoTestsInitiated."
OBJECT ups15OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups15BasicBypassGroup
DESCRIPTION
"The ups15BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups15ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups15Compliances 2 }
ups15FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups15FullIdentGroup, ups15FullBatteryGroup,
ups15FullInputGroup, ups15FullOutputGroup,
ups15FullAlarmGroup, ups15FullTestGroup,
ups15FullControlGroup }
OBJECT ups15AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups15AlarmBatteryBad, ups15AlarmOnBattery,
ups15AlarmLowBattery, ups15AlarmDepletedBattery,
ups15AlarmTempBad, ups15AlarmInputBad, ups15AlarmOnBypass,
ups15AlarmBypassBad, ups15AlarmOutputOffAsRequested,
ups15AlarmUpsOffAsRequested, ups15AlarmUpsOutputOff,
ups15AlarmUpsSystemOff, ups15AlarmGeneralFault,
ups15AlarmDiagnosticTestFailed,
ups15AlarmCommunicationsLost, ups15AlarmShutdownPending,
and ups15AlarmTestInProgress."
OBJECT ups15TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups15TestNoTestsInitiated,
ups15TestGeneralSystemsTest, and
ups15TestQuickBatteryTest."
OBJECT ups15OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups15FullBypassGroup
DESCRIPTION
"The ups15FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups15ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups15Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups15Groups OBJECT IDENTIFIER ::= { ups15Conformance 2 }
ups15SubsetGroups OBJECT IDENTIFIER ::= { ups15Groups 1 }
ups15SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups15IdentManufacturer, ups15IdentModel,
ups15IdentAgentSoftwareVersion, ups15IdentName,
ups15IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups15SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups15SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups15SubsetGroups 1 }
ups15SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups15BatteryStatus, ups15SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups15SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups15SubsetGroups 2 }
ups15SubsetInputGroup OBJECT-GROUP
OBJECTS { ups15InputLineBads }
STATUS current
DESCRIPTION
"The ups15SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups15SubsetGroups 3 }
ups15SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups15OutputSource }
STATUS current
DESCRIPTION
"The ups15SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups15SubsetGroups 4 }
-- { ups15SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups15SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups15AlarmsPresent, ups15AlarmDescr, ups15AlarmTime }
STATUS current
DESCRIPTION
"The ups15SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups15SubsetGroups 6 }
-- { ups15SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups15SubsetControlGroup OBJECT-GROUP
OBJECTS { ups15ShutdownType, ups15ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups15SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups15SubsetGroups 8 }
ups15BasicGroups OBJECT IDENTIFIER ::= { ups15Groups 2 }
ups15BasicIdentGroup OBJECT-GROUP
OBJECTS { ups15IdentManufacturer, ups15IdentModel,
ups15IdentUPSSoftwareVersion,
ups15IdentAgentSoftwareVersion, ups15IdentName }
STATUS current
DESCRIPTION
"The ups15BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 1 }
ups15BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups15BatteryStatus, ups15SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups15BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 2 }
ups15BasicInputGroup OBJECT-GROUP
OBJECTS { ups15InputLineBads, ups15InputNumLines,
ups15InputFrequency, ups15InputVoltage }
STATUS current
DESCRIPTION
"The ups15BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 3 }
ups15BasicOutputGroup OBJECT-GROUP
OBJECTS { ups15OutputSource, ups15OutputFrequency,
ups15OutputNumLines, ups15OutputVoltage }
STATUS current
DESCRIPTION
"The ups15BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 4 }
ups15BasicBypassGroup OBJECT-GROUP
OBJECTS { ups15BypassFrequency, ups15BypassNumLines,
ups15BypassVoltage }
STATUS current
DESCRIPTION
"The ups15BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 5 }
ups15BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups15AlarmsPresent, ups15AlarmDescr, ups15AlarmTime }
STATUS current
DESCRIPTION
"The ups15BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 6 }
ups15BasicTestGroup OBJECT-GROUP
OBJECTS { ups15TestId, ups15TestSpinLock,
ups15TestResultsSummary, ups15TestResultsDetail,
ups15TestStartTime, ups15TestElapsedTime }
STATUS current
DESCRIPTION
"The ups15BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 7 }
ups15BasicControlGroup OBJECT-GROUP
OBJECTS { ups15ShutdownType, ups15ShutdownAfterDelay,
ups15StartupAfterDelay, ups15RebootWithDuration }
STATUS current
DESCRIPTION
"The ups15BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups15BasicGroups 8 }
ups15FullGroups OBJECT IDENTIFIER ::= { ups15Groups 3 }
ups15FullIdentGroup OBJECT-GROUP
OBJECTS { ups15IdentManufacturer, ups15IdentModel,
ups15IdentUPSSoftwareVersion,
ups15IdentAgentSoftwareVersion, ups15IdentName,
ups15IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups15FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups15FullGroups 1 }
ups15FullBatteryGroup OBJECT-GROUP
OBJECTS { ups15BatteryStatus, ups15SecondsOnBattery,
ups15EstimatedMinutesRemaining,
ups15EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups15FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups15FullGroups 2 }
ups15FullInputGroup OBJECT-GROUP
OBJECTS { ups15InputLineBads, ups15InputNumLines,
ups15InputFrequency, ups15InputVoltage }
STATUS current
DESCRIPTION
"The ups15FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups15FullGroups 3 }
ups15FullOutputGroup OBJECT-GROUP
OBJECTS { ups15OutputSource, ups15OutputFrequency,
ups15OutputNumLines, ups15OutputVoltage,
ups15OutputCurrent, ups15OutputPower,
ups15OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups15FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups15FullGroups 4 }
ups15FullBypassGroup OBJECT-GROUP
OBJECTS { ups15BypassFrequency, ups15BypassNumLines,
ups15BypassVoltage }
STATUS current
DESCRIPTION
"The ups15FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups15FullGroups 5 }
ups15FullAlarmGroup OBJECT-GROUP
OBJECTS { ups15AlarmsPresent, ups15AlarmDescr, ups15AlarmTime }
STATUS current
DESCRIPTION
"The ups15FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups15FullGroups 6 }
ups15FullTestGroup OBJECT-GROUP
OBJECTS { ups15TestId, ups15TestSpinLock,
ups15TestResultsSummary, ups15TestResultsDetail,
ups15TestStartTime, ups15TestElapsedTime }
STATUS current
DESCRIPTION
"The ups15FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups15FullGroups 7 }
ups15FullControlGroup OBJECT-GROUP
OBJECTS { ups15ShutdownType, ups15ShutdownAfterDelay,
ups15StartupAfterDelay, ups15RebootWithDuration }
STATUS current
DESCRIPTION
"The ups15FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups15FullGroups 8 }
--*******************************************************************
--
-- Module 16 data
--
upsModule16 OBJECT IDENTIFIER ::= { upsModular 17 }
ups16Objects OBJECT IDENTIFIER ::= { upsModule16 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups16IdentName and
-- ups16IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups16Ident OBJECT IDENTIFIER ::= { ups16Objects 1 }
ups16IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups16Ident 1 }
ups16IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups16Ident 2 }
ups16IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups16IdentAgentSoftwareVersion in some implementations."
::= { ups16Ident 3 }
ups16IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups16IdentUPSSoftwareVersion in some implementations."
::= { ups16Ident 4 }
ups16IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups16Ident 5 }
ups16IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups16Ident 6 }
--
-- Battery Group
--
ups16Battery OBJECT IDENTIFIER ::= { ups16Objects 2 }
ups16BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups16ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups16ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups16Battery 1 }
ups16SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups16Battery 2 }
ups16EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups16Battery 3 }
ups16EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups16Battery 4 }
ups16BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups16Battery 5 }
ups16BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups16Battery 6 }
ups16BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups16Battery 7 }
--
-- Input Group
--
ups16Input OBJECT IDENTIFIER ::= { ups16Objects 3 }
ups16InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups16Input 1 }
ups16InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups16Input 2 }
ups16InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups16InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups16InputNumLines."
::= { ups16Input 3 }
ups16InputEntry OBJECT-TYPE
SYNTAX Ups16InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups16InputLineIndex }
::= { ups16InputTable 1 }
Ups16InputEntry ::= SEQUENCE {
ups16InputLineIndex PositiveInteger,
ups16InputFrequency NonNegativeInteger,
ups16InputVoltage NonNegativeInteger,
ups16InputCurrent NonNegativeInteger,
ups16InputTruePower NonNegativeInteger
}
ups16InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups16InputEntry 1 }
ups16InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups16InputEntry 2 }
ups16InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups16InputEntry 3 }
ups16InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups16InputEntry 4 }
ups16InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups16InputEntry 5 }
--
-- The Output group.
--
ups16Output OBJECT IDENTIFIER ::= { ups16Objects 4 }
ups16OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups16Output 1 }
ups16OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups16Output 2 }
ups16OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups16Output 3 }
ups16OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups16OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups16OutputNumLines."
::= { ups16Output 4 }
ups16OutputEntry OBJECT-TYPE
SYNTAX Ups16OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups16OutputLineIndex }
::= { ups16OutputTable 1 }
Ups16OutputEntry ::= SEQUENCE {
ups16OutputLineIndex PositiveInteger,
ups16OutputVoltage NonNegativeInteger,
ups16OutputCurrent NonNegativeInteger,
ups16OutputPower NonNegativeInteger,
ups16OutputPercentLoad INTEGER
}
ups16OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups16OutputEntry 1 }
ups16OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups16OutputEntry 2 }
ups16OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups16OutputEntry 3 }
ups16OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups16OutputEntry 4 }
ups16OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups16OutputEntry 5 }
--
-- The Bypass group.
--
ups16Bypass OBJECT IDENTIFIER ::= { ups16Objects 5 }
ups16BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups16Bypass 1 }
ups16BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups16Bypass 2 }
ups16BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups16BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups16BypassNumLines."
::= { ups16Bypass 3 }
ups16BypassEntry OBJECT-TYPE
SYNTAX Ups16BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups16BypassLineIndex }
::= { ups16BypassTable 1 }
Ups16BypassEntry ::= SEQUENCE {
ups16BypassLineIndex PositiveInteger,
ups16BypassVoltage NonNegativeInteger,
ups16BypassCurrent NonNegativeInteger,
ups16BypassPower NonNegativeInteger
}
ups16BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups16BypassEntry 1 }
ups16BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups16BypassEntry 2 }
ups16BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups16BypassEntry 3 }
ups16BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups16BypassEntry 4 }
--
-- The Alarm group.
--
ups16Alarm OBJECT IDENTIFIER ::= { ups16Objects 6 }
ups16AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups16Alarm 1 }
ups16AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups16AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups16AlarmId equal to 1, and increments the value of
ups16AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups16AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups16AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups16AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups16AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups16AlarmsPresent."
::= { ups16Alarm 2 }
ups16AlarmEntry OBJECT-TYPE
SYNTAX Ups16AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups16AlarmId }
::= { ups16AlarmTable 1 }
Ups16AlarmEntry ::= SEQUENCE {
ups16AlarmId PositiveInteger,
ups16AlarmDescr AutonomousType,
ups16AlarmTime TimeStamp
}
ups16AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups16AlarmEntry 1 }
ups16AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups16AlarmEntry 2 }
ups16AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups16AlarmTime shall equal
0."
::= { ups16AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups16WellKnownAlarms OBJECT IDENTIFIER ::= { ups16Alarm 3 }
ups16AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups16WellKnownAlarms 1 }
ups16AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups16WellKnownAlarms 2 }
ups16AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups16ConfigLowBattTime."
::= { ups16WellKnownAlarms 3 }
ups16AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups16WellKnownAlarms 4 }
ups16AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups16WellKnownAlarms 5 }
ups16AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups16WellKnownAlarms 6 }
ups16AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups16WellKnownAlarms 7 }
ups16AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups16WellKnownAlarms 8 }
ups16AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups16WellKnownAlarms 9 }
ups16AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups16WellKnownAlarms 10 }
ups16AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups16WellKnownAlarms 11 }
ups16AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups16WellKnownAlarms 12 }
ups16AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups16WellKnownAlarms 13 }
ups16AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups16WellKnownAlarms 14 }
ups16AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups16WellKnownAlarms 15 }
ups16AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups16WellKnownAlarms 16 }
ups16AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups16WellKnownAlarms 17 }
ups16AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups16WellKnownAlarms 18 }
ups16AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups16WellKnownAlarms 19 }
ups16AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups16WellKnownAlarms 20 }
ups16AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups16WellKnownAlarms 21 }
ups16AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups16ShutdownAfterDelay countdown is underway."
::= { ups16WellKnownAlarms 22 }
ups16AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups16WellKnownAlarms 23 }
ups16AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups16WellKnownAlarms 24 }
--
-- The Test Group
--
ups16Test OBJECT IDENTIFIER ::= { ups16Objects 7 }
ups16TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups16TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups16TestResultsSummary. Tests in progress may be
aborted by setting the ups16TestId variable to
ups16TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups16TestNoTestsInitiated is returned."
::= { ups16Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups16TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups16TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups16TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups16TestResultsSummary */
get (upsTestSpinLock, ups16TestResultsSummary,
ups16TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups16TestResultsSummary,
ups16TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups16TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups16TestSpinLock at agent
initialization shall
be 1."
::= { ups16Test 2 }
ups16TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups16TestId to ups16TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups16Test 3 }
ups16TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups16TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups16Test 4 }
ups16TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups16TestResultsSummary is noTestsInitiated(6),
ups16TestStartTime has the value 0."
::= { ups16Test 5 }
ups16TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups16TestResultsSummary is noTestsInitiated(6),
ups16TestElapsedTime has the value 0."
::= { ups16Test 6 }
--
-- Well known tests.
--
ups16WellKnownTests OBJECT IDENTIFIER ::= { ups16Test 7 }
ups16TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups16WellKnownTests 1 }
ups16TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups16WellKnownTests 2 }
ups16TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups16WellKnownTests 3 }
ups16TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups16WellKnownTests 4 }
ups16TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups16WellKnownTests 5 }
--
-- The Control group.
--
ups16Control OBJECT IDENTIFIER ::= { ups16Objects 8 }
ups16ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups16ShutdownAfterDelay and ups16RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups16Control 1 }
ups16ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups16ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups16ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups16ShutdownType =
output and the output is already off. When read,
ups16ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups16ShutdownAfterDelay already in effect."
::= { ups16Control 2 }
ups16StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups16StartupAfterDelay
countdown or ups16RebootWithDuration countdown in
progress. When read, ups16StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups16Control 3 }
ups16RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups16ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups16RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups16Control 4 }
--
-- notifications, i.e., traps
--
ups16Traps OBJECT IDENTIFIER ::= { upsModule16 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups16TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups16EstimatedMinutesRemaining, ups16SecondsOnBattery,
ups16ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups16Traps 1 }
ups16TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups16TestId, ups16TestSpinLock,
ups16TestResultsSummary, ups16TestResultsDetail,
ups16TestStartTime, ups16TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups16Traps 2 }
ups16TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups16AlarmId, ups16AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups16AlarmOnBattery and
ups16AlarmTestInProgress."
::= { ups16Traps 3 }
ups16TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups16AlarmId, ups16AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups16AlarmTestInProgress."
::= { ups16Traps 4 }
--
-- conformance information
--
ups16Conformance OBJECT IDENTIFIER ::= { upsModule16 3 }
ups16Compliances OBJECT IDENTIFIER ::= { ups16Conformance 1 }
--
-- compliance statements
--
ups16SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups16SubsetIdentGroup,
ups16SubsetBatteryGroup, ups16SubsetInputGroup,
ups16SubsetOutputGroup, ups16SubsetAlarmGroup,
ups16SubsetControlGroup }
OBJECT ups16BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups16AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups16AlarmOnBattery, ups16AlarmLowBattery,
ups16AlarmInputBad, ups16AlarmUpsOutputOff,
ups16AlarmUpsSystemOff, and ups16AlarmTestInProgress."
OBJECT ups16OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups16ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups16Compliances 1 }
ups16BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups16BasicIdentGroup,
ups16BasicBatteryGroup, ups16BasicInputGroup,
ups16BasicOutputGroup, ups16BasicAlarmGroup,
ups16BasicTestGroup, ups16BasicControlGroup }
OBJECT ups16AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups16AlarmOnBattery, ups16AlarmLowBattery,
ups16AlarmDepletedBattery, ups16AlarmTempBad,
ups16AlarmInputBad, ups16AlarmOutputOverload,
ups16AlarmOnBypass, ups16AlarmBypassBad,
ups16AlarmOutputOffAsRequested,
ups16AlarmUpsOffAsRequested, ups16AlarmUpsOutputOff,
ups16AlarmUpsSystemOff, ups16AlarmGeneralFault,
ups16AlarmDiagnosticTestFailed,
ups16AlarmCommunicationsLost, ups16AlarmShutdownPending,
and ups16AlarmTestInProgress."
OBJECT ups16TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups16TestNoTestsInitiated."
OBJECT ups16OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups16BasicBypassGroup
DESCRIPTION
"The ups16BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups16ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups16Compliances 2 }
ups16FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups16FullIdentGroup, ups16FullBatteryGroup,
ups16FullInputGroup, ups16FullOutputGroup,
ups16FullAlarmGroup, ups16FullTestGroup,
ups16FullControlGroup }
OBJECT ups16AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups16AlarmBatteryBad, ups16AlarmOnBattery,
ups16AlarmLowBattery, ups16AlarmDepletedBattery,
ups16AlarmTempBad, ups16AlarmInputBad, ups16AlarmOnBypass,
ups16AlarmBypassBad, ups16AlarmOutputOffAsRequested,
ups16AlarmUpsOffAsRequested, ups16AlarmUpsOutputOff,
ups16AlarmUpsSystemOff, ups16AlarmGeneralFault,
ups16AlarmDiagnosticTestFailed,
ups16AlarmCommunicationsLost, ups16AlarmShutdownPending,
and ups16AlarmTestInProgress."
OBJECT ups16TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups16TestNoTestsInitiated,
ups16TestGeneralSystemsTest, and
ups16TestQuickBatteryTest."
OBJECT ups16OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups16FullBypassGroup
DESCRIPTION
"The ups16FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups16ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups16Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups16Groups OBJECT IDENTIFIER ::= { ups16Conformance 2 }
ups16SubsetGroups OBJECT IDENTIFIER ::= { ups16Groups 1 }
ups16SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups16IdentManufacturer, ups16IdentModel,
ups16IdentAgentSoftwareVersion, ups16IdentName,
ups16IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups16SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups16SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups16SubsetGroups 1 }
ups16SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups16BatteryStatus, ups16SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups16SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups16SubsetGroups 2 }
ups16SubsetInputGroup OBJECT-GROUP
OBJECTS { ups16InputLineBads }
STATUS current
DESCRIPTION
"The ups16SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups16SubsetGroups 3 }
ups16SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups16OutputSource }
STATUS current
DESCRIPTION
"The ups16SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups16SubsetGroups 4 }
-- { ups16SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups16SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups16AlarmsPresent, ups16AlarmDescr, ups16AlarmTime }
STATUS current
DESCRIPTION
"The ups16SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups16SubsetGroups 6 }
-- { ups16SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups16SubsetControlGroup OBJECT-GROUP
OBJECTS { ups16ShutdownType, ups16ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups16SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups16SubsetGroups 8 }
ups16BasicGroups OBJECT IDENTIFIER ::= { ups16Groups 2 }
ups16BasicIdentGroup OBJECT-GROUP
OBJECTS { ups16IdentManufacturer, ups16IdentModel,
ups16IdentUPSSoftwareVersion,
ups16IdentAgentSoftwareVersion, ups16IdentName }
STATUS current
DESCRIPTION
"The ups16BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 1 }
ups16BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups16BatteryStatus, ups16SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups16BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 2 }
ups16BasicInputGroup OBJECT-GROUP
OBJECTS { ups16InputLineBads, ups16InputNumLines,
ups16InputFrequency, ups16InputVoltage }
STATUS current
DESCRIPTION
"The ups16BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 3 }
ups16BasicOutputGroup OBJECT-GROUP
OBJECTS { ups16OutputSource, ups16OutputFrequency,
ups16OutputNumLines, ups16OutputVoltage }
STATUS current
DESCRIPTION
"The ups16BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 4 }
ups16BasicBypassGroup OBJECT-GROUP
OBJECTS { ups16BypassFrequency, ups16BypassNumLines,
ups16BypassVoltage }
STATUS current
DESCRIPTION
"The ups16BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 5 }
ups16BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups16AlarmsPresent, ups16AlarmDescr, ups16AlarmTime }
STATUS current
DESCRIPTION
"The ups16BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 6 }
ups16BasicTestGroup OBJECT-GROUP
OBJECTS { ups16TestId, ups16TestSpinLock,
ups16TestResultsSummary, ups16TestResultsDetail,
ups16TestStartTime, ups16TestElapsedTime }
STATUS current
DESCRIPTION
"The ups16BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 7 }
ups16BasicControlGroup OBJECT-GROUP
OBJECTS { ups16ShutdownType, ups16ShutdownAfterDelay,
ups16StartupAfterDelay, ups16RebootWithDuration }
STATUS current
DESCRIPTION
"The ups16BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups16BasicGroups 8 }
ups16FullGroups OBJECT IDENTIFIER ::= { ups16Groups 3 }
ups16FullIdentGroup OBJECT-GROUP
OBJECTS { ups16IdentManufacturer, ups16IdentModel,
ups16IdentUPSSoftwareVersion,
ups16IdentAgentSoftwareVersion, ups16IdentName,
ups16IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups16FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups16FullGroups 1 }
ups16FullBatteryGroup OBJECT-GROUP
OBJECTS { ups16BatteryStatus, ups16SecondsOnBattery,
ups16EstimatedMinutesRemaining,
ups16EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups16FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups16FullGroups 2 }
ups16FullInputGroup OBJECT-GROUP
OBJECTS { ups16InputLineBads, ups16InputNumLines,
ups16InputFrequency, ups16InputVoltage }
STATUS current
DESCRIPTION
"The ups16FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups16FullGroups 3 }
ups16FullOutputGroup OBJECT-GROUP
OBJECTS { ups16OutputSource, ups16OutputFrequency,
ups16OutputNumLines, ups16OutputVoltage,
ups16OutputCurrent, ups16OutputPower,
ups16OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups16FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups16FullGroups 4 }
ups16FullBypassGroup OBJECT-GROUP
OBJECTS { ups16BypassFrequency, ups16BypassNumLines,
ups16BypassVoltage }
STATUS current
DESCRIPTION
"The ups16FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups16FullGroups 5 }
ups16FullAlarmGroup OBJECT-GROUP
OBJECTS { ups16AlarmsPresent, ups16AlarmDescr, ups16AlarmTime }
STATUS current
DESCRIPTION
"The ups16FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups16FullGroups 6 }
ups16FullTestGroup OBJECT-GROUP
OBJECTS { ups16TestId, ups16TestSpinLock,
ups16TestResultsSummary, ups16TestResultsDetail,
ups16TestStartTime, ups16TestElapsedTime }
STATUS current
DESCRIPTION
"The ups16FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups16FullGroups 7 }
ups16FullControlGroup OBJECT-GROUP
OBJECTS { ups16ShutdownType, ups16ShutdownAfterDelay,
ups16StartupAfterDelay, ups16RebootWithDuration }
STATUS current
DESCRIPTION
"The ups16FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups16FullGroups 8 }
--*******************************************************************
--
-- Module 17 data
--
upsModule17 OBJECT IDENTIFIER ::= { upsModular 18 }
ups17Objects OBJECT IDENTIFIER ::= { upsModule17 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups17IdentName and
-- ups17IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups17Ident OBJECT IDENTIFIER ::= { ups17Objects 1 }
ups17IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups17Ident 1 }
ups17IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups17Ident 2 }
ups17IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups17IdentAgentSoftwareVersion in some implementations."
::= { ups17Ident 3 }
ups17IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups17IdentUPSSoftwareVersion in some implementations."
::= { ups17Ident 4 }
ups17IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups17Ident 5 }
ups17IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups17Ident 6 }
--
-- Battery Group
--
ups17Battery OBJECT IDENTIFIER ::= { ups17Objects 2 }
ups17BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups17ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups17ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups17Battery 1 }
ups17SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups17Battery 2 }
ups17EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups17Battery 3 }
ups17EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups17Battery 4 }
ups17BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups17Battery 5 }
ups17BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups17Battery 6 }
ups17BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups17Battery 7 }
--
-- Input Group
--
ups17Input OBJECT IDENTIFIER ::= { ups17Objects 3 }
ups17InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups17Input 1 }
ups17InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups17Input 2 }
ups17InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups17InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups17InputNumLines."
::= { ups17Input 3 }
ups17InputEntry OBJECT-TYPE
SYNTAX Ups17InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups17InputLineIndex }
::= { ups17InputTable 1 }
Ups17InputEntry ::= SEQUENCE {
ups17InputLineIndex PositiveInteger,
ups17InputFrequency NonNegativeInteger,
ups17InputVoltage NonNegativeInteger,
ups17InputCurrent NonNegativeInteger,
ups17InputTruePower NonNegativeInteger
}
ups17InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups17InputEntry 1 }
ups17InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups17InputEntry 2 }
ups17InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups17InputEntry 3 }
ups17InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups17InputEntry 4 }
ups17InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups17InputEntry 5 }
--
-- The Output group.
--
ups17Output OBJECT IDENTIFIER ::= { ups17Objects 4 }
ups17OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups17Output 1 }
ups17OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups17Output 2 }
ups17OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups17Output 3 }
ups17OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups17OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups17OutputNumLines."
::= { ups17Output 4 }
ups17OutputEntry OBJECT-TYPE
SYNTAX Ups17OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups17OutputLineIndex }
::= { ups17OutputTable 1 }
Ups17OutputEntry ::= SEQUENCE {
ups17OutputLineIndex PositiveInteger,
ups17OutputVoltage NonNegativeInteger,
ups17OutputCurrent NonNegativeInteger,
ups17OutputPower NonNegativeInteger,
ups17OutputPercentLoad INTEGER
}
ups17OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups17OutputEntry 1 }
ups17OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups17OutputEntry 2 }
ups17OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups17OutputEntry 3 }
ups17OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups17OutputEntry 4 }
ups17OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups17OutputEntry 5 }
--
-- The Bypass group.
--
ups17Bypass OBJECT IDENTIFIER ::= { ups17Objects 5 }
ups17BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups17Bypass 1 }
ups17BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups17Bypass 2 }
ups17BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups17BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups17BypassNumLines."
::= { ups17Bypass 3 }
ups17BypassEntry OBJECT-TYPE
SYNTAX Ups17BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups17BypassLineIndex }
::= { ups17BypassTable 1 }
Ups17BypassEntry ::= SEQUENCE {
ups17BypassLineIndex PositiveInteger,
ups17BypassVoltage NonNegativeInteger,
ups17BypassCurrent NonNegativeInteger,
ups17BypassPower NonNegativeInteger
}
ups17BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups17BypassEntry 1 }
ups17BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups17BypassEntry 2 }
ups17BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups17BypassEntry 3 }
ups17BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups17BypassEntry 4 }
--
-- The Alarm group.
--
ups17Alarm OBJECT IDENTIFIER ::= { ups17Objects 6 }
ups17AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups17Alarm 1 }
ups17AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups17AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups17AlarmId equal to 1, and increments the value of
ups17AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups17AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups17AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups17AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups17AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups17AlarmsPresent."
::= { ups17Alarm 2 }
ups17AlarmEntry OBJECT-TYPE
SYNTAX Ups17AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups17AlarmId }
::= { ups17AlarmTable 1 }
Ups17AlarmEntry ::= SEQUENCE {
ups17AlarmId PositiveInteger,
ups17AlarmDescr AutonomousType,
ups17AlarmTime TimeStamp
}
ups17AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups17AlarmEntry 1 }
ups17AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups17AlarmEntry 2 }
ups17AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups17AlarmTime shall equal
0."
::= { ups17AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups17WellKnownAlarms OBJECT IDENTIFIER ::= { ups17Alarm 3 }
ups17AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups17WellKnownAlarms 1 }
ups17AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups17WellKnownAlarms 2 }
ups17AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups17ConfigLowBattTime."
::= { ups17WellKnownAlarms 3 }
ups17AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups17WellKnownAlarms 4 }
ups17AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups17WellKnownAlarms 5 }
ups17AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups17WellKnownAlarms 6 }
ups17AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups17WellKnownAlarms 7 }
ups17AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups17WellKnownAlarms 8 }
ups17AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups17WellKnownAlarms 9 }
ups17AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups17WellKnownAlarms 10 }
ups17AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups17WellKnownAlarms 11 }
ups17AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups17WellKnownAlarms 12 }
ups17AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups17WellKnownAlarms 13 }
ups17AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups17WellKnownAlarms 14 }
ups17AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups17WellKnownAlarms 15 }
ups17AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups17WellKnownAlarms 16 }
ups17AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups17WellKnownAlarms 17 }
ups17AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups17WellKnownAlarms 18 }
ups17AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups17WellKnownAlarms 19 }
ups17AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups17WellKnownAlarms 20 }
ups17AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups17WellKnownAlarms 21 }
ups17AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups17ShutdownAfterDelay countdown is underway."
::= { ups17WellKnownAlarms 22 }
ups17AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups17WellKnownAlarms 23 }
ups17AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups17WellKnownAlarms 24 }
--
-- The Test Group
--
ups17Test OBJECT IDENTIFIER ::= { ups17Objects 7 }
ups17TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups17TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups17TestResultsSummary. Tests in progress may be
aborted by setting the ups17TestId variable to
ups17TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups17TestNoTestsInitiated is returned."
::= { ups17Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups17TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups17TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups17TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups17TestResultsSummary */
get (upsTestSpinLock, ups17TestResultsSummary,
ups17TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups17TestResultsSummary,
ups17TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups17TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups17TestSpinLock at agent
initialization shall
be 1."
::= { ups17Test 2 }
ups17TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups17TestId to ups17TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups17Test 3 }
ups17TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups17TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups17Test 4 }
ups17TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups17TestResultsSummary is noTestsInitiated(6),
ups17TestStartTime has the value 0."
::= { ups17Test 5 }
ups17TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups17TestResultsSummary is noTestsInitiated(6),
ups17TestElapsedTime has the value 0."
::= { ups17Test 6 }
--
-- Well known tests.
--
ups17WellKnownTests OBJECT IDENTIFIER ::= { ups17Test 7 }
ups17TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups17WellKnownTests 1 }
ups17TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups17WellKnownTests 2 }
ups17TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups17WellKnownTests 3 }
ups17TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups17WellKnownTests 4 }
ups17TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups17WellKnownTests 5 }
--
-- The Control group.
--
ups17Control OBJECT IDENTIFIER ::= { ups17Objects 8 }
ups17ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups17ShutdownAfterDelay and ups17RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups17Control 1 }
ups17ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups17ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups17ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups17ShutdownType =
output and the output is already off. When read,
ups17ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups17ShutdownAfterDelay already in effect."
::= { ups17Control 2 }
ups17StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups17StartupAfterDelay
countdown or ups17RebootWithDuration countdown in
progress. When read, ups17StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups17Control 3 }
ups17RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups17ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups17RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups17Control 4 }
--
-- notifications, i.e., traps
--
ups17Traps OBJECT IDENTIFIER ::= { upsModule17 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups17TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups17EstimatedMinutesRemaining, ups17SecondsOnBattery,
ups17ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups17Traps 1 }
ups17TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups17TestId, ups17TestSpinLock,
ups17TestResultsSummary, ups17TestResultsDetail,
ups17TestStartTime, ups17TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups17Traps 2 }
ups17TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups17AlarmId, ups17AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups17AlarmOnBattery and
ups17AlarmTestInProgress."
::= { ups17Traps 3 }
ups17TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups17AlarmId, ups17AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups17AlarmTestInProgress."
::= { ups17Traps 4 }
--
-- conformance information
--
ups17Conformance OBJECT IDENTIFIER ::= { upsModule17 3 }
ups17Compliances OBJECT IDENTIFIER ::= { ups17Conformance 1 }
--
-- compliance statements
--
ups17SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups17SubsetIdentGroup,
ups17SubsetBatteryGroup, ups17SubsetInputGroup,
ups17SubsetOutputGroup, ups17SubsetAlarmGroup,
ups17SubsetControlGroup }
OBJECT ups17BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups17AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups17AlarmOnBattery, ups17AlarmLowBattery,
ups17AlarmInputBad, ups17AlarmUpsOutputOff,
ups17AlarmUpsSystemOff, and ups17AlarmTestInProgress."
OBJECT ups17OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups17ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups17Compliances 1 }
ups17BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups17BasicIdentGroup,
ups17BasicBatteryGroup, ups17BasicInputGroup,
ups17BasicOutputGroup, ups17BasicAlarmGroup,
ups17BasicTestGroup, ups17BasicControlGroup }
OBJECT ups17AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups17AlarmOnBattery, ups17AlarmLowBattery,
ups17AlarmDepletedBattery, ups17AlarmTempBad,
ups17AlarmInputBad, ups17AlarmOutputOverload,
ups17AlarmOnBypass, ups17AlarmBypassBad,
ups17AlarmOutputOffAsRequested,
ups17AlarmUpsOffAsRequested, ups17AlarmUpsOutputOff,
ups17AlarmUpsSystemOff, ups17AlarmGeneralFault,
ups17AlarmDiagnosticTestFailed,
ups17AlarmCommunicationsLost, ups17AlarmShutdownPending,
and ups17AlarmTestInProgress."
OBJECT ups17TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups17TestNoTestsInitiated."
OBJECT ups17OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups17BasicBypassGroup
DESCRIPTION
"The ups17BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups17ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups17Compliances 2 }
ups17FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups17FullIdentGroup, ups17FullBatteryGroup,
ups17FullInputGroup, ups17FullOutputGroup,
ups17FullAlarmGroup, ups17FullTestGroup,
ups17FullControlGroup }
OBJECT ups17AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups17AlarmBatteryBad, ups17AlarmOnBattery,
ups17AlarmLowBattery, ups17AlarmDepletedBattery,
ups17AlarmTempBad, ups17AlarmInputBad, ups17AlarmOnBypass,
ups17AlarmBypassBad, ups17AlarmOutputOffAsRequested,
ups17AlarmUpsOffAsRequested, ups17AlarmUpsOutputOff,
ups17AlarmUpsSystemOff, ups17AlarmGeneralFault,
ups17AlarmDiagnosticTestFailed,
ups17AlarmCommunicationsLost, ups17AlarmShutdownPending,
and ups17AlarmTestInProgress."
OBJECT ups17TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups17TestNoTestsInitiated,
ups17TestGeneralSystemsTest, and
ups17TestQuickBatteryTest."
OBJECT ups17OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups17FullBypassGroup
DESCRIPTION
"The ups17FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups17ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups17Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups17Groups OBJECT IDENTIFIER ::= { ups17Conformance 2 }
ups17SubsetGroups OBJECT IDENTIFIER ::= { ups17Groups 1 }
ups17SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups17IdentManufacturer, ups17IdentModel,
ups17IdentAgentSoftwareVersion, ups17IdentName,
ups17IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups17SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups17SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups17SubsetGroups 1 }
ups17SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups17BatteryStatus, ups17SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups17SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups17SubsetGroups 2 }
ups17SubsetInputGroup OBJECT-GROUP
OBJECTS { ups17InputLineBads }
STATUS current
DESCRIPTION
"The ups17SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups17SubsetGroups 3 }
ups17SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups17OutputSource }
STATUS current
DESCRIPTION
"The ups17SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups17SubsetGroups 4 }
-- { ups17SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups17SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups17AlarmsPresent, ups17AlarmDescr, ups17AlarmTime }
STATUS current
DESCRIPTION
"The ups17SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups17SubsetGroups 6 }
-- { ups17SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups17SubsetControlGroup OBJECT-GROUP
OBJECTS { ups17ShutdownType, ups17ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups17SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups17SubsetGroups 8 }
ups17BasicGroups OBJECT IDENTIFIER ::= { ups17Groups 2 }
ups17BasicIdentGroup OBJECT-GROUP
OBJECTS { ups17IdentManufacturer, ups17IdentModel,
ups17IdentUPSSoftwareVersion,
ups17IdentAgentSoftwareVersion, ups17IdentName }
STATUS current
DESCRIPTION
"The ups17BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 1 }
ups17BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups17BatteryStatus, ups17SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups17BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 2 }
ups17BasicInputGroup OBJECT-GROUP
OBJECTS { ups17InputLineBads, ups17InputNumLines,
ups17InputFrequency, ups17InputVoltage }
STATUS current
DESCRIPTION
"The ups17BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 3 }
ups17BasicOutputGroup OBJECT-GROUP
OBJECTS { ups17OutputSource, ups17OutputFrequency,
ups17OutputNumLines, ups17OutputVoltage }
STATUS current
DESCRIPTION
"The ups17BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 4 }
ups17BasicBypassGroup OBJECT-GROUP
OBJECTS { ups17BypassFrequency, ups17BypassNumLines,
ups17BypassVoltage }
STATUS current
DESCRIPTION
"The ups17BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 5 }
ups17BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups17AlarmsPresent, ups17AlarmDescr, ups17AlarmTime }
STATUS current
DESCRIPTION
"The ups17BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 6 }
ups17BasicTestGroup OBJECT-GROUP
OBJECTS { ups17TestId, ups17TestSpinLock,
ups17TestResultsSummary, ups17TestResultsDetail,
ups17TestStartTime, ups17TestElapsedTime }
STATUS current
DESCRIPTION
"The ups17BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 7 }
ups17BasicControlGroup OBJECT-GROUP
OBJECTS { ups17ShutdownType, ups17ShutdownAfterDelay,
ups17StartupAfterDelay, ups17RebootWithDuration }
STATUS current
DESCRIPTION
"The ups17BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups17BasicGroups 8 }
ups17FullGroups OBJECT IDENTIFIER ::= { ups17Groups 3 }
ups17FullIdentGroup OBJECT-GROUP
OBJECTS { ups17IdentManufacturer, ups17IdentModel,
ups17IdentUPSSoftwareVersion,
ups17IdentAgentSoftwareVersion, ups17IdentName,
ups17IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups17FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups17FullGroups 1 }
ups17FullBatteryGroup OBJECT-GROUP
OBJECTS { ups17BatteryStatus, ups17SecondsOnBattery,
ups17EstimatedMinutesRemaining,
ups17EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups17FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups17FullGroups 2 }
ups17FullInputGroup OBJECT-GROUP
OBJECTS { ups17InputLineBads, ups17InputNumLines,
ups17InputFrequency, ups17InputVoltage }
STATUS current
DESCRIPTION
"The ups17FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups17FullGroups 3 }
ups17FullOutputGroup OBJECT-GROUP
OBJECTS { ups17OutputSource, ups17OutputFrequency,
ups17OutputNumLines, ups17OutputVoltage,
ups17OutputCurrent, ups17OutputPower,
ups17OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups17FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups17FullGroups 4 }
ups17FullBypassGroup OBJECT-GROUP
OBJECTS { ups17BypassFrequency, ups17BypassNumLines,
ups17BypassVoltage }
STATUS current
DESCRIPTION
"The ups17FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups17FullGroups 5 }
ups17FullAlarmGroup OBJECT-GROUP
OBJECTS { ups17AlarmsPresent, ups17AlarmDescr, ups17AlarmTime }
STATUS current
DESCRIPTION
"The ups17FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups17FullGroups 6 }
ups17FullTestGroup OBJECT-GROUP
OBJECTS { ups17TestId, ups17TestSpinLock,
ups17TestResultsSummary, ups17TestResultsDetail,
ups17TestStartTime, ups17TestElapsedTime }
STATUS current
DESCRIPTION
"The ups17FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups17FullGroups 7 }
ups17FullControlGroup OBJECT-GROUP
OBJECTS { ups17ShutdownType, ups17ShutdownAfterDelay,
ups17StartupAfterDelay, ups17RebootWithDuration }
STATUS current
DESCRIPTION
"The ups17FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups17FullGroups 8 }
--*******************************************************************
--
-- Module 18 data
--
upsModule18 OBJECT IDENTIFIER ::= { upsModular 19 }
ups18Objects OBJECT IDENTIFIER ::= { upsModule18 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups18IdentName and
-- ups18IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups18Ident OBJECT IDENTIFIER ::= { ups18Objects 1 }
ups18IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups18Ident 1 }
ups18IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups18Ident 2 }
ups18IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups18IdentAgentSoftwareVersion in some implementations."
::= { ups18Ident 3 }
ups18IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups18IdentUPSSoftwareVersion in some implementations."
::= { ups18Ident 4 }
ups18IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups18Ident 5 }
ups18IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups18Ident 6 }
--
-- Battery Group
--
ups18Battery OBJECT IDENTIFIER ::= { ups18Objects 2 }
ups18BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups18ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups18ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups18Battery 1 }
ups18SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups18Battery 2 }
ups18EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups18Battery 3 }
ups18EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups18Battery 4 }
ups18BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups18Battery 5 }
ups18BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups18Battery 6 }
ups18BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups18Battery 7 }
--
-- Input Group
--
ups18Input OBJECT IDENTIFIER ::= { ups18Objects 3 }
ups18InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups18Input 1 }
ups18InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups18Input 2 }
ups18InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups18InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups18InputNumLines."
::= { ups18Input 3 }
ups18InputEntry OBJECT-TYPE
SYNTAX Ups18InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups18InputLineIndex }
::= { ups18InputTable 1 }
Ups18InputEntry ::= SEQUENCE {
ups18InputLineIndex PositiveInteger,
ups18InputFrequency NonNegativeInteger,
ups18InputVoltage NonNegativeInteger,
ups18InputCurrent NonNegativeInteger,
ups18InputTruePower NonNegativeInteger
}
ups18InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups18InputEntry 1 }
ups18InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups18InputEntry 2 }
ups18InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups18InputEntry 3 }
ups18InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups18InputEntry 4 }
ups18InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups18InputEntry 5 }
--
-- The Output group.
--
ups18Output OBJECT IDENTIFIER ::= { ups18Objects 4 }
ups18OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups18Output 1 }
ups18OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups18Output 2 }
ups18OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups18Output 3 }
ups18OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups18OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups18OutputNumLines."
::= { ups18Output 4 }
ups18OutputEntry OBJECT-TYPE
SYNTAX Ups18OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups18OutputLineIndex }
::= { ups18OutputTable 1 }
Ups18OutputEntry ::= SEQUENCE {
ups18OutputLineIndex PositiveInteger,
ups18OutputVoltage NonNegativeInteger,
ups18OutputCurrent NonNegativeInteger,
ups18OutputPower NonNegativeInteger,
ups18OutputPercentLoad INTEGER
}
ups18OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups18OutputEntry 1 }
ups18OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups18OutputEntry 2 }
ups18OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups18OutputEntry 3 }
ups18OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups18OutputEntry 4 }
ups18OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups18OutputEntry 5 }
--
-- The Bypass group.
--
ups18Bypass OBJECT IDENTIFIER ::= { ups18Objects 5 }
ups18BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups18Bypass 1 }
ups18BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups18Bypass 2 }
ups18BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups18BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups18BypassNumLines."
::= { ups18Bypass 3 }
ups18BypassEntry OBJECT-TYPE
SYNTAX Ups18BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups18BypassLineIndex }
::= { ups18BypassTable 1 }
Ups18BypassEntry ::= SEQUENCE {
ups18BypassLineIndex PositiveInteger,
ups18BypassVoltage NonNegativeInteger,
ups18BypassCurrent NonNegativeInteger,
ups18BypassPower NonNegativeInteger
}
ups18BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups18BypassEntry 1 }
ups18BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups18BypassEntry 2 }
ups18BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups18BypassEntry 3 }
ups18BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups18BypassEntry 4 }
--
-- The Alarm group.
--
ups18Alarm OBJECT IDENTIFIER ::= { ups18Objects 6 }
ups18AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups18Alarm 1 }
ups18AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups18AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups18AlarmId equal to 1, and increments the value of
ups18AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups18AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups18AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups18AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups18AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups18AlarmsPresent."
::= { ups18Alarm 2 }
ups18AlarmEntry OBJECT-TYPE
SYNTAX Ups18AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups18AlarmId }
::= { ups18AlarmTable 1 }
Ups18AlarmEntry ::= SEQUENCE {
ups18AlarmId PositiveInteger,
ups18AlarmDescr AutonomousType,
ups18AlarmTime TimeStamp
}
ups18AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups18AlarmEntry 1 }
ups18AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups18AlarmEntry 2 }
ups18AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups18AlarmTime shall equal
0."
::= { ups18AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups18WellKnownAlarms OBJECT IDENTIFIER ::= { ups18Alarm 3 }
ups18AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups18WellKnownAlarms 1 }
ups18AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups18WellKnownAlarms 2 }
ups18AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups18ConfigLowBattTime."
::= { ups18WellKnownAlarms 3 }
ups18AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups18WellKnownAlarms 4 }
ups18AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups18WellKnownAlarms 5 }
ups18AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups18WellKnownAlarms 6 }
ups18AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups18WellKnownAlarms 7 }
ups18AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups18WellKnownAlarms 8 }
ups18AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups18WellKnownAlarms 9 }
ups18AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups18WellKnownAlarms 10 }
ups18AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups18WellKnownAlarms 11 }
ups18AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups18WellKnownAlarms 12 }
ups18AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups18WellKnownAlarms 13 }
ups18AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups18WellKnownAlarms 14 }
ups18AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups18WellKnownAlarms 15 }
ups18AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups18WellKnownAlarms 16 }
ups18AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups18WellKnownAlarms 17 }
ups18AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups18WellKnownAlarms 18 }
ups18AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups18WellKnownAlarms 19 }
ups18AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups18WellKnownAlarms 20 }
ups18AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups18WellKnownAlarms 21 }
ups18AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups18ShutdownAfterDelay countdown is underway."
::= { ups18WellKnownAlarms 22 }
ups18AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups18WellKnownAlarms 23 }
ups18AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups18WellKnownAlarms 24 }
--
-- The Test Group
--
ups18Test OBJECT IDENTIFIER ::= { ups18Objects 7 }
ups18TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups18TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups18TestResultsSummary. Tests in progress may be
aborted by setting the ups18TestId variable to
ups18TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups18TestNoTestsInitiated is returned."
::= { ups18Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups18TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups18TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups18TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups18TestResultsSummary */
get (upsTestSpinLock, ups18TestResultsSummary,
ups18TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups18TestResultsSummary,
ups18TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups18TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups18TestSpinLock at agent
initialization shall
be 1."
::= { ups18Test 2 }
ups18TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups18TestId to ups18TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups18Test 3 }
ups18TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups18TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups18Test 4 }
ups18TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups18TestResultsSummary is noTestsInitiated(6),
ups18TestStartTime has the value 0."
::= { ups18Test 5 }
ups18TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups18TestResultsSummary is noTestsInitiated(6),
ups18TestElapsedTime has the value 0."
::= { ups18Test 6 }
--
-- Well known tests.
--
ups18WellKnownTests OBJECT IDENTIFIER ::= { ups18Test 7 }
ups18TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups18WellKnownTests 1 }
ups18TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups18WellKnownTests 2 }
ups18TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups18WellKnownTests 3 }
ups18TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups18WellKnownTests 4 }
ups18TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups18WellKnownTests 5 }
--
-- The Control group.
--
ups18Control OBJECT IDENTIFIER ::= { ups18Objects 8 }
ups18ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups18ShutdownAfterDelay and ups18RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups18Control 1 }
ups18ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups18ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups18ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups18ShutdownType =
output and the output is already off. When read,
ups18ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups18ShutdownAfterDelay already in effect."
::= { ups18Control 2 }
ups18StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups18StartupAfterDelay
countdown or ups18RebootWithDuration countdown in
progress. When read, ups18StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups18Control 3 }
ups18RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups18ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups18RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups18Control 4 }
--
-- notifications, i.e., traps
--
ups18Traps OBJECT IDENTIFIER ::= { upsModule18 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups18TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups18EstimatedMinutesRemaining, ups18SecondsOnBattery,
ups18ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups18Traps 1 }
ups18TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups18TestId, ups18TestSpinLock,
ups18TestResultsSummary, ups18TestResultsDetail,
ups18TestStartTime, ups18TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups18Traps 2 }
ups18TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups18AlarmId, ups18AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups18AlarmOnBattery and
ups18AlarmTestInProgress."
::= { ups18Traps 3 }
ups18TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups18AlarmId, ups18AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups18AlarmTestInProgress."
::= { ups18Traps 4 }
--
-- conformance information
--
ups18Conformance OBJECT IDENTIFIER ::= { upsModule18 3 }
ups18Compliances OBJECT IDENTIFIER ::= { ups18Conformance 1 }
--
-- compliance statements
--
ups18SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups18SubsetIdentGroup,
ups18SubsetBatteryGroup, ups18SubsetInputGroup,
ups18SubsetOutputGroup, ups18SubsetAlarmGroup,
ups18SubsetControlGroup }
OBJECT ups18BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups18AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups18AlarmOnBattery, ups18AlarmLowBattery,
ups18AlarmInputBad, ups18AlarmUpsOutputOff,
ups18AlarmUpsSystemOff, and ups18AlarmTestInProgress."
OBJECT ups18OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups18ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups18Compliances 1 }
ups18BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups18BasicIdentGroup,
ups18BasicBatteryGroup, ups18BasicInputGroup,
ups18BasicOutputGroup, ups18BasicAlarmGroup,
ups18BasicTestGroup, ups18BasicControlGroup }
OBJECT ups18AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups18AlarmOnBattery, ups18AlarmLowBattery,
ups18AlarmDepletedBattery, ups18AlarmTempBad,
ups18AlarmInputBad, ups18AlarmOutputOverload,
ups18AlarmOnBypass, ups18AlarmBypassBad,
ups18AlarmOutputOffAsRequested,
ups18AlarmUpsOffAsRequested, ups18AlarmUpsOutputOff,
ups18AlarmUpsSystemOff, ups18AlarmGeneralFault,
ups18AlarmDiagnosticTestFailed,
ups18AlarmCommunicationsLost, ups18AlarmShutdownPending,
and ups18AlarmTestInProgress."
OBJECT ups18TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups18TestNoTestsInitiated."
OBJECT ups18OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups18BasicBypassGroup
DESCRIPTION
"The ups18BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups18ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups18Compliances 2 }
ups18FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups18FullIdentGroup, ups18FullBatteryGroup,
ups18FullInputGroup, ups18FullOutputGroup,
ups18FullAlarmGroup, ups18FullTestGroup,
ups18FullControlGroup }
OBJECT ups18AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups18AlarmBatteryBad, ups18AlarmOnBattery,
ups18AlarmLowBattery, ups18AlarmDepletedBattery,
ups18AlarmTempBad, ups18AlarmInputBad, ups18AlarmOnBypass,
ups18AlarmBypassBad, ups18AlarmOutputOffAsRequested,
ups18AlarmUpsOffAsRequested, ups18AlarmUpsOutputOff,
ups18AlarmUpsSystemOff, ups18AlarmGeneralFault,
ups18AlarmDiagnosticTestFailed,
ups18AlarmCommunicationsLost, ups18AlarmShutdownPending,
and ups18AlarmTestInProgress."
OBJECT ups18TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups18TestNoTestsInitiated,
ups18TestGeneralSystemsTest, and
ups18TestQuickBatteryTest."
OBJECT ups18OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups18FullBypassGroup
DESCRIPTION
"The ups18FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups18ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups18Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups18Groups OBJECT IDENTIFIER ::= { ups18Conformance 2 }
ups18SubsetGroups OBJECT IDENTIFIER ::= { ups18Groups 1 }
ups18SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups18IdentManufacturer, ups18IdentModel,
ups18IdentAgentSoftwareVersion, ups18IdentName,
ups18IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups18SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups18SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups18SubsetGroups 1 }
ups18SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups18BatteryStatus, ups18SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups18SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups18SubsetGroups 2 }
ups18SubsetInputGroup OBJECT-GROUP
OBJECTS { ups18InputLineBads }
STATUS current
DESCRIPTION
"The ups18SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups18SubsetGroups 3 }
ups18SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups18OutputSource }
STATUS current
DESCRIPTION
"The ups18SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups18SubsetGroups 4 }
-- { ups18SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups18SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups18AlarmsPresent, ups18AlarmDescr, ups18AlarmTime }
STATUS current
DESCRIPTION
"The ups18SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups18SubsetGroups 6 }
-- { ups18SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups18SubsetControlGroup OBJECT-GROUP
OBJECTS { ups18ShutdownType, ups18ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups18SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups18SubsetGroups 8 }
ups18BasicGroups OBJECT IDENTIFIER ::= { ups18Groups 2 }
ups18BasicIdentGroup OBJECT-GROUP
OBJECTS { ups18IdentManufacturer, ups18IdentModel,
ups18IdentUPSSoftwareVersion,
ups18IdentAgentSoftwareVersion, ups18IdentName }
STATUS current
DESCRIPTION
"The ups18BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 1 }
ups18BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups18BatteryStatus, ups18SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups18BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 2 }
ups18BasicInputGroup OBJECT-GROUP
OBJECTS { ups18InputLineBads, ups18InputNumLines,
ups18InputFrequency, ups18InputVoltage }
STATUS current
DESCRIPTION
"The ups18BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 3 }
ups18BasicOutputGroup OBJECT-GROUP
OBJECTS { ups18OutputSource, ups18OutputFrequency,
ups18OutputNumLines, ups18OutputVoltage }
STATUS current
DESCRIPTION
"The ups18BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 4 }
ups18BasicBypassGroup OBJECT-GROUP
OBJECTS { ups18BypassFrequency, ups18BypassNumLines,
ups18BypassVoltage }
STATUS current
DESCRIPTION
"The ups18BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 5 }
ups18BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups18AlarmsPresent, ups18AlarmDescr, ups18AlarmTime }
STATUS current
DESCRIPTION
"The ups18BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 6 }
ups18BasicTestGroup OBJECT-GROUP
OBJECTS { ups18TestId, ups18TestSpinLock,
ups18TestResultsSummary, ups18TestResultsDetail,
ups18TestStartTime, ups18TestElapsedTime }
STATUS current
DESCRIPTION
"The ups18BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 7 }
ups18BasicControlGroup OBJECT-GROUP
OBJECTS { ups18ShutdownType, ups18ShutdownAfterDelay,
ups18StartupAfterDelay, ups18RebootWithDuration }
STATUS current
DESCRIPTION
"The ups18BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups18BasicGroups 8 }
ups18FullGroups OBJECT IDENTIFIER ::= { ups18Groups 3 }
ups18FullIdentGroup OBJECT-GROUP
OBJECTS { ups18IdentManufacturer, ups18IdentModel,
ups18IdentUPSSoftwareVersion,
ups18IdentAgentSoftwareVersion, ups18IdentName,
ups18IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups18FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups18FullGroups 1 }
ups18FullBatteryGroup OBJECT-GROUP
OBJECTS { ups18BatteryStatus, ups18SecondsOnBattery,
ups18EstimatedMinutesRemaining,
ups18EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups18FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups18FullGroups 2 }
ups18FullInputGroup OBJECT-GROUP
OBJECTS { ups18InputLineBads, ups18InputNumLines,
ups18InputFrequency, ups18InputVoltage }
STATUS current
DESCRIPTION
"The ups18FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups18FullGroups 3 }
ups18FullOutputGroup OBJECT-GROUP
OBJECTS { ups18OutputSource, ups18OutputFrequency,
ups18OutputNumLines, ups18OutputVoltage,
ups18OutputCurrent, ups18OutputPower,
ups18OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups18FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups18FullGroups 4 }
ups18FullBypassGroup OBJECT-GROUP
OBJECTS { ups18BypassFrequency, ups18BypassNumLines,
ups18BypassVoltage }
STATUS current
DESCRIPTION
"The ups18FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups18FullGroups 5 }
ups18FullAlarmGroup OBJECT-GROUP
OBJECTS { ups18AlarmsPresent, ups18AlarmDescr, ups18AlarmTime }
STATUS current
DESCRIPTION
"The ups18FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups18FullGroups 6 }
ups18FullTestGroup OBJECT-GROUP
OBJECTS { ups18TestId, ups18TestSpinLock,
ups18TestResultsSummary, ups18TestResultsDetail,
ups18TestStartTime, ups18TestElapsedTime }
STATUS current
DESCRIPTION
"The ups18FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups18FullGroups 7 }
ups18FullControlGroup OBJECT-GROUP
OBJECTS { ups18ShutdownType, ups18ShutdownAfterDelay,
ups18StartupAfterDelay, ups18RebootWithDuration }
STATUS current
DESCRIPTION
"The ups18FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups18FullGroups 8 }
--*******************************************************************
--
-- Module 19 data
--
upsModule19 OBJECT IDENTIFIER ::= { upsModular 20 }
ups19Objects OBJECT IDENTIFIER ::= { upsModule19 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups19IdentName and
-- ups19IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups19Ident OBJECT IDENTIFIER ::= { ups19Objects 1 }
ups19IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups19Ident 1 }
ups19IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups19Ident 2 }
ups19IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups19IdentAgentSoftwareVersion in some implementations."
::= { ups19Ident 3 }
ups19IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups19IdentUPSSoftwareVersion in some implementations."
::= { ups19Ident 4 }
ups19IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups19Ident 5 }
ups19IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups19Ident 6 }
--
-- Battery Group
--
ups19Battery OBJECT IDENTIFIER ::= { ups19Objects 2 }
ups19BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups19ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups19ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups19Battery 1 }
ups19SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups19Battery 2 }
ups19EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups19Battery 3 }
ups19EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups19Battery 4 }
ups19BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups19Battery 5 }
ups19BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups19Battery 6 }
ups19BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups19Battery 7 }
--
-- Input Group
--
ups19Input OBJECT IDENTIFIER ::= { ups19Objects 3 }
ups19InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups19Input 1 }
ups19InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups19Input 2 }
ups19InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups19InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups19InputNumLines."
::= { ups19Input 3 }
ups19InputEntry OBJECT-TYPE
SYNTAX Ups19InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups19InputLineIndex }
::= { ups19InputTable 1 }
Ups19InputEntry ::= SEQUENCE {
ups19InputLineIndex PositiveInteger,
ups19InputFrequency NonNegativeInteger,
ups19InputVoltage NonNegativeInteger,
ups19InputCurrent NonNegativeInteger,
ups19InputTruePower NonNegativeInteger
}
ups19InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups19InputEntry 1 }
ups19InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups19InputEntry 2 }
ups19InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups19InputEntry 3 }
ups19InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups19InputEntry 4 }
ups19InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups19InputEntry 5 }
--
-- The Output group.
--
ups19Output OBJECT IDENTIFIER ::= { ups19Objects 4 }
ups19OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups19Output 1 }
ups19OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups19Output 2 }
ups19OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups19Output 3 }
ups19OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups19OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups19OutputNumLines."
::= { ups19Output 4 }
ups19OutputEntry OBJECT-TYPE
SYNTAX Ups19OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups19OutputLineIndex }
::= { ups19OutputTable 1 }
Ups19OutputEntry ::= SEQUENCE {
ups19OutputLineIndex PositiveInteger,
ups19OutputVoltage NonNegativeInteger,
ups19OutputCurrent NonNegativeInteger,
ups19OutputPower NonNegativeInteger,
ups19OutputPercentLoad INTEGER
}
ups19OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups19OutputEntry 1 }
ups19OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups19OutputEntry 2 }
ups19OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups19OutputEntry 3 }
ups19OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups19OutputEntry 4 }
ups19OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups19OutputEntry 5 }
--
-- The Bypass group.
--
ups19Bypass OBJECT IDENTIFIER ::= { ups19Objects 5 }
ups19BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups19Bypass 1 }
ups19BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups19Bypass 2 }
ups19BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups19BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups19BypassNumLines."
::= { ups19Bypass 3 }
ups19BypassEntry OBJECT-TYPE
SYNTAX Ups19BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups19BypassLineIndex }
::= { ups19BypassTable 1 }
Ups19BypassEntry ::= SEQUENCE {
ups19BypassLineIndex PositiveInteger,
ups19BypassVoltage NonNegativeInteger,
ups19BypassCurrent NonNegativeInteger,
ups19BypassPower NonNegativeInteger
}
ups19BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups19BypassEntry 1 }
ups19BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups19BypassEntry 2 }
ups19BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups19BypassEntry 3 }
ups19BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups19BypassEntry 4 }
--
-- The Alarm group.
--
ups19Alarm OBJECT IDENTIFIER ::= { ups19Objects 6 }
ups19AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups19Alarm 1 }
ups19AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups19AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups19AlarmId equal to 1, and increments the value of
ups19AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups19AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups19AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups19AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups19AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups19AlarmsPresent."
::= { ups19Alarm 2 }
ups19AlarmEntry OBJECT-TYPE
SYNTAX Ups19AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups19AlarmId }
::= { ups19AlarmTable 1 }
Ups19AlarmEntry ::= SEQUENCE {
ups19AlarmId PositiveInteger,
ups19AlarmDescr AutonomousType,
ups19AlarmTime TimeStamp
}
ups19AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups19AlarmEntry 1 }
ups19AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups19AlarmEntry 2 }
ups19AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups19AlarmTime shall equal
0."
::= { ups19AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups19WellKnownAlarms OBJECT IDENTIFIER ::= { ups19Alarm 3 }
ups19AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups19WellKnownAlarms 1 }
ups19AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups19WellKnownAlarms 2 }
ups19AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups19ConfigLowBattTime."
::= { ups19WellKnownAlarms 3 }
ups19AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups19WellKnownAlarms 4 }
ups19AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups19WellKnownAlarms 5 }
ups19AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups19WellKnownAlarms 6 }
ups19AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups19WellKnownAlarms 7 }
ups19AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups19WellKnownAlarms 8 }
ups19AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups19WellKnownAlarms 9 }
ups19AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups19WellKnownAlarms 10 }
ups19AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups19WellKnownAlarms 11 }
ups19AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups19WellKnownAlarms 12 }
ups19AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups19WellKnownAlarms 13 }
ups19AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups19WellKnownAlarms 14 }
ups19AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups19WellKnownAlarms 15 }
ups19AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups19WellKnownAlarms 16 }
ups19AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups19WellKnownAlarms 17 }
ups19AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups19WellKnownAlarms 18 }
ups19AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups19WellKnownAlarms 19 }
ups19AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups19WellKnownAlarms 20 }
ups19AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups19WellKnownAlarms 21 }
ups19AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups19ShutdownAfterDelay countdown is underway."
::= { ups19WellKnownAlarms 22 }
ups19AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups19WellKnownAlarms 23 }
ups19AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups19WellKnownAlarms 24 }
--
-- The Test Group
--
ups19Test OBJECT IDENTIFIER ::= { ups19Objects 7 }
ups19TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups19TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups19TestResultsSummary. Tests in progress may be
aborted by setting the ups19TestId variable to
ups19TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups19TestNoTestsInitiated is returned."
::= { ups19Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups19TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups19TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups19TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups19TestResultsSummary */
get (upsTestSpinLock, ups19TestResultsSummary,
ups19TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups19TestResultsSummary,
ups19TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups19TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups19TestSpinLock at agent
initialization shall
be 1."
::= { ups19Test 2 }
ups19TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups19TestId to ups19TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups19Test 3 }
ups19TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups19TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups19Test 4 }
ups19TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups19TestResultsSummary is noTestsInitiated(6),
ups19TestStartTime has the value 0."
::= { ups19Test 5 }
ups19TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups19TestResultsSummary is noTestsInitiated(6),
ups19TestElapsedTime has the value 0."
::= { ups19Test 6 }
--
-- Well known tests.
--
ups19WellKnownTests OBJECT IDENTIFIER ::= { ups19Test 7 }
ups19TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups19WellKnownTests 1 }
ups19TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups19WellKnownTests 2 }
ups19TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups19WellKnownTests 3 }
ups19TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups19WellKnownTests 4 }
ups19TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups19WellKnownTests 5 }
--
-- The Control group.
--
ups19Control OBJECT IDENTIFIER ::= { ups19Objects 8 }
ups19ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups19ShutdownAfterDelay and ups19RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups19Control 1 }
ups19ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups19ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups19ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups19ShutdownType =
output and the output is already off. When read,
ups19ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups19ShutdownAfterDelay already in effect."
::= { ups19Control 2 }
ups19StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups19StartupAfterDelay
countdown or ups19RebootWithDuration countdown in
progress. When read, ups19StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups19Control 3 }
ups19RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups19ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups19RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups19Control 4 }
--
-- notifications, i.e., traps
--
ups19Traps OBJECT IDENTIFIER ::= { upsModule19 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups19TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups19EstimatedMinutesRemaining, ups19SecondsOnBattery,
ups19ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups19Traps 1 }
ups19TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups19TestId, ups19TestSpinLock,
ups19TestResultsSummary, ups19TestResultsDetail,
ups19TestStartTime, ups19TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups19Traps 2 }
ups19TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups19AlarmId, ups19AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups19AlarmOnBattery and
ups19AlarmTestInProgress."
::= { ups19Traps 3 }
ups19TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups19AlarmId, ups19AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups19AlarmTestInProgress."
::= { ups19Traps 4 }
--
-- conformance information
--
ups19Conformance OBJECT IDENTIFIER ::= { upsModule19 3 }
ups19Compliances OBJECT IDENTIFIER ::= { ups19Conformance 1 }
--
-- compliance statements
--
ups19SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups19SubsetIdentGroup,
ups19SubsetBatteryGroup, ups19SubsetInputGroup,
ups19SubsetOutputGroup, ups19SubsetAlarmGroup,
ups19SubsetControlGroup }
OBJECT ups19BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups19AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups19AlarmOnBattery, ups19AlarmLowBattery,
ups19AlarmInputBad, ups19AlarmUpsOutputOff,
ups19AlarmUpsSystemOff, and ups19AlarmTestInProgress."
OBJECT ups19OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups19ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups19Compliances 1 }
ups19BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups19BasicIdentGroup,
ups19BasicBatteryGroup, ups19BasicInputGroup,
ups19BasicOutputGroup, ups19BasicAlarmGroup,
ups19BasicTestGroup, ups19BasicControlGroup }
OBJECT ups19AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups19AlarmOnBattery, ups19AlarmLowBattery,
ups19AlarmDepletedBattery, ups19AlarmTempBad,
ups19AlarmInputBad, ups19AlarmOutputOverload,
ups19AlarmOnBypass, ups19AlarmBypassBad,
ups19AlarmOutputOffAsRequested,
ups19AlarmUpsOffAsRequested, ups19AlarmUpsOutputOff,
ups19AlarmUpsSystemOff, ups19AlarmGeneralFault,
ups19AlarmDiagnosticTestFailed,
ups19AlarmCommunicationsLost, ups19AlarmShutdownPending,
and ups19AlarmTestInProgress."
OBJECT ups19TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups19TestNoTestsInitiated."
OBJECT ups19OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups19BasicBypassGroup
DESCRIPTION
"The ups19BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups19ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups19Compliances 2 }
ups19FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups19FullIdentGroup, ups19FullBatteryGroup,
ups19FullInputGroup, ups19FullOutputGroup,
ups19FullAlarmGroup, ups19FullTestGroup,
ups19FullControlGroup }
OBJECT ups19AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups19AlarmBatteryBad, ups19AlarmOnBattery,
ups19AlarmLowBattery, ups19AlarmDepletedBattery,
ups19AlarmTempBad, ups19AlarmInputBad, ups19AlarmOnBypass,
ups19AlarmBypassBad, ups19AlarmOutputOffAsRequested,
ups19AlarmUpsOffAsRequested, ups19AlarmUpsOutputOff,
ups19AlarmUpsSystemOff, ups19AlarmGeneralFault,
ups19AlarmDiagnosticTestFailed,
ups19AlarmCommunicationsLost, ups19AlarmShutdownPending,
and ups19AlarmTestInProgress."
OBJECT ups19TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups19TestNoTestsInitiated,
ups19TestGeneralSystemsTest, and
ups19TestQuickBatteryTest."
OBJECT ups19OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups19FullBypassGroup
DESCRIPTION
"The ups19FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups19ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups19Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups19Groups OBJECT IDENTIFIER ::= { ups19Conformance 2 }
ups19SubsetGroups OBJECT IDENTIFIER ::= { ups19Groups 1 }
ups19SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups19IdentManufacturer, ups19IdentModel,
ups19IdentAgentSoftwareVersion, ups19IdentName,
ups19IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups19SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups19SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups19SubsetGroups 1 }
ups19SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups19BatteryStatus, ups19SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups19SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups19SubsetGroups 2 }
ups19SubsetInputGroup OBJECT-GROUP
OBJECTS { ups19InputLineBads }
STATUS current
DESCRIPTION
"The ups19SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups19SubsetGroups 3 }
ups19SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups19OutputSource }
STATUS current
DESCRIPTION
"The ups19SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups19SubsetGroups 4 }
-- { ups19SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups19SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups19AlarmsPresent, ups19AlarmDescr, ups19AlarmTime }
STATUS current
DESCRIPTION
"The ups19SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups19SubsetGroups 6 }
-- { ups19SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups19SubsetControlGroup OBJECT-GROUP
OBJECTS { ups19ShutdownType, ups19ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups19SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups19SubsetGroups 8 }
ups19BasicGroups OBJECT IDENTIFIER ::= { ups19Groups 2 }
ups19BasicIdentGroup OBJECT-GROUP
OBJECTS { ups19IdentManufacturer, ups19IdentModel,
ups19IdentUPSSoftwareVersion,
ups19IdentAgentSoftwareVersion, ups19IdentName }
STATUS current
DESCRIPTION
"The ups19BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 1 }
ups19BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups19BatteryStatus, ups19SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups19BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 2 }
ups19BasicInputGroup OBJECT-GROUP
OBJECTS { ups19InputLineBads, ups19InputNumLines,
ups19InputFrequency, ups19InputVoltage }
STATUS current
DESCRIPTION
"The ups19BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 3 }
ups19BasicOutputGroup OBJECT-GROUP
OBJECTS { ups19OutputSource, ups19OutputFrequency,
ups19OutputNumLines, ups19OutputVoltage }
STATUS current
DESCRIPTION
"The ups19BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 4 }
ups19BasicBypassGroup OBJECT-GROUP
OBJECTS { ups19BypassFrequency, ups19BypassNumLines,
ups19BypassVoltage }
STATUS current
DESCRIPTION
"The ups19BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 5 }
ups19BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups19AlarmsPresent, ups19AlarmDescr, ups19AlarmTime }
STATUS current
DESCRIPTION
"The ups19BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 6 }
ups19BasicTestGroup OBJECT-GROUP
OBJECTS { ups19TestId, ups19TestSpinLock,
ups19TestResultsSummary, ups19TestResultsDetail,
ups19TestStartTime, ups19TestElapsedTime }
STATUS current
DESCRIPTION
"The ups19BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 7 }
ups19BasicControlGroup OBJECT-GROUP
OBJECTS { ups19ShutdownType, ups19ShutdownAfterDelay,
ups19StartupAfterDelay, ups19RebootWithDuration }
STATUS current
DESCRIPTION
"The ups19BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups19BasicGroups 8 }
ups19FullGroups OBJECT IDENTIFIER ::= { ups19Groups 3 }
ups19FullIdentGroup OBJECT-GROUP
OBJECTS { ups19IdentManufacturer, ups19IdentModel,
ups19IdentUPSSoftwareVersion,
ups19IdentAgentSoftwareVersion, ups19IdentName,
ups19IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups19FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups19FullGroups 1 }
ups19FullBatteryGroup OBJECT-GROUP
OBJECTS { ups19BatteryStatus, ups19SecondsOnBattery,
ups19EstimatedMinutesRemaining,
ups19EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups19FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups19FullGroups 2 }
ups19FullInputGroup OBJECT-GROUP
OBJECTS { ups19InputLineBads, ups19InputNumLines,
ups19InputFrequency, ups19InputVoltage }
STATUS current
DESCRIPTION
"The ups19FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups19FullGroups 3 }
ups19FullOutputGroup OBJECT-GROUP
OBJECTS { ups19OutputSource, ups19OutputFrequency,
ups19OutputNumLines, ups19OutputVoltage,
ups19OutputCurrent, ups19OutputPower,
ups19OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups19FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups19FullGroups 4 }
ups19FullBypassGroup OBJECT-GROUP
OBJECTS { ups19BypassFrequency, ups19BypassNumLines,
ups19BypassVoltage }
STATUS current
DESCRIPTION
"The ups19FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups19FullGroups 5 }
ups19FullAlarmGroup OBJECT-GROUP
OBJECTS { ups19AlarmsPresent, ups19AlarmDescr, ups19AlarmTime }
STATUS current
DESCRIPTION
"The ups19FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups19FullGroups 6 }
ups19FullTestGroup OBJECT-GROUP
OBJECTS { ups19TestId, ups19TestSpinLock,
ups19TestResultsSummary, ups19TestResultsDetail,
ups19TestStartTime, ups19TestElapsedTime }
STATUS current
DESCRIPTION
"The ups19FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups19FullGroups 7 }
ups19FullControlGroup OBJECT-GROUP
OBJECTS { ups19ShutdownType, ups19ShutdownAfterDelay,
ups19StartupAfterDelay, ups19RebootWithDuration }
STATUS current
DESCRIPTION
"The ups19FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups19FullGroups 8 }
--*******************************************************************
--
-- Module 20 data
--
upsModule20 OBJECT IDENTIFIER ::= { upsModular 21 }
ups20Objects OBJECT IDENTIFIER ::= { upsModule20 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups20IdentName and
-- ups20IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups20Ident OBJECT IDENTIFIER ::= { ups20Objects 1 }
ups20IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups20Ident 1 }
ups20IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups20Ident 2 }
ups20IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups20IdentAgentSoftwareVersion in some implementations."
::= { ups20Ident 3 }
ups20IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups20IdentUPSSoftwareVersion in some implementations."
::= { ups20Ident 4 }
ups20IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups20Ident 5 }
ups20IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups20Ident 6 }
--
-- Battery Group
--
ups20Battery OBJECT IDENTIFIER ::= { ups20Objects 2 }
ups20BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups20ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups20ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups20Battery 1 }
ups20SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups20Battery 2 }
ups20EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups20Battery 3 }
ups20EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups20Battery 4 }
ups20BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups20Battery 5 }
ups20BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups20Battery 6 }
ups20BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups20Battery 7 }
--
-- Input Group
--
ups20Input OBJECT IDENTIFIER ::= { ups20Objects 3 }
ups20InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups20Input 1 }
ups20InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups20Input 2 }
ups20InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups20InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups20InputNumLines."
::= { ups20Input 3 }
ups20InputEntry OBJECT-TYPE
SYNTAX Ups20InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups20InputLineIndex }
::= { ups20InputTable 1 }
Ups20InputEntry ::= SEQUENCE {
ups20InputLineIndex PositiveInteger,
ups20InputFrequency NonNegativeInteger,
ups20InputVoltage NonNegativeInteger,
ups20InputCurrent NonNegativeInteger,
ups20InputTruePower NonNegativeInteger
}
ups20InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups20InputEntry 1 }
ups20InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups20InputEntry 2 }
ups20InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups20InputEntry 3 }
ups20InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups20InputEntry 4 }
ups20InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups20InputEntry 5 }
--
-- The Output group.
--
ups20Output OBJECT IDENTIFIER ::= { ups20Objects 4 }
ups20OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups20Output 1 }
ups20OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups20Output 2 }
ups20OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups20Output 3 }
ups20OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups20OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups20OutputNumLines."
::= { ups20Output 4 }
ups20OutputEntry OBJECT-TYPE
SYNTAX Ups20OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups20OutputLineIndex }
::= { ups20OutputTable 1 }
Ups20OutputEntry ::= SEQUENCE {
ups20OutputLineIndex PositiveInteger,
ups20OutputVoltage NonNegativeInteger,
ups20OutputCurrent NonNegativeInteger,
ups20OutputPower NonNegativeInteger,
ups20OutputPercentLoad INTEGER
}
ups20OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups20OutputEntry 1 }
ups20OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups20OutputEntry 2 }
ups20OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups20OutputEntry 3 }
ups20OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups20OutputEntry 4 }
ups20OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups20OutputEntry 5 }
--
-- The Bypass group.
--
ups20Bypass OBJECT IDENTIFIER ::= { ups20Objects 5 }
ups20BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups20Bypass 1 }
ups20BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups20Bypass 2 }
ups20BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups20BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups20BypassNumLines."
::= { ups20Bypass 3 }
ups20BypassEntry OBJECT-TYPE
SYNTAX Ups20BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups20BypassLineIndex }
::= { ups20BypassTable 1 }
Ups20BypassEntry ::= SEQUENCE {
ups20BypassLineIndex PositiveInteger,
ups20BypassVoltage NonNegativeInteger,
ups20BypassCurrent NonNegativeInteger,
ups20BypassPower NonNegativeInteger
}
ups20BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups20BypassEntry 1 }
ups20BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups20BypassEntry 2 }
ups20BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups20BypassEntry 3 }
ups20BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups20BypassEntry 4 }
--
-- The Alarm group.
--
ups20Alarm OBJECT IDENTIFIER ::= { ups20Objects 6 }
ups20AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups20Alarm 1 }
ups20AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups20AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups20AlarmId equal to 1, and increments the value of
ups20AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups20AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups20AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups20AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups20AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups20AlarmsPresent."
::= { ups20Alarm 2 }
ups20AlarmEntry OBJECT-TYPE
SYNTAX Ups20AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups20AlarmId }
::= { ups20AlarmTable 1 }
Ups20AlarmEntry ::= SEQUENCE {
ups20AlarmId PositiveInteger,
ups20AlarmDescr AutonomousType,
ups20AlarmTime TimeStamp
}
ups20AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups20AlarmEntry 1 }
ups20AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups20AlarmEntry 2 }
ups20AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups20AlarmTime shall equal
0."
::= { ups20AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups20WellKnownAlarms OBJECT IDENTIFIER ::= { ups20Alarm 3 }
ups20AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups20WellKnownAlarms 1 }
ups20AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups20WellKnownAlarms 2 }
ups20AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups20ConfigLowBattTime."
::= { ups20WellKnownAlarms 3 }
ups20AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups20WellKnownAlarms 4 }
ups20AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups20WellKnownAlarms 5 }
ups20AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups20WellKnownAlarms 6 }
ups20AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups20WellKnownAlarms 7 }
ups20AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups20WellKnownAlarms 8 }
ups20AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups20WellKnownAlarms 9 }
ups20AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups20WellKnownAlarms 10 }
ups20AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups20WellKnownAlarms 11 }
ups20AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups20WellKnownAlarms 12 }
ups20AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups20WellKnownAlarms 13 }
ups20AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups20WellKnownAlarms 14 }
ups20AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups20WellKnownAlarms 15 }
ups20AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups20WellKnownAlarms 16 }
ups20AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups20WellKnownAlarms 17 }
ups20AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups20WellKnownAlarms 18 }
ups20AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups20WellKnownAlarms 19 }
ups20AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups20WellKnownAlarms 20 }
ups20AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups20WellKnownAlarms 21 }
ups20AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups20ShutdownAfterDelay countdown is underway."
::= { ups20WellKnownAlarms 22 }
ups20AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups20WellKnownAlarms 23 }
ups20AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups20WellKnownAlarms 24 }
--
-- The Test Group
--
ups20Test OBJECT IDENTIFIER ::= { ups20Objects 7 }
ups20TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups20TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups20TestResultsSummary. Tests in progress may be
aborted by setting the ups20TestId variable to
ups20TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups20TestNoTestsInitiated is returned."
::= { ups20Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups20TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups20TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups20TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups20TestResultsSummary */
get (upsTestSpinLock, ups20TestResultsSummary,
ups20TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups20TestResultsSummary,
ups20TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups20TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups20TestSpinLock at agent
initialization shall
be 1."
::= { ups20Test 2 }
ups20TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups20TestId to ups20TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups20Test 3 }
ups20TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups20TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups20Test 4 }
ups20TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups20TestResultsSummary is noTestsInitiated(6),
ups20TestStartTime has the value 0."
::= { ups20Test 5 }
ups20TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups20TestResultsSummary is noTestsInitiated(6),
ups20TestElapsedTime has the value 0."
::= { ups20Test 6 }
--
-- Well known tests.
--
ups20WellKnownTests OBJECT IDENTIFIER ::= { ups20Test 7 }
ups20TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups20WellKnownTests 1 }
ups20TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups20WellKnownTests 2 }
ups20TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups20WellKnownTests 3 }
ups20TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups20WellKnownTests 4 }
ups20TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups20WellKnownTests 5 }
--
-- The Control group.
--
ups20Control OBJECT IDENTIFIER ::= { ups20Objects 8 }
ups20ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups20ShutdownAfterDelay and ups20RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups20Control 1 }
ups20ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups20ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups20ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups20ShutdownType =
output and the output is already off. When read,
ups20ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups20ShutdownAfterDelay already in effect."
::= { ups20Control 2 }
ups20StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups20StartupAfterDelay
countdown or ups20RebootWithDuration countdown in
progress. When read, ups20StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups20Control 3 }
ups20RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups20ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups20RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups20Control 4 }
--
-- notifications, i.e., traps
--
ups20Traps OBJECT IDENTIFIER ::= { upsModule20 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups20TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups20EstimatedMinutesRemaining, ups20SecondsOnBattery,
ups20ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups20Traps 1 }
ups20TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups20TestId, ups20TestSpinLock,
ups20TestResultsSummary, ups20TestResultsDetail,
ups20TestStartTime, ups20TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups20Traps 2 }
ups20TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups20AlarmId, ups20AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups20AlarmOnBattery and
ups20AlarmTestInProgress."
::= { ups20Traps 3 }
ups20TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups20AlarmId, ups20AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups20AlarmTestInProgress."
::= { ups20Traps 4 }
--
-- conformance information
--
ups20Conformance OBJECT IDENTIFIER ::= { upsModule20 3 }
ups20Compliances OBJECT IDENTIFIER ::= { ups20Conformance 1 }
--
-- compliance statements
--
ups20SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups20SubsetIdentGroup,
ups20SubsetBatteryGroup, ups20SubsetInputGroup,
ups20SubsetOutputGroup, ups20SubsetAlarmGroup,
ups20SubsetControlGroup }
OBJECT ups20BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups20AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups20AlarmOnBattery, ups20AlarmLowBattery,
ups20AlarmInputBad, ups20AlarmUpsOutputOff,
ups20AlarmUpsSystemOff, and ups20AlarmTestInProgress."
OBJECT ups20OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups20ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups20Compliances 1 }
ups20BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups20BasicIdentGroup,
ups20BasicBatteryGroup, ups20BasicInputGroup,
ups20BasicOutputGroup, ups20BasicAlarmGroup,
ups20BasicTestGroup, ups20BasicControlGroup }
OBJECT ups20AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups20AlarmOnBattery, ups20AlarmLowBattery,
ups20AlarmDepletedBattery, ups20AlarmTempBad,
ups20AlarmInputBad, ups20AlarmOutputOverload,
ups20AlarmOnBypass, ups20AlarmBypassBad,
ups20AlarmOutputOffAsRequested,
ups20AlarmUpsOffAsRequested, ups20AlarmUpsOutputOff,
ups20AlarmUpsSystemOff, ups20AlarmGeneralFault,
ups20AlarmDiagnosticTestFailed,
ups20AlarmCommunicationsLost, ups20AlarmShutdownPending,
and ups20AlarmTestInProgress."
OBJECT ups20TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups20TestNoTestsInitiated."
OBJECT ups20OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups20BasicBypassGroup
DESCRIPTION
"The ups20BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups20ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups20Compliances 2 }
ups20FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups20FullIdentGroup, ups20FullBatteryGroup,
ups20FullInputGroup, ups20FullOutputGroup,
ups20FullAlarmGroup, ups20FullTestGroup,
ups20FullControlGroup }
OBJECT ups20AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups20AlarmBatteryBad, ups20AlarmOnBattery,
ups20AlarmLowBattery, ups20AlarmDepletedBattery,
ups20AlarmTempBad, ups20AlarmInputBad, ups20AlarmOnBypass,
ups20AlarmBypassBad, ups20AlarmOutputOffAsRequested,
ups20AlarmUpsOffAsRequested, ups20AlarmUpsOutputOff,
ups20AlarmUpsSystemOff, ups20AlarmGeneralFault,
ups20AlarmDiagnosticTestFailed,
ups20AlarmCommunicationsLost, ups20AlarmShutdownPending,
and ups20AlarmTestInProgress."
OBJECT ups20TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups20TestNoTestsInitiated,
ups20TestGeneralSystemsTest, and
ups20TestQuickBatteryTest."
OBJECT ups20OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups20FullBypassGroup
DESCRIPTION
"The ups20FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups20ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups20Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups20Groups OBJECT IDENTIFIER ::= { ups20Conformance 2 }
ups20SubsetGroups OBJECT IDENTIFIER ::= { ups20Groups 1 }
ups20SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups20IdentManufacturer, ups20IdentModel,
ups20IdentAgentSoftwareVersion, ups20IdentName,
ups20IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups20SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups20SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups20SubsetGroups 1 }
ups20SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups20BatteryStatus, ups20SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups20SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups20SubsetGroups 2 }
ups20SubsetInputGroup OBJECT-GROUP
OBJECTS { ups20InputLineBads }
STATUS current
DESCRIPTION
"The ups20SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups20SubsetGroups 3 }
ups20SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups20OutputSource }
STATUS current
DESCRIPTION
"The ups20SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups20SubsetGroups 4 }
-- { ups20SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups20SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups20AlarmsPresent, ups20AlarmDescr, ups20AlarmTime }
STATUS current
DESCRIPTION
"The ups20SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups20SubsetGroups 6 }
-- { ups20SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups20SubsetControlGroup OBJECT-GROUP
OBJECTS { ups20ShutdownType, ups20ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups20SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups20SubsetGroups 8 }
ups20BasicGroups OBJECT IDENTIFIER ::= { ups20Groups 2 }
ups20BasicIdentGroup OBJECT-GROUP
OBJECTS { ups20IdentManufacturer, ups20IdentModel,
ups20IdentUPSSoftwareVersion,
ups20IdentAgentSoftwareVersion, ups20IdentName }
STATUS current
DESCRIPTION
"The ups20BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 1 }
ups20BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups20BatteryStatus, ups20SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups20BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 2 }
ups20BasicInputGroup OBJECT-GROUP
OBJECTS { ups20InputLineBads, ups20InputNumLines,
ups20InputFrequency, ups20InputVoltage }
STATUS current
DESCRIPTION
"The ups20BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 3 }
ups20BasicOutputGroup OBJECT-GROUP
OBJECTS { ups20OutputSource, ups20OutputFrequency,
ups20OutputNumLines, ups20OutputVoltage }
STATUS current
DESCRIPTION
"The ups20BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 4 }
ups20BasicBypassGroup OBJECT-GROUP
OBJECTS { ups20BypassFrequency, ups20BypassNumLines,
ups20BypassVoltage }
STATUS current
DESCRIPTION
"The ups20BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 5 }
ups20BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups20AlarmsPresent, ups20AlarmDescr, ups20AlarmTime }
STATUS current
DESCRIPTION
"The ups20BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 6 }
ups20BasicTestGroup OBJECT-GROUP
OBJECTS { ups20TestId, ups20TestSpinLock,
ups20TestResultsSummary, ups20TestResultsDetail,
ups20TestStartTime, ups20TestElapsedTime }
STATUS current
DESCRIPTION
"The ups20BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 7 }
ups20BasicControlGroup OBJECT-GROUP
OBJECTS { ups20ShutdownType, ups20ShutdownAfterDelay,
ups20StartupAfterDelay, ups20RebootWithDuration }
STATUS current
DESCRIPTION
"The ups20BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups20BasicGroups 8 }
ups20FullGroups OBJECT IDENTIFIER ::= { ups20Groups 3 }
ups20FullIdentGroup OBJECT-GROUP
OBJECTS { ups20IdentManufacturer, ups20IdentModel,
ups20IdentUPSSoftwareVersion,
ups20IdentAgentSoftwareVersion, ups20IdentName,
ups20IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups20FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups20FullGroups 1 }
ups20FullBatteryGroup OBJECT-GROUP
OBJECTS { ups20BatteryStatus, ups20SecondsOnBattery,
ups20EstimatedMinutesRemaining,
ups20EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups20FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups20FullGroups 2 }
ups20FullInputGroup OBJECT-GROUP
OBJECTS { ups20InputLineBads, ups20InputNumLines,
ups20InputFrequency, ups20InputVoltage }
STATUS current
DESCRIPTION
"The ups20FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups20FullGroups 3 }
ups20FullOutputGroup OBJECT-GROUP
OBJECTS { ups20OutputSource, ups20OutputFrequency,
ups20OutputNumLines, ups20OutputVoltage,
ups20OutputCurrent, ups20OutputPower,
ups20OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups20FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups20FullGroups 4 }
ups20FullBypassGroup OBJECT-GROUP
OBJECTS { ups20BypassFrequency, ups20BypassNumLines,
ups20BypassVoltage }
STATUS current
DESCRIPTION
"The ups20FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups20FullGroups 5 }
ups20FullAlarmGroup OBJECT-GROUP
OBJECTS { ups20AlarmsPresent, ups20AlarmDescr, ups20AlarmTime }
STATUS current
DESCRIPTION
"The ups20FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups20FullGroups 6 }
ups20FullTestGroup OBJECT-GROUP
OBJECTS { ups20TestId, ups20TestSpinLock,
ups20TestResultsSummary, ups20TestResultsDetail,
ups20TestStartTime, ups20TestElapsedTime }
STATUS current
DESCRIPTION
"The ups20FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups20FullGroups 7 }
ups20FullControlGroup OBJECT-GROUP
OBJECTS { ups20ShutdownType, ups20ShutdownAfterDelay,
ups20StartupAfterDelay, ups20RebootWithDuration }
STATUS current
DESCRIPTION
"The ups20FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups20FullGroups 8 }
--*******************************************************************
--
-- Module 21 data
--
upsModule21 OBJECT IDENTIFIER ::= { upsModular 22 }
ups21Objects OBJECT IDENTIFIER ::= { upsModule21 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups21IdentName and
-- ups21IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups21Ident OBJECT IDENTIFIER ::= { ups21Objects 1 }
ups21IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups21Ident 1 }
ups21IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups21Ident 2 }
ups21IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups21IdentAgentSoftwareVersion in some implementations."
::= { ups21Ident 3 }
ups21IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups21IdentUPSSoftwareVersion in some implementations."
::= { ups21Ident 4 }
ups21IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups21Ident 5 }
ups21IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups21Ident 6 }
--
-- Battery Group
--
ups21Battery OBJECT IDENTIFIER ::= { ups21Objects 2 }
ups21BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups21ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups21ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups21Battery 1 }
ups21SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups21Battery 2 }
ups21EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups21Battery 3 }
ups21EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups21Battery 4 }
ups21BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups21Battery 5 }
ups21BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups21Battery 6 }
ups21BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups21Battery 7 }
--
-- Input Group
--
ups21Input OBJECT IDENTIFIER ::= { ups21Objects 3 }
ups21InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups21Input 1 }
ups21InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups21Input 2 }
ups21InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups21InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups21InputNumLines."
::= { ups21Input 3 }
ups21InputEntry OBJECT-TYPE
SYNTAX Ups21InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups21InputLineIndex }
::= { ups21InputTable 1 }
Ups21InputEntry ::= SEQUENCE {
ups21InputLineIndex PositiveInteger,
ups21InputFrequency NonNegativeInteger,
ups21InputVoltage NonNegativeInteger,
ups21InputCurrent NonNegativeInteger,
ups21InputTruePower NonNegativeInteger
}
ups21InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups21InputEntry 1 }
ups21InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups21InputEntry 2 }
ups21InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups21InputEntry 3 }
ups21InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups21InputEntry 4 }
ups21InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups21InputEntry 5 }
--
-- The Output group.
--
ups21Output OBJECT IDENTIFIER ::= { ups21Objects 4 }
ups21OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups21Output 1 }
ups21OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups21Output 2 }
ups21OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups21Output 3 }
ups21OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups21OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups21OutputNumLines."
::= { ups21Output 4 }
ups21OutputEntry OBJECT-TYPE
SYNTAX Ups21OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups21OutputLineIndex }
::= { ups21OutputTable 1 }
Ups21OutputEntry ::= SEQUENCE {
ups21OutputLineIndex PositiveInteger,
ups21OutputVoltage NonNegativeInteger,
ups21OutputCurrent NonNegativeInteger,
ups21OutputPower NonNegativeInteger,
ups21OutputPercentLoad INTEGER
}
ups21OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups21OutputEntry 1 }
ups21OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups21OutputEntry 2 }
ups21OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups21OutputEntry 3 }
ups21OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups21OutputEntry 4 }
ups21OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups21OutputEntry 5 }
--
-- The Bypass group.
--
ups21Bypass OBJECT IDENTIFIER ::= { ups21Objects 5 }
ups21BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups21Bypass 1 }
ups21BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups21Bypass 2 }
ups21BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups21BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups21BypassNumLines."
::= { ups21Bypass 3 }
ups21BypassEntry OBJECT-TYPE
SYNTAX Ups21BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups21BypassLineIndex }
::= { ups21BypassTable 1 }
Ups21BypassEntry ::= SEQUENCE {
ups21BypassLineIndex PositiveInteger,
ups21BypassVoltage NonNegativeInteger,
ups21BypassCurrent NonNegativeInteger,
ups21BypassPower NonNegativeInteger
}
ups21BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups21BypassEntry 1 }
ups21BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups21BypassEntry 2 }
ups21BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups21BypassEntry 3 }
ups21BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups21BypassEntry 4 }
--
-- The Alarm group.
--
ups21Alarm OBJECT IDENTIFIER ::= { ups21Objects 6 }
ups21AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups21Alarm 1 }
ups21AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups21AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups21AlarmId equal to 1, and increments the value of
ups21AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups21AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups21AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups21AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups21AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups21AlarmsPresent."
::= { ups21Alarm 2 }
ups21AlarmEntry OBJECT-TYPE
SYNTAX Ups21AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups21AlarmId }
::= { ups21AlarmTable 1 }
Ups21AlarmEntry ::= SEQUENCE {
ups21AlarmId PositiveInteger,
ups21AlarmDescr AutonomousType,
ups21AlarmTime TimeStamp
}
ups21AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups21AlarmEntry 1 }
ups21AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups21AlarmEntry 2 }
ups21AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups21AlarmTime shall equal
0."
::= { ups21AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups21WellKnownAlarms OBJECT IDENTIFIER ::= { ups21Alarm 3 }
ups21AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups21WellKnownAlarms 1 }
ups21AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups21WellKnownAlarms 2 }
ups21AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups21ConfigLowBattTime."
::= { ups21WellKnownAlarms 3 }
ups21AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups21WellKnownAlarms 4 }
ups21AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups21WellKnownAlarms 5 }
ups21AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups21WellKnownAlarms 6 }
ups21AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups21WellKnownAlarms 7 }
ups21AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups21WellKnownAlarms 8 }
ups21AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups21WellKnownAlarms 9 }
ups21AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups21WellKnownAlarms 10 }
ups21AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups21WellKnownAlarms 11 }
ups21AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups21WellKnownAlarms 12 }
ups21AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups21WellKnownAlarms 13 }
ups21AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups21WellKnownAlarms 14 }
ups21AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups21WellKnownAlarms 15 }
ups21AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups21WellKnownAlarms 16 }
ups21AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups21WellKnownAlarms 17 }
ups21AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups21WellKnownAlarms 18 }
ups21AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups21WellKnownAlarms 19 }
ups21AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups21WellKnownAlarms 20 }
ups21AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups21WellKnownAlarms 21 }
ups21AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups21ShutdownAfterDelay countdown is underway."
::= { ups21WellKnownAlarms 22 }
ups21AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups21WellKnownAlarms 23 }
ups21AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups21WellKnownAlarms 24 }
--
-- The Test Group
--
ups21Test OBJECT IDENTIFIER ::= { ups21Objects 7 }
ups21TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups21TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups21TestResultsSummary. Tests in progress may be
aborted by setting the ups21TestId variable to
ups21TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups21TestNoTestsInitiated is returned."
::= { ups21Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups21TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups21TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups21TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups21TestResultsSummary */
get (upsTestSpinLock, ups21TestResultsSummary,
ups21TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups21TestResultsSummary,
ups21TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups21TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups21TestSpinLock at agent
initialization shall
be 1."
::= { ups21Test 2 }
ups21TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups21TestId to ups21TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups21Test 3 }
ups21TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups21TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups21Test 4 }
ups21TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups21TestResultsSummary is noTestsInitiated(6),
ups21TestStartTime has the value 0."
::= { ups21Test 5 }
ups21TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups21TestResultsSummary is noTestsInitiated(6),
ups21TestElapsedTime has the value 0."
::= { ups21Test 6 }
--
-- Well known tests.
--
ups21WellKnownTests OBJECT IDENTIFIER ::= { ups21Test 7 }
ups21TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups21WellKnownTests 1 }
ups21TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups21WellKnownTests 2 }
ups21TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups21WellKnownTests 3 }
ups21TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups21WellKnownTests 4 }
ups21TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups21WellKnownTests 5 }
--
-- The Control group.
--
ups21Control OBJECT IDENTIFIER ::= { ups21Objects 8 }
ups21ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups21ShutdownAfterDelay and ups21RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups21Control 1 }
ups21ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups21ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups21ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups21ShutdownType =
output and the output is already off. When read,
ups21ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups21ShutdownAfterDelay already in effect."
::= { ups21Control 2 }
ups21StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups21StartupAfterDelay
countdown or ups21RebootWithDuration countdown in
progress. When read, ups21StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups21Control 3 }
ups21RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups21ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups21RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups21Control 4 }
--
-- notifications, i.e., traps
--
ups21Traps OBJECT IDENTIFIER ::= { upsModule21 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups21TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups21EstimatedMinutesRemaining, ups21SecondsOnBattery,
ups21ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups21Traps 1 }
ups21TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups21TestId, ups21TestSpinLock,
ups21TestResultsSummary, ups21TestResultsDetail,
ups21TestStartTime, ups21TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups21Traps 2 }
ups21TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups21AlarmId, ups21AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups21AlarmOnBattery and
ups21AlarmTestInProgress."
::= { ups21Traps 3 }
ups21TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups21AlarmId, ups21AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups21AlarmTestInProgress."
::= { ups21Traps 4 }
--
-- conformance information
--
ups21Conformance OBJECT IDENTIFIER ::= { upsModule21 3 }
ups21Compliances OBJECT IDENTIFIER ::= { ups21Conformance 1 }
--
-- compliance statements
--
ups21SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups21SubsetIdentGroup,
ups21SubsetBatteryGroup, ups21SubsetInputGroup,
ups21SubsetOutputGroup, ups21SubsetAlarmGroup,
ups21SubsetControlGroup }
OBJECT ups21BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups21AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups21AlarmOnBattery, ups21AlarmLowBattery,
ups21AlarmInputBad, ups21AlarmUpsOutputOff,
ups21AlarmUpsSystemOff, and ups21AlarmTestInProgress."
OBJECT ups21OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups21ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups21Compliances 1 }
ups21BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups21BasicIdentGroup,
ups21BasicBatteryGroup, ups21BasicInputGroup,
ups21BasicOutputGroup, ups21BasicAlarmGroup,
ups21BasicTestGroup, ups21BasicControlGroup }
OBJECT ups21AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups21AlarmOnBattery, ups21AlarmLowBattery,
ups21AlarmDepletedBattery, ups21AlarmTempBad,
ups21AlarmInputBad, ups21AlarmOutputOverload,
ups21AlarmOnBypass, ups21AlarmBypassBad,
ups21AlarmOutputOffAsRequested,
ups21AlarmUpsOffAsRequested, ups21AlarmUpsOutputOff,
ups21AlarmUpsSystemOff, ups21AlarmGeneralFault,
ups21AlarmDiagnosticTestFailed,
ups21AlarmCommunicationsLost, ups21AlarmShutdownPending,
and ups21AlarmTestInProgress."
OBJECT ups21TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups21TestNoTestsInitiated."
OBJECT ups21OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups21BasicBypassGroup
DESCRIPTION
"The ups21BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups21ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups21Compliances 2 }
ups21FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups21FullIdentGroup, ups21FullBatteryGroup,
ups21FullInputGroup, ups21FullOutputGroup,
ups21FullAlarmGroup, ups21FullTestGroup,
ups21FullControlGroup }
OBJECT ups21AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups21AlarmBatteryBad, ups21AlarmOnBattery,
ups21AlarmLowBattery, ups21AlarmDepletedBattery,
ups21AlarmTempBad, ups21AlarmInputBad, ups21AlarmOnBypass,
ups21AlarmBypassBad, ups21AlarmOutputOffAsRequested,
ups21AlarmUpsOffAsRequested, ups21AlarmUpsOutputOff,
ups21AlarmUpsSystemOff, ups21AlarmGeneralFault,
ups21AlarmDiagnosticTestFailed,
ups21AlarmCommunicationsLost, ups21AlarmShutdownPending,
and ups21AlarmTestInProgress."
OBJECT ups21TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups21TestNoTestsInitiated,
ups21TestGeneralSystemsTest, and
ups21TestQuickBatteryTest."
OBJECT ups21OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups21FullBypassGroup
DESCRIPTION
"The ups21FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups21ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups21Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups21Groups OBJECT IDENTIFIER ::= { ups21Conformance 2 }
ups21SubsetGroups OBJECT IDENTIFIER ::= { ups21Groups 1 }
ups21SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups21IdentManufacturer, ups21IdentModel,
ups21IdentAgentSoftwareVersion, ups21IdentName,
ups21IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups21SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups21SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups21SubsetGroups 1 }
ups21SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups21BatteryStatus, ups21SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups21SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups21SubsetGroups 2 }
ups21SubsetInputGroup OBJECT-GROUP
OBJECTS { ups21InputLineBads }
STATUS current
DESCRIPTION
"The ups21SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups21SubsetGroups 3 }
ups21SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups21OutputSource }
STATUS current
DESCRIPTION
"The ups21SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups21SubsetGroups 4 }
-- { ups21SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups21SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups21AlarmsPresent, ups21AlarmDescr, ups21AlarmTime }
STATUS current
DESCRIPTION
"The ups21SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups21SubsetGroups 6 }
-- { ups21SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups21SubsetControlGroup OBJECT-GROUP
OBJECTS { ups21ShutdownType, ups21ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups21SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups21SubsetGroups 8 }
ups21BasicGroups OBJECT IDENTIFIER ::= { ups21Groups 2 }
ups21BasicIdentGroup OBJECT-GROUP
OBJECTS { ups21IdentManufacturer, ups21IdentModel,
ups21IdentUPSSoftwareVersion,
ups21IdentAgentSoftwareVersion, ups21IdentName }
STATUS current
DESCRIPTION
"The ups21BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 1 }
ups21BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups21BatteryStatus, ups21SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups21BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 2 }
ups21BasicInputGroup OBJECT-GROUP
OBJECTS { ups21InputLineBads, ups21InputNumLines,
ups21InputFrequency, ups21InputVoltage }
STATUS current
DESCRIPTION
"The ups21BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 3 }
ups21BasicOutputGroup OBJECT-GROUP
OBJECTS { ups21OutputSource, ups21OutputFrequency,
ups21OutputNumLines, ups21OutputVoltage }
STATUS current
DESCRIPTION
"The ups21BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 4 }
ups21BasicBypassGroup OBJECT-GROUP
OBJECTS { ups21BypassFrequency, ups21BypassNumLines,
ups21BypassVoltage }
STATUS current
DESCRIPTION
"The ups21BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 5 }
ups21BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups21AlarmsPresent, ups21AlarmDescr, ups21AlarmTime }
STATUS current
DESCRIPTION
"The ups21BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 6 }
ups21BasicTestGroup OBJECT-GROUP
OBJECTS { ups21TestId, ups21TestSpinLock,
ups21TestResultsSummary, ups21TestResultsDetail,
ups21TestStartTime, ups21TestElapsedTime }
STATUS current
DESCRIPTION
"The ups21BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 7 }
ups21BasicControlGroup OBJECT-GROUP
OBJECTS { ups21ShutdownType, ups21ShutdownAfterDelay,
ups21StartupAfterDelay, ups21RebootWithDuration }
STATUS current
DESCRIPTION
"The ups21BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups21BasicGroups 8 }
ups21FullGroups OBJECT IDENTIFIER ::= { ups21Groups 3 }
ups21FullIdentGroup OBJECT-GROUP
OBJECTS { ups21IdentManufacturer, ups21IdentModel,
ups21IdentUPSSoftwareVersion,
ups21IdentAgentSoftwareVersion, ups21IdentName,
ups21IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups21FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups21FullGroups 1 }
ups21FullBatteryGroup OBJECT-GROUP
OBJECTS { ups21BatteryStatus, ups21SecondsOnBattery,
ups21EstimatedMinutesRemaining,
ups21EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups21FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups21FullGroups 2 }
ups21FullInputGroup OBJECT-GROUP
OBJECTS { ups21InputLineBads, ups21InputNumLines,
ups21InputFrequency, ups21InputVoltage }
STATUS current
DESCRIPTION
"The ups21FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups21FullGroups 3 }
ups21FullOutputGroup OBJECT-GROUP
OBJECTS { ups21OutputSource, ups21OutputFrequency,
ups21OutputNumLines, ups21OutputVoltage,
ups21OutputCurrent, ups21OutputPower,
ups21OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups21FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups21FullGroups 4 }
ups21FullBypassGroup OBJECT-GROUP
OBJECTS { ups21BypassFrequency, ups21BypassNumLines,
ups21BypassVoltage }
STATUS current
DESCRIPTION
"The ups21FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups21FullGroups 5 }
ups21FullAlarmGroup OBJECT-GROUP
OBJECTS { ups21AlarmsPresent, ups21AlarmDescr, ups21AlarmTime }
STATUS current
DESCRIPTION
"The ups21FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups21FullGroups 6 }
ups21FullTestGroup OBJECT-GROUP
OBJECTS { ups21TestId, ups21TestSpinLock,
ups21TestResultsSummary, ups21TestResultsDetail,
ups21TestStartTime, ups21TestElapsedTime }
STATUS current
DESCRIPTION
"The ups21FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups21FullGroups 7 }
ups21FullControlGroup OBJECT-GROUP
OBJECTS { ups21ShutdownType, ups21ShutdownAfterDelay,
ups21StartupAfterDelay, ups21RebootWithDuration }
STATUS current
DESCRIPTION
"The ups21FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups21FullGroups 8 }
--*******************************************************************
--
-- Module 22 data
--
upsModule22 OBJECT IDENTIFIER ::= { upsModular 23 }
ups22Objects OBJECT IDENTIFIER ::= { upsModule22 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups22IdentName and
-- ups22IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups22Ident OBJECT IDENTIFIER ::= { ups22Objects 1 }
ups22IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups22Ident 1 }
ups22IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups22Ident 2 }
ups22IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups22IdentAgentSoftwareVersion in some implementations."
::= { ups22Ident 3 }
ups22IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups22IdentUPSSoftwareVersion in some implementations."
::= { ups22Ident 4 }
ups22IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups22Ident 5 }
ups22IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups22Ident 6 }
--
-- Battery Group
--
ups22Battery OBJECT IDENTIFIER ::= { ups22Objects 2 }
ups22BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups22ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups22ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups22Battery 1 }
ups22SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups22Battery 2 }
ups22EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups22Battery 3 }
ups22EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups22Battery 4 }
ups22BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups22Battery 5 }
ups22BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups22Battery 6 }
ups22BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups22Battery 7 }
--
-- Input Group
--
ups22Input OBJECT IDENTIFIER ::= { ups22Objects 3 }
ups22InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups22Input 1 }
ups22InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups22Input 2 }
ups22InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups22InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups22InputNumLines."
::= { ups22Input 3 }
ups22InputEntry OBJECT-TYPE
SYNTAX Ups22InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups22InputLineIndex }
::= { ups22InputTable 1 }
Ups22InputEntry ::= SEQUENCE {
ups22InputLineIndex PositiveInteger,
ups22InputFrequency NonNegativeInteger,
ups22InputVoltage NonNegativeInteger,
ups22InputCurrent NonNegativeInteger,
ups22InputTruePower NonNegativeInteger
}
ups22InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups22InputEntry 1 }
ups22InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups22InputEntry 2 }
ups22InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups22InputEntry 3 }
ups22InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups22InputEntry 4 }
ups22InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups22InputEntry 5 }
--
-- The Output group.
--
ups22Output OBJECT IDENTIFIER ::= { ups22Objects 4 }
ups22OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups22Output 1 }
ups22OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups22Output 2 }
ups22OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups22Output 3 }
ups22OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups22OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups22OutputNumLines."
::= { ups22Output 4 }
ups22OutputEntry OBJECT-TYPE
SYNTAX Ups22OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups22OutputLineIndex }
::= { ups22OutputTable 1 }
Ups22OutputEntry ::= SEQUENCE {
ups22OutputLineIndex PositiveInteger,
ups22OutputVoltage NonNegativeInteger,
ups22OutputCurrent NonNegativeInteger,
ups22OutputPower NonNegativeInteger,
ups22OutputPercentLoad INTEGER
}
ups22OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups22OutputEntry 1 }
ups22OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups22OutputEntry 2 }
ups22OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups22OutputEntry 3 }
ups22OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups22OutputEntry 4 }
ups22OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups22OutputEntry 5 }
--
-- The Bypass group.
--
ups22Bypass OBJECT IDENTIFIER ::= { ups22Objects 5 }
ups22BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups22Bypass 1 }
ups22BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups22Bypass 2 }
ups22BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups22BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups22BypassNumLines."
::= { ups22Bypass 3 }
ups22BypassEntry OBJECT-TYPE
SYNTAX Ups22BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups22BypassLineIndex }
::= { ups22BypassTable 1 }
Ups22BypassEntry ::= SEQUENCE {
ups22BypassLineIndex PositiveInteger,
ups22BypassVoltage NonNegativeInteger,
ups22BypassCurrent NonNegativeInteger,
ups22BypassPower NonNegativeInteger
}
ups22BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups22BypassEntry 1 }
ups22BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups22BypassEntry 2 }
ups22BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups22BypassEntry 3 }
ups22BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups22BypassEntry 4 }
--
-- The Alarm group.
--
ups22Alarm OBJECT IDENTIFIER ::= { ups22Objects 6 }
ups22AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups22Alarm 1 }
ups22AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups22AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups22AlarmId equal to 1, and increments the value of
ups22AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups22AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups22AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups22AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups22AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups22AlarmsPresent."
::= { ups22Alarm 2 }
ups22AlarmEntry OBJECT-TYPE
SYNTAX Ups22AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups22AlarmId }
::= { ups22AlarmTable 1 }
Ups22AlarmEntry ::= SEQUENCE {
ups22AlarmId PositiveInteger,
ups22AlarmDescr AutonomousType,
ups22AlarmTime TimeStamp
}
ups22AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups22AlarmEntry 1 }
ups22AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups22AlarmEntry 2 }
ups22AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups22AlarmTime shall equal
0."
::= { ups22AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups22WellKnownAlarms OBJECT IDENTIFIER ::= { ups22Alarm 3 }
ups22AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups22WellKnownAlarms 1 }
ups22AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups22WellKnownAlarms 2 }
ups22AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups22ConfigLowBattTime."
::= { ups22WellKnownAlarms 3 }
ups22AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups22WellKnownAlarms 4 }
ups22AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups22WellKnownAlarms 5 }
ups22AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups22WellKnownAlarms 6 }
ups22AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups22WellKnownAlarms 7 }
ups22AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups22WellKnownAlarms 8 }
ups22AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups22WellKnownAlarms 9 }
ups22AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups22WellKnownAlarms 10 }
ups22AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups22WellKnownAlarms 11 }
ups22AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups22WellKnownAlarms 12 }
ups22AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups22WellKnownAlarms 13 }
ups22AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups22WellKnownAlarms 14 }
ups22AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups22WellKnownAlarms 15 }
ups22AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups22WellKnownAlarms 16 }
ups22AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups22WellKnownAlarms 17 }
ups22AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups22WellKnownAlarms 18 }
ups22AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups22WellKnownAlarms 19 }
ups22AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups22WellKnownAlarms 20 }
ups22AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups22WellKnownAlarms 21 }
ups22AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups22ShutdownAfterDelay countdown is underway."
::= { ups22WellKnownAlarms 22 }
ups22AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups22WellKnownAlarms 23 }
ups22AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups22WellKnownAlarms 24 }
--
-- The Test Group
--
ups22Test OBJECT IDENTIFIER ::= { ups22Objects 7 }
ups22TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups22TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups22TestResultsSummary. Tests in progress may be
aborted by setting the ups22TestId variable to
ups22TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups22TestNoTestsInitiated is returned."
::= { ups22Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups22TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups22TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups22TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups22TestResultsSummary */
get (upsTestSpinLock, ups22TestResultsSummary,
ups22TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups22TestResultsSummary,
ups22TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups22TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups22TestSpinLock at agent
initialization shall
be 1."
::= { ups22Test 2 }
ups22TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups22TestId to ups22TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups22Test 3 }
ups22TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups22TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups22Test 4 }
ups22TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups22TestResultsSummary is noTestsInitiated(6),
ups22TestStartTime has the value 0."
::= { ups22Test 5 }
ups22TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups22TestResultsSummary is noTestsInitiated(6),
ups22TestElapsedTime has the value 0."
::= { ups22Test 6 }
--
-- Well known tests.
--
ups22WellKnownTests OBJECT IDENTIFIER ::= { ups22Test 7 }
ups22TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups22WellKnownTests 1 }
ups22TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups22WellKnownTests 2 }
ups22TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups22WellKnownTests 3 }
ups22TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups22WellKnownTests 4 }
ups22TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups22WellKnownTests 5 }
--
-- The Control group.
--
ups22Control OBJECT IDENTIFIER ::= { ups22Objects 8 }
ups22ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups22ShutdownAfterDelay and ups22RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups22Control 1 }
ups22ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups22ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups22ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups22ShutdownType =
output and the output is already off. When read,
ups22ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups22ShutdownAfterDelay already in effect."
::= { ups22Control 2 }
ups22StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups22StartupAfterDelay
countdown or ups22RebootWithDuration countdown in
progress. When read, ups22StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups22Control 3 }
ups22RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups22ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups22RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups22Control 4 }
--
-- notifications, i.e., traps
--
ups22Traps OBJECT IDENTIFIER ::= { upsModule22 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups22TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups22EstimatedMinutesRemaining, ups22SecondsOnBattery,
ups22ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups22Traps 1 }
ups22TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups22TestId, ups22TestSpinLock,
ups22TestResultsSummary, ups22TestResultsDetail,
ups22TestStartTime, ups22TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups22Traps 2 }
ups22TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups22AlarmId, ups22AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups22AlarmOnBattery and
ups22AlarmTestInProgress."
::= { ups22Traps 3 }
ups22TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups22AlarmId, ups22AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups22AlarmTestInProgress."
::= { ups22Traps 4 }
--
-- conformance information
--
ups22Conformance OBJECT IDENTIFIER ::= { upsModule22 3 }
ups22Compliances OBJECT IDENTIFIER ::= { ups22Conformance 1 }
--
-- compliance statements
--
ups22SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups22SubsetIdentGroup,
ups22SubsetBatteryGroup, ups22SubsetInputGroup,
ups22SubsetOutputGroup, ups22SubsetAlarmGroup,
ups22SubsetControlGroup }
OBJECT ups22BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups22AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups22AlarmOnBattery, ups22AlarmLowBattery,
ups22AlarmInputBad, ups22AlarmUpsOutputOff,
ups22AlarmUpsSystemOff, and ups22AlarmTestInProgress."
OBJECT ups22OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups22ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups22Compliances 1 }
ups22BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups22BasicIdentGroup,
ups22BasicBatteryGroup, ups22BasicInputGroup,
ups22BasicOutputGroup, ups22BasicAlarmGroup,
ups22BasicTestGroup, ups22BasicControlGroup }
OBJECT ups22AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups22AlarmOnBattery, ups22AlarmLowBattery,
ups22AlarmDepletedBattery, ups22AlarmTempBad,
ups22AlarmInputBad, ups22AlarmOutputOverload,
ups22AlarmOnBypass, ups22AlarmBypassBad,
ups22AlarmOutputOffAsRequested,
ups22AlarmUpsOffAsRequested, ups22AlarmUpsOutputOff,
ups22AlarmUpsSystemOff, ups22AlarmGeneralFault,
ups22AlarmDiagnosticTestFailed,
ups22AlarmCommunicationsLost, ups22AlarmShutdownPending,
and ups22AlarmTestInProgress."
OBJECT ups22TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups22TestNoTestsInitiated."
OBJECT ups22OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups22BasicBypassGroup
DESCRIPTION
"The ups22BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups22ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups22Compliances 2 }
ups22FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups22FullIdentGroup, ups22FullBatteryGroup,
ups22FullInputGroup, ups22FullOutputGroup,
ups22FullAlarmGroup, ups22FullTestGroup,
ups22FullControlGroup }
OBJECT ups22AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups22AlarmBatteryBad, ups22AlarmOnBattery,
ups22AlarmLowBattery, ups22AlarmDepletedBattery,
ups22AlarmTempBad, ups22AlarmInputBad, ups22AlarmOnBypass,
ups22AlarmBypassBad, ups22AlarmOutputOffAsRequested,
ups22AlarmUpsOffAsRequested, ups22AlarmUpsOutputOff,
ups22AlarmUpsSystemOff, ups22AlarmGeneralFault,
ups22AlarmDiagnosticTestFailed,
ups22AlarmCommunicationsLost, ups22AlarmShutdownPending,
and ups22AlarmTestInProgress."
OBJECT ups22TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups22TestNoTestsInitiated,
ups22TestGeneralSystemsTest, and
ups22TestQuickBatteryTest."
OBJECT ups22OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups22FullBypassGroup
DESCRIPTION
"The ups22FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups22ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups22Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups22Groups OBJECT IDENTIFIER ::= { ups22Conformance 2 }
ups22SubsetGroups OBJECT IDENTIFIER ::= { ups22Groups 1 }
ups22SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups22IdentManufacturer, ups22IdentModel,
ups22IdentAgentSoftwareVersion, ups22IdentName,
ups22IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups22SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups22SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups22SubsetGroups 1 }
ups22SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups22BatteryStatus, ups22SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups22SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups22SubsetGroups 2 }
ups22SubsetInputGroup OBJECT-GROUP
OBJECTS { ups22InputLineBads }
STATUS current
DESCRIPTION
"The ups22SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups22SubsetGroups 3 }
ups22SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups22OutputSource }
STATUS current
DESCRIPTION
"The ups22SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups22SubsetGroups 4 }
-- { ups22SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups22SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups22AlarmsPresent, ups22AlarmDescr, ups22AlarmTime }
STATUS current
DESCRIPTION
"The ups22SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups22SubsetGroups 6 }
-- { ups22SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups22SubsetControlGroup OBJECT-GROUP
OBJECTS { ups22ShutdownType, ups22ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups22SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups22SubsetGroups 8 }
ups22BasicGroups OBJECT IDENTIFIER ::= { ups22Groups 2 }
ups22BasicIdentGroup OBJECT-GROUP
OBJECTS { ups22IdentManufacturer, ups22IdentModel,
ups22IdentUPSSoftwareVersion,
ups22IdentAgentSoftwareVersion, ups22IdentName }
STATUS current
DESCRIPTION
"The ups22BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 1 }
ups22BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups22BatteryStatus, ups22SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups22BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 2 }
ups22BasicInputGroup OBJECT-GROUP
OBJECTS { ups22InputLineBads, ups22InputNumLines,
ups22InputFrequency, ups22InputVoltage }
STATUS current
DESCRIPTION
"The ups22BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 3 }
ups22BasicOutputGroup OBJECT-GROUP
OBJECTS { ups22OutputSource, ups22OutputFrequency,
ups22OutputNumLines, ups22OutputVoltage }
STATUS current
DESCRIPTION
"The ups22BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 4 }
ups22BasicBypassGroup OBJECT-GROUP
OBJECTS { ups22BypassFrequency, ups22BypassNumLines,
ups22BypassVoltage }
STATUS current
DESCRIPTION
"The ups22BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 5 }
ups22BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups22AlarmsPresent, ups22AlarmDescr, ups22AlarmTime }
STATUS current
DESCRIPTION
"The ups22BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 6 }
ups22BasicTestGroup OBJECT-GROUP
OBJECTS { ups22TestId, ups22TestSpinLock,
ups22TestResultsSummary, ups22TestResultsDetail,
ups22TestStartTime, ups22TestElapsedTime }
STATUS current
DESCRIPTION
"The ups22BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 7 }
ups22BasicControlGroup OBJECT-GROUP
OBJECTS { ups22ShutdownType, ups22ShutdownAfterDelay,
ups22StartupAfterDelay, ups22RebootWithDuration }
STATUS current
DESCRIPTION
"The ups22BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups22BasicGroups 8 }
ups22FullGroups OBJECT IDENTIFIER ::= { ups22Groups 3 }
ups22FullIdentGroup OBJECT-GROUP
OBJECTS { ups22IdentManufacturer, ups22IdentModel,
ups22IdentUPSSoftwareVersion,
ups22IdentAgentSoftwareVersion, ups22IdentName,
ups22IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups22FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups22FullGroups 1 }
ups22FullBatteryGroup OBJECT-GROUP
OBJECTS { ups22BatteryStatus, ups22SecondsOnBattery,
ups22EstimatedMinutesRemaining,
ups22EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups22FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups22FullGroups 2 }
ups22FullInputGroup OBJECT-GROUP
OBJECTS { ups22InputLineBads, ups22InputNumLines,
ups22InputFrequency, ups22InputVoltage }
STATUS current
DESCRIPTION
"The ups22FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups22FullGroups 3 }
ups22FullOutputGroup OBJECT-GROUP
OBJECTS { ups22OutputSource, ups22OutputFrequency,
ups22OutputNumLines, ups22OutputVoltage,
ups22OutputCurrent, ups22OutputPower,
ups22OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups22FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups22FullGroups 4 }
ups22FullBypassGroup OBJECT-GROUP
OBJECTS { ups22BypassFrequency, ups22BypassNumLines,
ups22BypassVoltage }
STATUS current
DESCRIPTION
"The ups22FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups22FullGroups 5 }
ups22FullAlarmGroup OBJECT-GROUP
OBJECTS { ups22AlarmsPresent, ups22AlarmDescr, ups22AlarmTime }
STATUS current
DESCRIPTION
"The ups22FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups22FullGroups 6 }
ups22FullTestGroup OBJECT-GROUP
OBJECTS { ups22TestId, ups22TestSpinLock,
ups22TestResultsSummary, ups22TestResultsDetail,
ups22TestStartTime, ups22TestElapsedTime }
STATUS current
DESCRIPTION
"The ups22FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups22FullGroups 7 }
ups22FullControlGroup OBJECT-GROUP
OBJECTS { ups22ShutdownType, ups22ShutdownAfterDelay,
ups22StartupAfterDelay, ups22RebootWithDuration }
STATUS current
DESCRIPTION
"The ups22FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups22FullGroups 8 }
--*******************************************************************
--
-- Module 23 data
--
upsModule23 OBJECT IDENTIFIER ::= { upsModular 24 }
ups23Objects OBJECT IDENTIFIER ::= { upsModule23 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups23IdentName and
-- ups23IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups23Ident OBJECT IDENTIFIER ::= { ups23Objects 1 }
ups23IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups23Ident 1 }
ups23IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups23Ident 2 }
ups23IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups23IdentAgentSoftwareVersion in some implementations."
::= { ups23Ident 3 }
ups23IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups23IdentUPSSoftwareVersion in some implementations."
::= { ups23Ident 4 }
ups23IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups23Ident 5 }
ups23IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups23Ident 6 }
--
-- Battery Group
--
ups23Battery OBJECT IDENTIFIER ::= { ups23Objects 2 }
ups23BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups23ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups23ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups23Battery 1 }
ups23SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups23Battery 2 }
ups23EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups23Battery 3 }
ups23EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups23Battery 4 }
ups23BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups23Battery 5 }
ups23BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups23Battery 6 }
ups23BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups23Battery 7 }
--
-- Input Group
--
ups23Input OBJECT IDENTIFIER ::= { ups23Objects 3 }
ups23InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups23Input 1 }
ups23InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups23Input 2 }
ups23InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups23InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups23InputNumLines."
::= { ups23Input 3 }
ups23InputEntry OBJECT-TYPE
SYNTAX Ups23InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups23InputLineIndex }
::= { ups23InputTable 1 }
Ups23InputEntry ::= SEQUENCE {
ups23InputLineIndex PositiveInteger,
ups23InputFrequency NonNegativeInteger,
ups23InputVoltage NonNegativeInteger,
ups23InputCurrent NonNegativeInteger,
ups23InputTruePower NonNegativeInteger
}
ups23InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups23InputEntry 1 }
ups23InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups23InputEntry 2 }
ups23InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups23InputEntry 3 }
ups23InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups23InputEntry 4 }
ups23InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups23InputEntry 5 }
--
-- The Output group.
--
ups23Output OBJECT IDENTIFIER ::= { ups23Objects 4 }
ups23OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups23Output 1 }
ups23OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups23Output 2 }
ups23OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups23Output 3 }
ups23OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups23OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups23OutputNumLines."
::= { ups23Output 4 }
ups23OutputEntry OBJECT-TYPE
SYNTAX Ups23OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups23OutputLineIndex }
::= { ups23OutputTable 1 }
Ups23OutputEntry ::= SEQUENCE {
ups23OutputLineIndex PositiveInteger,
ups23OutputVoltage NonNegativeInteger,
ups23OutputCurrent NonNegativeInteger,
ups23OutputPower NonNegativeInteger,
ups23OutputPercentLoad INTEGER
}
ups23OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups23OutputEntry 1 }
ups23OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups23OutputEntry 2 }
ups23OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups23OutputEntry 3 }
ups23OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups23OutputEntry 4 }
ups23OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups23OutputEntry 5 }
--
-- The Bypass group.
--
ups23Bypass OBJECT IDENTIFIER ::= { ups23Objects 5 }
ups23BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups23Bypass 1 }
ups23BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups23Bypass 2 }
ups23BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups23BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups23BypassNumLines."
::= { ups23Bypass 3 }
ups23BypassEntry OBJECT-TYPE
SYNTAX Ups23BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups23BypassLineIndex }
::= { ups23BypassTable 1 }
Ups23BypassEntry ::= SEQUENCE {
ups23BypassLineIndex PositiveInteger,
ups23BypassVoltage NonNegativeInteger,
ups23BypassCurrent NonNegativeInteger,
ups23BypassPower NonNegativeInteger
}
ups23BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups23BypassEntry 1 }
ups23BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups23BypassEntry 2 }
ups23BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups23BypassEntry 3 }
ups23BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups23BypassEntry 4 }
--
-- The Alarm group.
--
ups23Alarm OBJECT IDENTIFIER ::= { ups23Objects 6 }
ups23AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups23Alarm 1 }
ups23AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups23AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups23AlarmId equal to 1, and increments the value of
ups23AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups23AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups23AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups23AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups23AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups23AlarmsPresent."
::= { ups23Alarm 2 }
ups23AlarmEntry OBJECT-TYPE
SYNTAX Ups23AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups23AlarmId }
::= { ups23AlarmTable 1 }
Ups23AlarmEntry ::= SEQUENCE {
ups23AlarmId PositiveInteger,
ups23AlarmDescr AutonomousType,
ups23AlarmTime TimeStamp
}
ups23AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups23AlarmEntry 1 }
ups23AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups23AlarmEntry 2 }
ups23AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups23AlarmTime shall equal
0."
::= { ups23AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups23WellKnownAlarms OBJECT IDENTIFIER ::= { ups23Alarm 3 }
ups23AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups23WellKnownAlarms 1 }
ups23AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups23WellKnownAlarms 2 }
ups23AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups23ConfigLowBattTime."
::= { ups23WellKnownAlarms 3 }
ups23AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups23WellKnownAlarms 4 }
ups23AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups23WellKnownAlarms 5 }
ups23AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups23WellKnownAlarms 6 }
ups23AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups23WellKnownAlarms 7 }
ups23AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups23WellKnownAlarms 8 }
ups23AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups23WellKnownAlarms 9 }
ups23AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups23WellKnownAlarms 10 }
ups23AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups23WellKnownAlarms 11 }
ups23AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups23WellKnownAlarms 12 }
ups23AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups23WellKnownAlarms 13 }
ups23AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups23WellKnownAlarms 14 }
ups23AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups23WellKnownAlarms 15 }
ups23AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups23WellKnownAlarms 16 }
ups23AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups23WellKnownAlarms 17 }
ups23AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups23WellKnownAlarms 18 }
ups23AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups23WellKnownAlarms 19 }
ups23AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups23WellKnownAlarms 20 }
ups23AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups23WellKnownAlarms 21 }
ups23AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups23ShutdownAfterDelay countdown is underway."
::= { ups23WellKnownAlarms 22 }
ups23AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups23WellKnownAlarms 23 }
ups23AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups23WellKnownAlarms 24 }
--
-- The Test Group
--
ups23Test OBJECT IDENTIFIER ::= { ups23Objects 7 }
ups23TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups23TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups23TestResultsSummary. Tests in progress may be
aborted by setting the ups23TestId variable to
ups23TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups23TestNoTestsInitiated is returned."
::= { ups23Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups23TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups23TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups23TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups23TestResultsSummary */
get (upsTestSpinLock, ups23TestResultsSummary,
ups23TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups23TestResultsSummary,
ups23TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups23TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups23TestSpinLock at agent
initialization shall
be 1."
::= { ups23Test 2 }
ups23TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups23TestId to ups23TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups23Test 3 }
ups23TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups23TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups23Test 4 }
ups23TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups23TestResultsSummary is noTestsInitiated(6),
ups23TestStartTime has the value 0."
::= { ups23Test 5 }
ups23TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups23TestResultsSummary is noTestsInitiated(6),
ups23TestElapsedTime has the value 0."
::= { ups23Test 6 }
--
-- Well known tests.
--
ups23WellKnownTests OBJECT IDENTIFIER ::= { ups23Test 7 }
ups23TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups23WellKnownTests 1 }
ups23TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups23WellKnownTests 2 }
ups23TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups23WellKnownTests 3 }
ups23TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups23WellKnownTests 4 }
ups23TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups23WellKnownTests 5 }
--
-- The Control group.
--
ups23Control OBJECT IDENTIFIER ::= { ups23Objects 8 }
ups23ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups23ShutdownAfterDelay and ups23RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups23Control 1 }
ups23ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups23ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups23ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups23ShutdownType =
output and the output is already off. When read,
ups23ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups23ShutdownAfterDelay already in effect."
::= { ups23Control 2 }
ups23StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups23StartupAfterDelay
countdown or ups23RebootWithDuration countdown in
progress. When read, ups23StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups23Control 3 }
ups23RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups23ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups23RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups23Control 4 }
--
-- notifications, i.e., traps
--
ups23Traps OBJECT IDENTIFIER ::= { upsModule23 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups23TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups23EstimatedMinutesRemaining, ups23SecondsOnBattery,
ups23ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups23Traps 1 }
ups23TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups23TestId, ups23TestSpinLock,
ups23TestResultsSummary, ups23TestResultsDetail,
ups23TestStartTime, ups23TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups23Traps 2 }
ups23TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups23AlarmId, ups23AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups23AlarmOnBattery and
ups23AlarmTestInProgress."
::= { ups23Traps 3 }
ups23TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups23AlarmId, ups23AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups23AlarmTestInProgress."
::= { ups23Traps 4 }
--
-- conformance information
--
ups23Conformance OBJECT IDENTIFIER ::= { upsModule23 3 }
ups23Compliances OBJECT IDENTIFIER ::= { ups23Conformance 1 }
--
-- compliance statements
--
ups23SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups23SubsetIdentGroup,
ups23SubsetBatteryGroup, ups23SubsetInputGroup,
ups23SubsetOutputGroup, ups23SubsetAlarmGroup,
ups23SubsetControlGroup }
OBJECT ups23BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups23AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups23AlarmOnBattery, ups23AlarmLowBattery,
ups23AlarmInputBad, ups23AlarmUpsOutputOff,
ups23AlarmUpsSystemOff, and ups23AlarmTestInProgress."
OBJECT ups23OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups23ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups23Compliances 1 }
ups23BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups23BasicIdentGroup,
ups23BasicBatteryGroup, ups23BasicInputGroup,
ups23BasicOutputGroup, ups23BasicAlarmGroup,
ups23BasicTestGroup, ups23BasicControlGroup }
OBJECT ups23AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups23AlarmOnBattery, ups23AlarmLowBattery,
ups23AlarmDepletedBattery, ups23AlarmTempBad,
ups23AlarmInputBad, ups23AlarmOutputOverload,
ups23AlarmOnBypass, ups23AlarmBypassBad,
ups23AlarmOutputOffAsRequested,
ups23AlarmUpsOffAsRequested, ups23AlarmUpsOutputOff,
ups23AlarmUpsSystemOff, ups23AlarmGeneralFault,
ups23AlarmDiagnosticTestFailed,
ups23AlarmCommunicationsLost, ups23AlarmShutdownPending,
and ups23AlarmTestInProgress."
OBJECT ups23TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups23TestNoTestsInitiated."
OBJECT ups23OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups23BasicBypassGroup
DESCRIPTION
"The ups23BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups23ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups23Compliances 2 }
ups23FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups23FullIdentGroup, ups23FullBatteryGroup,
ups23FullInputGroup, ups23FullOutputGroup,
ups23FullAlarmGroup, ups23FullTestGroup,
ups23FullControlGroup }
OBJECT ups23AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups23AlarmBatteryBad, ups23AlarmOnBattery,
ups23AlarmLowBattery, ups23AlarmDepletedBattery,
ups23AlarmTempBad, ups23AlarmInputBad, ups23AlarmOnBypass,
ups23AlarmBypassBad, ups23AlarmOutputOffAsRequested,
ups23AlarmUpsOffAsRequested, ups23AlarmUpsOutputOff,
ups23AlarmUpsSystemOff, ups23AlarmGeneralFault,
ups23AlarmDiagnosticTestFailed,
ups23AlarmCommunicationsLost, ups23AlarmShutdownPending,
and ups23AlarmTestInProgress."
OBJECT ups23TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups23TestNoTestsInitiated,
ups23TestGeneralSystemsTest, and
ups23TestQuickBatteryTest."
OBJECT ups23OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups23FullBypassGroup
DESCRIPTION
"The ups23FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups23ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups23Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups23Groups OBJECT IDENTIFIER ::= { ups23Conformance 2 }
ups23SubsetGroups OBJECT IDENTIFIER ::= { ups23Groups 1 }
ups23SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups23IdentManufacturer, ups23IdentModel,
ups23IdentAgentSoftwareVersion, ups23IdentName,
ups23IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups23SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups23SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups23SubsetGroups 1 }
ups23SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups23BatteryStatus, ups23SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups23SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups23SubsetGroups 2 }
ups23SubsetInputGroup OBJECT-GROUP
OBJECTS { ups23InputLineBads }
STATUS current
DESCRIPTION
"The ups23SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups23SubsetGroups 3 }
ups23SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups23OutputSource }
STATUS current
DESCRIPTION
"The ups23SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups23SubsetGroups 4 }
-- { ups23SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups23SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups23AlarmsPresent, ups23AlarmDescr, ups23AlarmTime }
STATUS current
DESCRIPTION
"The ups23SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups23SubsetGroups 6 }
-- { ups23SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups23SubsetControlGroup OBJECT-GROUP
OBJECTS { ups23ShutdownType, ups23ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups23SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups23SubsetGroups 8 }
ups23BasicGroups OBJECT IDENTIFIER ::= { ups23Groups 2 }
ups23BasicIdentGroup OBJECT-GROUP
OBJECTS { ups23IdentManufacturer, ups23IdentModel,
ups23IdentUPSSoftwareVersion,
ups23IdentAgentSoftwareVersion, ups23IdentName }
STATUS current
DESCRIPTION
"The ups23BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 1 }
ups23BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups23BatteryStatus, ups23SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups23BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 2 }
ups23BasicInputGroup OBJECT-GROUP
OBJECTS { ups23InputLineBads, ups23InputNumLines,
ups23InputFrequency, ups23InputVoltage }
STATUS current
DESCRIPTION
"The ups23BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 3 }
ups23BasicOutputGroup OBJECT-GROUP
OBJECTS { ups23OutputSource, ups23OutputFrequency,
ups23OutputNumLines, ups23OutputVoltage }
STATUS current
DESCRIPTION
"The ups23BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 4 }
ups23BasicBypassGroup OBJECT-GROUP
OBJECTS { ups23BypassFrequency, ups23BypassNumLines,
ups23BypassVoltage }
STATUS current
DESCRIPTION
"The ups23BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 5 }
ups23BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups23AlarmsPresent, ups23AlarmDescr, ups23AlarmTime }
STATUS current
DESCRIPTION
"The ups23BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 6 }
ups23BasicTestGroup OBJECT-GROUP
OBJECTS { ups23TestId, ups23TestSpinLock,
ups23TestResultsSummary, ups23TestResultsDetail,
ups23TestStartTime, ups23TestElapsedTime }
STATUS current
DESCRIPTION
"The ups23BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 7 }
ups23BasicControlGroup OBJECT-GROUP
OBJECTS { ups23ShutdownType, ups23ShutdownAfterDelay,
ups23StartupAfterDelay, ups23RebootWithDuration }
STATUS current
DESCRIPTION
"The ups23BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups23BasicGroups 8 }
ups23FullGroups OBJECT IDENTIFIER ::= { ups23Groups 3 }
ups23FullIdentGroup OBJECT-GROUP
OBJECTS { ups23IdentManufacturer, ups23IdentModel,
ups23IdentUPSSoftwareVersion,
ups23IdentAgentSoftwareVersion, ups23IdentName,
ups23IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups23FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups23FullGroups 1 }
ups23FullBatteryGroup OBJECT-GROUP
OBJECTS { ups23BatteryStatus, ups23SecondsOnBattery,
ups23EstimatedMinutesRemaining,
ups23EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups23FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups23FullGroups 2 }
ups23FullInputGroup OBJECT-GROUP
OBJECTS { ups23InputLineBads, ups23InputNumLines,
ups23InputFrequency, ups23InputVoltage }
STATUS current
DESCRIPTION
"The ups23FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups23FullGroups 3 }
ups23FullOutputGroup OBJECT-GROUP
OBJECTS { ups23OutputSource, ups23OutputFrequency,
ups23OutputNumLines, ups23OutputVoltage,
ups23OutputCurrent, ups23OutputPower,
ups23OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups23FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups23FullGroups 4 }
ups23FullBypassGroup OBJECT-GROUP
OBJECTS { ups23BypassFrequency, ups23BypassNumLines,
ups23BypassVoltage }
STATUS current
DESCRIPTION
"The ups23FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups23FullGroups 5 }
ups23FullAlarmGroup OBJECT-GROUP
OBJECTS { ups23AlarmsPresent, ups23AlarmDescr, ups23AlarmTime }
STATUS current
DESCRIPTION
"The ups23FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups23FullGroups 6 }
ups23FullTestGroup OBJECT-GROUP
OBJECTS { ups23TestId, ups23TestSpinLock,
ups23TestResultsSummary, ups23TestResultsDetail,
ups23TestStartTime, ups23TestElapsedTime }
STATUS current
DESCRIPTION
"The ups23FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups23FullGroups 7 }
ups23FullControlGroup OBJECT-GROUP
OBJECTS { ups23ShutdownType, ups23ShutdownAfterDelay,
ups23StartupAfterDelay, ups23RebootWithDuration }
STATUS current
DESCRIPTION
"The ups23FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups23FullGroups 8 }
--*******************************************************************
--
-- Module 24 data
--
upsModule24 OBJECT IDENTIFIER ::= { upsModular 25 }
ups24Objects OBJECT IDENTIFIER ::= { upsModule24 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups24IdentName and
-- ups24IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups24Ident OBJECT IDENTIFIER ::= { ups24Objects 1 }
ups24IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups24Ident 1 }
ups24IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups24Ident 2 }
ups24IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups24IdentAgentSoftwareVersion in some implementations."
::= { ups24Ident 3 }
ups24IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups24IdentUPSSoftwareVersion in some implementations."
::= { ups24Ident 4 }
ups24IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups24Ident 5 }
ups24IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups24Ident 6 }
--
-- Battery Group
--
ups24Battery OBJECT IDENTIFIER ::= { ups24Objects 2 }
ups24BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups24ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups24ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups24Battery 1 }
ups24SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups24Battery 2 }
ups24EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups24Battery 3 }
ups24EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups24Battery 4 }
ups24BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups24Battery 5 }
ups24BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups24Battery 6 }
ups24BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups24Battery 7 }
--
-- Input Group
--
ups24Input OBJECT IDENTIFIER ::= { ups24Objects 3 }
ups24InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups24Input 1 }
ups24InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups24Input 2 }
ups24InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups24InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups24InputNumLines."
::= { ups24Input 3 }
ups24InputEntry OBJECT-TYPE
SYNTAX Ups24InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups24InputLineIndex }
::= { ups24InputTable 1 }
Ups24InputEntry ::= SEQUENCE {
ups24InputLineIndex PositiveInteger,
ups24InputFrequency NonNegativeInteger,
ups24InputVoltage NonNegativeInteger,
ups24InputCurrent NonNegativeInteger,
ups24InputTruePower NonNegativeInteger
}
ups24InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups24InputEntry 1 }
ups24InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups24InputEntry 2 }
ups24InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups24InputEntry 3 }
ups24InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups24InputEntry 4 }
ups24InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups24InputEntry 5 }
--
-- The Output group.
--
ups24Output OBJECT IDENTIFIER ::= { ups24Objects 4 }
ups24OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups24Output 1 }
ups24OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups24Output 2 }
ups24OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups24Output 3 }
ups24OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups24OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups24OutputNumLines."
::= { ups24Output 4 }
ups24OutputEntry OBJECT-TYPE
SYNTAX Ups24OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups24OutputLineIndex }
::= { ups24OutputTable 1 }
Ups24OutputEntry ::= SEQUENCE {
ups24OutputLineIndex PositiveInteger,
ups24OutputVoltage NonNegativeInteger,
ups24OutputCurrent NonNegativeInteger,
ups24OutputPower NonNegativeInteger,
ups24OutputPercentLoad INTEGER
}
ups24OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups24OutputEntry 1 }
ups24OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups24OutputEntry 2 }
ups24OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups24OutputEntry 3 }
ups24OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups24OutputEntry 4 }
ups24OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups24OutputEntry 5 }
--
-- The Bypass group.
--
ups24Bypass OBJECT IDENTIFIER ::= { ups24Objects 5 }
ups24BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups24Bypass 1 }
ups24BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups24Bypass 2 }
ups24BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups24BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups24BypassNumLines."
::= { ups24Bypass 3 }
ups24BypassEntry OBJECT-TYPE
SYNTAX Ups24BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups24BypassLineIndex }
::= { ups24BypassTable 1 }
Ups24BypassEntry ::= SEQUENCE {
ups24BypassLineIndex PositiveInteger,
ups24BypassVoltage NonNegativeInteger,
ups24BypassCurrent NonNegativeInteger,
ups24BypassPower NonNegativeInteger
}
ups24BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups24BypassEntry 1 }
ups24BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups24BypassEntry 2 }
ups24BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups24BypassEntry 3 }
ups24BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups24BypassEntry 4 }
--
-- The Alarm group.
--
ups24Alarm OBJECT IDENTIFIER ::= { ups24Objects 6 }
ups24AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups24Alarm 1 }
ups24AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups24AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups24AlarmId equal to 1, and increments the value of
ups24AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups24AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups24AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups24AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups24AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups24AlarmsPresent."
::= { ups24Alarm 2 }
ups24AlarmEntry OBJECT-TYPE
SYNTAX Ups24AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups24AlarmId }
::= { ups24AlarmTable 1 }
Ups24AlarmEntry ::= SEQUENCE {
ups24AlarmId PositiveInteger,
ups24AlarmDescr AutonomousType,
ups24AlarmTime TimeStamp
}
ups24AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups24AlarmEntry 1 }
ups24AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups24AlarmEntry 2 }
ups24AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups24AlarmTime shall equal
0."
::= { ups24AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups24WellKnownAlarms OBJECT IDENTIFIER ::= { ups24Alarm 3 }
ups24AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups24WellKnownAlarms 1 }
ups24AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups24WellKnownAlarms 2 }
ups24AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups24ConfigLowBattTime."
::= { ups24WellKnownAlarms 3 }
ups24AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups24WellKnownAlarms 4 }
ups24AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups24WellKnownAlarms 5 }
ups24AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups24WellKnownAlarms 6 }
ups24AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups24WellKnownAlarms 7 }
ups24AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups24WellKnownAlarms 8 }
ups24AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups24WellKnownAlarms 9 }
ups24AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups24WellKnownAlarms 10 }
ups24AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups24WellKnownAlarms 11 }
ups24AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups24WellKnownAlarms 12 }
ups24AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups24WellKnownAlarms 13 }
ups24AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups24WellKnownAlarms 14 }
ups24AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups24WellKnownAlarms 15 }
ups24AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups24WellKnownAlarms 16 }
ups24AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups24WellKnownAlarms 17 }
ups24AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups24WellKnownAlarms 18 }
ups24AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups24WellKnownAlarms 19 }
ups24AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups24WellKnownAlarms 20 }
ups24AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups24WellKnownAlarms 21 }
ups24AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups24ShutdownAfterDelay countdown is underway."
::= { ups24WellKnownAlarms 22 }
ups24AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups24WellKnownAlarms 23 }
ups24AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups24WellKnownAlarms 24 }
--
-- The Test Group
--
ups24Test OBJECT IDENTIFIER ::= { ups24Objects 7 }
ups24TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups24TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups24TestResultsSummary. Tests in progress may be
aborted by setting the ups24TestId variable to
ups24TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups24TestNoTestsInitiated is returned."
::= { ups24Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups24TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups24TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups24TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups24TestResultsSummary */
get (upsTestSpinLock, ups24TestResultsSummary,
ups24TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups24TestResultsSummary,
ups24TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups24TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups24TestSpinLock at agent
initialization shall
be 1."
::= { ups24Test 2 }
ups24TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups24TestId to ups24TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups24Test 3 }
ups24TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups24TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups24Test 4 }
ups24TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups24TestResultsSummary is noTestsInitiated(6),
ups24TestStartTime has the value 0."
::= { ups24Test 5 }
ups24TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups24TestResultsSummary is noTestsInitiated(6),
ups24TestElapsedTime has the value 0."
::= { ups24Test 6 }
--
-- Well known tests.
--
ups24WellKnownTests OBJECT IDENTIFIER ::= { ups24Test 7 }
ups24TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups24WellKnownTests 1 }
ups24TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups24WellKnownTests 2 }
ups24TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups24WellKnownTests 3 }
ups24TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups24WellKnownTests 4 }
ups24TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups24WellKnownTests 5 }
--
-- The Control group.
--
ups24Control OBJECT IDENTIFIER ::= { ups24Objects 8 }
ups24ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups24ShutdownAfterDelay and ups24RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups24Control 1 }
ups24ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups24ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups24ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups24ShutdownType =
output and the output is already off. When read,
ups24ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups24ShutdownAfterDelay already in effect."
::= { ups24Control 2 }
ups24StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups24StartupAfterDelay
countdown or ups24RebootWithDuration countdown in
progress. When read, ups24StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups24Control 3 }
ups24RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups24ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups24RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups24Control 4 }
--
-- notifications, i.e., traps
--
ups24Traps OBJECT IDENTIFIER ::= { upsModule24 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups24TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups24EstimatedMinutesRemaining, ups24SecondsOnBattery,
ups24ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups24Traps 1 }
ups24TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups24TestId, ups24TestSpinLock,
ups24TestResultsSummary, ups24TestResultsDetail,
ups24TestStartTime, ups24TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups24Traps 2 }
ups24TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups24AlarmId, ups24AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups24AlarmOnBattery and
ups24AlarmTestInProgress."
::= { ups24Traps 3 }
ups24TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups24AlarmId, ups24AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups24AlarmTestInProgress."
::= { ups24Traps 4 }
--
-- conformance information
--
ups24Conformance OBJECT IDENTIFIER ::= { upsModule24 3 }
ups24Compliances OBJECT IDENTIFIER ::= { ups24Conformance 1 }
--
-- compliance statements
--
ups24SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups24SubsetIdentGroup,
ups24SubsetBatteryGroup, ups24SubsetInputGroup,
ups24SubsetOutputGroup, ups24SubsetAlarmGroup,
ups24SubsetControlGroup }
OBJECT ups24BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups24AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups24AlarmOnBattery, ups24AlarmLowBattery,
ups24AlarmInputBad, ups24AlarmUpsOutputOff,
ups24AlarmUpsSystemOff, and ups24AlarmTestInProgress."
OBJECT ups24OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups24ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups24Compliances 1 }
ups24BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups24BasicIdentGroup,
ups24BasicBatteryGroup, ups24BasicInputGroup,
ups24BasicOutputGroup, ups24BasicAlarmGroup,
ups24BasicTestGroup, ups24BasicControlGroup }
OBJECT ups24AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups24AlarmOnBattery, ups24AlarmLowBattery,
ups24AlarmDepletedBattery, ups24AlarmTempBad,
ups24AlarmInputBad, ups24AlarmOutputOverload,
ups24AlarmOnBypass, ups24AlarmBypassBad,
ups24AlarmOutputOffAsRequested,
ups24AlarmUpsOffAsRequested, ups24AlarmUpsOutputOff,
ups24AlarmUpsSystemOff, ups24AlarmGeneralFault,
ups24AlarmDiagnosticTestFailed,
ups24AlarmCommunicationsLost, ups24AlarmShutdownPending,
and ups24AlarmTestInProgress."
OBJECT ups24TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups24TestNoTestsInitiated."
OBJECT ups24OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups24BasicBypassGroup
DESCRIPTION
"The ups24BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups24ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups24Compliances 2 }
ups24FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups24FullIdentGroup, ups24FullBatteryGroup,
ups24FullInputGroup, ups24FullOutputGroup,
ups24FullAlarmGroup, ups24FullTestGroup,
ups24FullControlGroup }
OBJECT ups24AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups24AlarmBatteryBad, ups24AlarmOnBattery,
ups24AlarmLowBattery, ups24AlarmDepletedBattery,
ups24AlarmTempBad, ups24AlarmInputBad, ups24AlarmOnBypass,
ups24AlarmBypassBad, ups24AlarmOutputOffAsRequested,
ups24AlarmUpsOffAsRequested, ups24AlarmUpsOutputOff,
ups24AlarmUpsSystemOff, ups24AlarmGeneralFault,
ups24AlarmDiagnosticTestFailed,
ups24AlarmCommunicationsLost, ups24AlarmShutdownPending,
and ups24AlarmTestInProgress."
OBJECT ups24TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups24TestNoTestsInitiated,
ups24TestGeneralSystemsTest, and
ups24TestQuickBatteryTest."
OBJECT ups24OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups24FullBypassGroup
DESCRIPTION
"The ups24FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups24ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups24Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups24Groups OBJECT IDENTIFIER ::= { ups24Conformance 2 }
ups24SubsetGroups OBJECT IDENTIFIER ::= { ups24Groups 1 }
ups24SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups24IdentManufacturer, ups24IdentModel,
ups24IdentAgentSoftwareVersion, ups24IdentName,
ups24IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups24SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups24SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups24SubsetGroups 1 }
ups24SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups24BatteryStatus, ups24SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups24SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups24SubsetGroups 2 }
ups24SubsetInputGroup OBJECT-GROUP
OBJECTS { ups24InputLineBads }
STATUS current
DESCRIPTION
"The ups24SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups24SubsetGroups 3 }
ups24SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups24OutputSource }
STATUS current
DESCRIPTION
"The ups24SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups24SubsetGroups 4 }
-- { ups24SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups24SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups24AlarmsPresent, ups24AlarmDescr, ups24AlarmTime }
STATUS current
DESCRIPTION
"The ups24SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups24SubsetGroups 6 }
-- { ups24SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups24SubsetControlGroup OBJECT-GROUP
OBJECTS { ups24ShutdownType, ups24ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups24SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups24SubsetGroups 8 }
ups24BasicGroups OBJECT IDENTIFIER ::= { ups24Groups 2 }
ups24BasicIdentGroup OBJECT-GROUP
OBJECTS { ups24IdentManufacturer, ups24IdentModel,
ups24IdentUPSSoftwareVersion,
ups24IdentAgentSoftwareVersion, ups24IdentName }
STATUS current
DESCRIPTION
"The ups24BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 1 }
ups24BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups24BatteryStatus, ups24SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups24BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 2 }
ups24BasicInputGroup OBJECT-GROUP
OBJECTS { ups24InputLineBads, ups24InputNumLines,
ups24InputFrequency, ups24InputVoltage }
STATUS current
DESCRIPTION
"The ups24BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 3 }
ups24BasicOutputGroup OBJECT-GROUP
OBJECTS { ups24OutputSource, ups24OutputFrequency,
ups24OutputNumLines, ups24OutputVoltage }
STATUS current
DESCRIPTION
"The ups24BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 4 }
ups24BasicBypassGroup OBJECT-GROUP
OBJECTS { ups24BypassFrequency, ups24BypassNumLines,
ups24BypassVoltage }
STATUS current
DESCRIPTION
"The ups24BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 5 }
ups24BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups24AlarmsPresent, ups24AlarmDescr, ups24AlarmTime }
STATUS current
DESCRIPTION
"The ups24BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 6 }
ups24BasicTestGroup OBJECT-GROUP
OBJECTS { ups24TestId, ups24TestSpinLock,
ups24TestResultsSummary, ups24TestResultsDetail,
ups24TestStartTime, ups24TestElapsedTime }
STATUS current
DESCRIPTION
"The ups24BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 7 }
ups24BasicControlGroup OBJECT-GROUP
OBJECTS { ups24ShutdownType, ups24ShutdownAfterDelay,
ups24StartupAfterDelay, ups24RebootWithDuration }
STATUS current
DESCRIPTION
"The ups24BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups24BasicGroups 8 }
ups24FullGroups OBJECT IDENTIFIER ::= { ups24Groups 3 }
ups24FullIdentGroup OBJECT-GROUP
OBJECTS { ups24IdentManufacturer, ups24IdentModel,
ups24IdentUPSSoftwareVersion,
ups24IdentAgentSoftwareVersion, ups24IdentName,
ups24IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups24FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups24FullGroups 1 }
ups24FullBatteryGroup OBJECT-GROUP
OBJECTS { ups24BatteryStatus, ups24SecondsOnBattery,
ups24EstimatedMinutesRemaining,
ups24EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups24FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups24FullGroups 2 }
ups24FullInputGroup OBJECT-GROUP
OBJECTS { ups24InputLineBads, ups24InputNumLines,
ups24InputFrequency, ups24InputVoltage }
STATUS current
DESCRIPTION
"The ups24FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups24FullGroups 3 }
ups24FullOutputGroup OBJECT-GROUP
OBJECTS { ups24OutputSource, ups24OutputFrequency,
ups24OutputNumLines, ups24OutputVoltage,
ups24OutputCurrent, ups24OutputPower,
ups24OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups24FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups24FullGroups 4 }
ups24FullBypassGroup OBJECT-GROUP
OBJECTS { ups24BypassFrequency, ups24BypassNumLines,
ups24BypassVoltage }
STATUS current
DESCRIPTION
"The ups24FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups24FullGroups 5 }
ups24FullAlarmGroup OBJECT-GROUP
OBJECTS { ups24AlarmsPresent, ups24AlarmDescr, ups24AlarmTime }
STATUS current
DESCRIPTION
"The ups24FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups24FullGroups 6 }
ups24FullTestGroup OBJECT-GROUP
OBJECTS { ups24TestId, ups24TestSpinLock,
ups24TestResultsSummary, ups24TestResultsDetail,
ups24TestStartTime, ups24TestElapsedTime }
STATUS current
DESCRIPTION
"The ups24FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups24FullGroups 7 }
ups24FullControlGroup OBJECT-GROUP
OBJECTS { ups24ShutdownType, ups24ShutdownAfterDelay,
ups24StartupAfterDelay, ups24RebootWithDuration }
STATUS current
DESCRIPTION
"The ups24FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups24FullGroups 8 }
--*******************************************************************
--
-- Module 25 data
--
upsModule25 OBJECT IDENTIFIER ::= { upsModular 26 }
ups25Objects OBJECT IDENTIFIER ::= { upsModule25 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups25IdentName and
-- ups25IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups25Ident OBJECT IDENTIFIER ::= { ups25Objects 1 }
ups25IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups25Ident 1 }
ups25IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups25Ident 2 }
ups25IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups25IdentAgentSoftwareVersion in some implementations."
::= { ups25Ident 3 }
ups25IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups25IdentUPSSoftwareVersion in some implementations."
::= { ups25Ident 4 }
ups25IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups25Ident 5 }
ups25IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups25Ident 6 }
--
-- Battery Group
--
ups25Battery OBJECT IDENTIFIER ::= { ups25Objects 2 }
ups25BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups25ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups25ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups25Battery 1 }
ups25SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups25Battery 2 }
ups25EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups25Battery 3 }
ups25EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups25Battery 4 }
ups25BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups25Battery 5 }
ups25BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups25Battery 6 }
ups25BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups25Battery 7 }
--
-- Input Group
--
ups25Input OBJECT IDENTIFIER ::= { ups25Objects 3 }
ups25InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups25Input 1 }
ups25InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups25Input 2 }
ups25InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups25InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups25InputNumLines."
::= { ups25Input 3 }
ups25InputEntry OBJECT-TYPE
SYNTAX Ups25InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups25InputLineIndex }
::= { ups25InputTable 1 }
Ups25InputEntry ::= SEQUENCE {
ups25InputLineIndex PositiveInteger,
ups25InputFrequency NonNegativeInteger,
ups25InputVoltage NonNegativeInteger,
ups25InputCurrent NonNegativeInteger,
ups25InputTruePower NonNegativeInteger
}
ups25InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups25InputEntry 1 }
ups25InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups25InputEntry 2 }
ups25InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups25InputEntry 3 }
ups25InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups25InputEntry 4 }
ups25InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups25InputEntry 5 }
--
-- The Output group.
--
ups25Output OBJECT IDENTIFIER ::= { ups25Objects 4 }
ups25OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups25Output 1 }
ups25OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups25Output 2 }
ups25OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups25Output 3 }
ups25OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups25OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups25OutputNumLines."
::= { ups25Output 4 }
ups25OutputEntry OBJECT-TYPE
SYNTAX Ups25OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups25OutputLineIndex }
::= { ups25OutputTable 1 }
Ups25OutputEntry ::= SEQUENCE {
ups25OutputLineIndex PositiveInteger,
ups25OutputVoltage NonNegativeInteger,
ups25OutputCurrent NonNegativeInteger,
ups25OutputPower NonNegativeInteger,
ups25OutputPercentLoad INTEGER
}
ups25OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups25OutputEntry 1 }
ups25OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups25OutputEntry 2 }
ups25OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups25OutputEntry 3 }
ups25OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups25OutputEntry 4 }
ups25OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups25OutputEntry 5 }
--
-- The Bypass group.
--
ups25Bypass OBJECT IDENTIFIER ::= { ups25Objects 5 }
ups25BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups25Bypass 1 }
ups25BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups25Bypass 2 }
ups25BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups25BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups25BypassNumLines."
::= { ups25Bypass 3 }
ups25BypassEntry OBJECT-TYPE
SYNTAX Ups25BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups25BypassLineIndex }
::= { ups25BypassTable 1 }
Ups25BypassEntry ::= SEQUENCE {
ups25BypassLineIndex PositiveInteger,
ups25BypassVoltage NonNegativeInteger,
ups25BypassCurrent NonNegativeInteger,
ups25BypassPower NonNegativeInteger
}
ups25BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups25BypassEntry 1 }
ups25BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups25BypassEntry 2 }
ups25BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups25BypassEntry 3 }
ups25BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups25BypassEntry 4 }
--
-- The Alarm group.
--
ups25Alarm OBJECT IDENTIFIER ::= { ups25Objects 6 }
ups25AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups25Alarm 1 }
ups25AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups25AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups25AlarmId equal to 1, and increments the value of
ups25AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups25AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups25AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups25AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups25AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups25AlarmsPresent."
::= { ups25Alarm 2 }
ups25AlarmEntry OBJECT-TYPE
SYNTAX Ups25AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups25AlarmId }
::= { ups25AlarmTable 1 }
Ups25AlarmEntry ::= SEQUENCE {
ups25AlarmId PositiveInteger,
ups25AlarmDescr AutonomousType,
ups25AlarmTime TimeStamp
}
ups25AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups25AlarmEntry 1 }
ups25AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups25AlarmEntry 2 }
ups25AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups25AlarmTime shall equal
0."
::= { ups25AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups25WellKnownAlarms OBJECT IDENTIFIER ::= { ups25Alarm 3 }
ups25AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups25WellKnownAlarms 1 }
ups25AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups25WellKnownAlarms 2 }
ups25AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups25ConfigLowBattTime."
::= { ups25WellKnownAlarms 3 }
ups25AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups25WellKnownAlarms 4 }
ups25AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups25WellKnownAlarms 5 }
ups25AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups25WellKnownAlarms 6 }
ups25AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups25WellKnownAlarms 7 }
ups25AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups25WellKnownAlarms 8 }
ups25AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups25WellKnownAlarms 9 }
ups25AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups25WellKnownAlarms 10 }
ups25AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups25WellKnownAlarms 11 }
ups25AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups25WellKnownAlarms 12 }
ups25AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups25WellKnownAlarms 13 }
ups25AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups25WellKnownAlarms 14 }
ups25AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups25WellKnownAlarms 15 }
ups25AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups25WellKnownAlarms 16 }
ups25AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups25WellKnownAlarms 17 }
ups25AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups25WellKnownAlarms 18 }
ups25AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups25WellKnownAlarms 19 }
ups25AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups25WellKnownAlarms 20 }
ups25AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups25WellKnownAlarms 21 }
ups25AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups25ShutdownAfterDelay countdown is underway."
::= { ups25WellKnownAlarms 22 }
ups25AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups25WellKnownAlarms 23 }
ups25AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups25WellKnownAlarms 24 }
--
-- The Test Group
--
ups25Test OBJECT IDENTIFIER ::= { ups25Objects 7 }
ups25TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups25TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups25TestResultsSummary. Tests in progress may be
aborted by setting the ups25TestId variable to
ups25TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups25TestNoTestsInitiated is returned."
::= { ups25Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups25TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups25TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups25TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups25TestResultsSummary */
get (upsTestSpinLock, ups25TestResultsSummary,
ups25TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups25TestResultsSummary,
ups25TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups25TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups25TestSpinLock at agent
initialization shall
be 1."
::= { ups25Test 2 }
ups25TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups25TestId to ups25TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups25Test 3 }
ups25TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups25TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups25Test 4 }
ups25TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups25TestResultsSummary is noTestsInitiated(6),
ups25TestStartTime has the value 0."
::= { ups25Test 5 }
ups25TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups25TestResultsSummary is noTestsInitiated(6),
ups25TestElapsedTime has the value 0."
::= { ups25Test 6 }
--
-- Well known tests.
--
ups25WellKnownTests OBJECT IDENTIFIER ::= { ups25Test 7 }
ups25TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups25WellKnownTests 1 }
ups25TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups25WellKnownTests 2 }
ups25TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups25WellKnownTests 3 }
ups25TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups25WellKnownTests 4 }
ups25TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups25WellKnownTests 5 }
--
-- The Control group.
--
ups25Control OBJECT IDENTIFIER ::= { ups25Objects 8 }
ups25ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups25ShutdownAfterDelay and ups25RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups25Control 1 }
ups25ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups25ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups25ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups25ShutdownType =
output and the output is already off. When read,
ups25ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups25ShutdownAfterDelay already in effect."
::= { ups25Control 2 }
ups25StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups25StartupAfterDelay
countdown or ups25RebootWithDuration countdown in
progress. When read, ups25StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups25Control 3 }
ups25RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups25ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups25RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups25Control 4 }
--
-- notifications, i.e., traps
--
ups25Traps OBJECT IDENTIFIER ::= { upsModule25 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups25TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups25EstimatedMinutesRemaining, ups25SecondsOnBattery,
ups25ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups25Traps 1 }
ups25TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups25TestId, ups25TestSpinLock,
ups25TestResultsSummary, ups25TestResultsDetail,
ups25TestStartTime, ups25TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups25Traps 2 }
ups25TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups25AlarmId, ups25AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups25AlarmOnBattery and
ups25AlarmTestInProgress."
::= { ups25Traps 3 }
ups25TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups25AlarmId, ups25AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups25AlarmTestInProgress."
::= { ups25Traps 4 }
--
-- conformance information
--
ups25Conformance OBJECT IDENTIFIER ::= { upsModule25 3 }
ups25Compliances OBJECT IDENTIFIER ::= { ups25Conformance 1 }
--
-- compliance statements
--
ups25SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups25SubsetIdentGroup,
ups25SubsetBatteryGroup, ups25SubsetInputGroup,
ups25SubsetOutputGroup, ups25SubsetAlarmGroup,
ups25SubsetControlGroup }
OBJECT ups25BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups25AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups25AlarmOnBattery, ups25AlarmLowBattery,
ups25AlarmInputBad, ups25AlarmUpsOutputOff,
ups25AlarmUpsSystemOff, and ups25AlarmTestInProgress."
OBJECT ups25OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups25ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups25Compliances 1 }
ups25BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups25BasicIdentGroup,
ups25BasicBatteryGroup, ups25BasicInputGroup,
ups25BasicOutputGroup, ups25BasicAlarmGroup,
ups25BasicTestGroup, ups25BasicControlGroup }
OBJECT ups25AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups25AlarmOnBattery, ups25AlarmLowBattery,
ups25AlarmDepletedBattery, ups25AlarmTempBad,
ups25AlarmInputBad, ups25AlarmOutputOverload,
ups25AlarmOnBypass, ups25AlarmBypassBad,
ups25AlarmOutputOffAsRequested,
ups25AlarmUpsOffAsRequested, ups25AlarmUpsOutputOff,
ups25AlarmUpsSystemOff, ups25AlarmGeneralFault,
ups25AlarmDiagnosticTestFailed,
ups25AlarmCommunicationsLost, ups25AlarmShutdownPending,
and ups25AlarmTestInProgress."
OBJECT ups25TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups25TestNoTestsInitiated."
OBJECT ups25OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups25BasicBypassGroup
DESCRIPTION
"The ups25BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups25ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups25Compliances 2 }
ups25FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups25FullIdentGroup, ups25FullBatteryGroup,
ups25FullInputGroup, ups25FullOutputGroup,
ups25FullAlarmGroup, ups25FullTestGroup,
ups25FullControlGroup }
OBJECT ups25AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups25AlarmBatteryBad, ups25AlarmOnBattery,
ups25AlarmLowBattery, ups25AlarmDepletedBattery,
ups25AlarmTempBad, ups25AlarmInputBad, ups25AlarmOnBypass,
ups25AlarmBypassBad, ups25AlarmOutputOffAsRequested,
ups25AlarmUpsOffAsRequested, ups25AlarmUpsOutputOff,
ups25AlarmUpsSystemOff, ups25AlarmGeneralFault,
ups25AlarmDiagnosticTestFailed,
ups25AlarmCommunicationsLost, ups25AlarmShutdownPending,
and ups25AlarmTestInProgress."
OBJECT ups25TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups25TestNoTestsInitiated,
ups25TestGeneralSystemsTest, and
ups25TestQuickBatteryTest."
OBJECT ups25OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups25FullBypassGroup
DESCRIPTION
"The ups25FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups25ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups25Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups25Groups OBJECT IDENTIFIER ::= { ups25Conformance 2 }
ups25SubsetGroups OBJECT IDENTIFIER ::= { ups25Groups 1 }
ups25SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups25IdentManufacturer, ups25IdentModel,
ups25IdentAgentSoftwareVersion, ups25IdentName,
ups25IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups25SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups25SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups25SubsetGroups 1 }
ups25SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups25BatteryStatus, ups25SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups25SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups25SubsetGroups 2 }
ups25SubsetInputGroup OBJECT-GROUP
OBJECTS { ups25InputLineBads }
STATUS current
DESCRIPTION
"The ups25SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups25SubsetGroups 3 }
ups25SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups25OutputSource }
STATUS current
DESCRIPTION
"The ups25SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups25SubsetGroups 4 }
-- { ups25SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups25SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups25AlarmsPresent, ups25AlarmDescr, ups25AlarmTime }
STATUS current
DESCRIPTION
"The ups25SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups25SubsetGroups 6 }
-- { ups25SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups25SubsetControlGroup OBJECT-GROUP
OBJECTS { ups25ShutdownType, ups25ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups25SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups25SubsetGroups 8 }
ups25BasicGroups OBJECT IDENTIFIER ::= { ups25Groups 2 }
ups25BasicIdentGroup OBJECT-GROUP
OBJECTS { ups25IdentManufacturer, ups25IdentModel,
ups25IdentUPSSoftwareVersion,
ups25IdentAgentSoftwareVersion, ups25IdentName }
STATUS current
DESCRIPTION
"The ups25BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 1 }
ups25BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups25BatteryStatus, ups25SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups25BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 2 }
ups25BasicInputGroup OBJECT-GROUP
OBJECTS { ups25InputLineBads, ups25InputNumLines,
ups25InputFrequency, ups25InputVoltage }
STATUS current
DESCRIPTION
"The ups25BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 3 }
ups25BasicOutputGroup OBJECT-GROUP
OBJECTS { ups25OutputSource, ups25OutputFrequency,
ups25OutputNumLines, ups25OutputVoltage }
STATUS current
DESCRIPTION
"The ups25BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 4 }
ups25BasicBypassGroup OBJECT-GROUP
OBJECTS { ups25BypassFrequency, ups25BypassNumLines,
ups25BypassVoltage }
STATUS current
DESCRIPTION
"The ups25BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 5 }
ups25BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups25AlarmsPresent, ups25AlarmDescr, ups25AlarmTime }
STATUS current
DESCRIPTION
"The ups25BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 6 }
ups25BasicTestGroup OBJECT-GROUP
OBJECTS { ups25TestId, ups25TestSpinLock,
ups25TestResultsSummary, ups25TestResultsDetail,
ups25TestStartTime, ups25TestElapsedTime }
STATUS current
DESCRIPTION
"The ups25BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 7 }
ups25BasicControlGroup OBJECT-GROUP
OBJECTS { ups25ShutdownType, ups25ShutdownAfterDelay,
ups25StartupAfterDelay, ups25RebootWithDuration }
STATUS current
DESCRIPTION
"The ups25BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups25BasicGroups 8 }
ups25FullGroups OBJECT IDENTIFIER ::= { ups25Groups 3 }
ups25FullIdentGroup OBJECT-GROUP
OBJECTS { ups25IdentManufacturer, ups25IdentModel,
ups25IdentUPSSoftwareVersion,
ups25IdentAgentSoftwareVersion, ups25IdentName,
ups25IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups25FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups25FullGroups 1 }
ups25FullBatteryGroup OBJECT-GROUP
OBJECTS { ups25BatteryStatus, ups25SecondsOnBattery,
ups25EstimatedMinutesRemaining,
ups25EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups25FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups25FullGroups 2 }
ups25FullInputGroup OBJECT-GROUP
OBJECTS { ups25InputLineBads, ups25InputNumLines,
ups25InputFrequency, ups25InputVoltage }
STATUS current
DESCRIPTION
"The ups25FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups25FullGroups 3 }
ups25FullOutputGroup OBJECT-GROUP
OBJECTS { ups25OutputSource, ups25OutputFrequency,
ups25OutputNumLines, ups25OutputVoltage,
ups25OutputCurrent, ups25OutputPower,
ups25OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups25FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups25FullGroups 4 }
ups25FullBypassGroup OBJECT-GROUP
OBJECTS { ups25BypassFrequency, ups25BypassNumLines,
ups25BypassVoltage }
STATUS current
DESCRIPTION
"The ups25FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups25FullGroups 5 }
ups25FullAlarmGroup OBJECT-GROUP
OBJECTS { ups25AlarmsPresent, ups25AlarmDescr, ups25AlarmTime }
STATUS current
DESCRIPTION
"The ups25FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups25FullGroups 6 }
ups25FullTestGroup OBJECT-GROUP
OBJECTS { ups25TestId, ups25TestSpinLock,
ups25TestResultsSummary, ups25TestResultsDetail,
ups25TestStartTime, ups25TestElapsedTime }
STATUS current
DESCRIPTION
"The ups25FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups25FullGroups 7 }
ups25FullControlGroup OBJECT-GROUP
OBJECTS { ups25ShutdownType, ups25ShutdownAfterDelay,
ups25StartupAfterDelay, ups25RebootWithDuration }
STATUS current
DESCRIPTION
"The ups25FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups25FullGroups 8 }
--*******************************************************************
--
-- Module 26 data
--
upsModule26 OBJECT IDENTIFIER ::= { upsModular 27 }
ups26Objects OBJECT IDENTIFIER ::= { upsModule26 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups26IdentName and
-- ups26IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups26Ident OBJECT IDENTIFIER ::= { ups26Objects 1 }
ups26IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups26Ident 1 }
ups26IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups26Ident 2 }
ups26IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups26IdentAgentSoftwareVersion in some implementations."
::= { ups26Ident 3 }
ups26IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups26IdentUPSSoftwareVersion in some implementations."
::= { ups26Ident 4 }
ups26IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups26Ident 5 }
ups26IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups26Ident 6 }
--
-- Battery Group
--
ups26Battery OBJECT IDENTIFIER ::= { ups26Objects 2 }
ups26BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups26ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups26ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups26Battery 1 }
ups26SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups26Battery 2 }
ups26EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups26Battery 3 }
ups26EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups26Battery 4 }
ups26BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups26Battery 5 }
ups26BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups26Battery 6 }
ups26BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups26Battery 7 }
--
-- Input Group
--
ups26Input OBJECT IDENTIFIER ::= { ups26Objects 3 }
ups26InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups26Input 1 }
ups26InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups26Input 2 }
ups26InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups26InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups26InputNumLines."
::= { ups26Input 3 }
ups26InputEntry OBJECT-TYPE
SYNTAX Ups26InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups26InputLineIndex }
::= { ups26InputTable 1 }
Ups26InputEntry ::= SEQUENCE {
ups26InputLineIndex PositiveInteger,
ups26InputFrequency NonNegativeInteger,
ups26InputVoltage NonNegativeInteger,
ups26InputCurrent NonNegativeInteger,
ups26InputTruePower NonNegativeInteger
}
ups26InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups26InputEntry 1 }
ups26InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups26InputEntry 2 }
ups26InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups26InputEntry 3 }
ups26InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups26InputEntry 4 }
ups26InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups26InputEntry 5 }
--
-- The Output group.
--
ups26Output OBJECT IDENTIFIER ::= { ups26Objects 4 }
ups26OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups26Output 1 }
ups26OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups26Output 2 }
ups26OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups26Output 3 }
ups26OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups26OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups26OutputNumLines."
::= { ups26Output 4 }
ups26OutputEntry OBJECT-TYPE
SYNTAX Ups26OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups26OutputLineIndex }
::= { ups26OutputTable 1 }
Ups26OutputEntry ::= SEQUENCE {
ups26OutputLineIndex PositiveInteger,
ups26OutputVoltage NonNegativeInteger,
ups26OutputCurrent NonNegativeInteger,
ups26OutputPower NonNegativeInteger,
ups26OutputPercentLoad INTEGER
}
ups26OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups26OutputEntry 1 }
ups26OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups26OutputEntry 2 }
ups26OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups26OutputEntry 3 }
ups26OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups26OutputEntry 4 }
ups26OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups26OutputEntry 5 }
--
-- The Bypass group.
--
ups26Bypass OBJECT IDENTIFIER ::= { ups26Objects 5 }
ups26BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups26Bypass 1 }
ups26BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups26Bypass 2 }
ups26BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups26BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups26BypassNumLines."
::= { ups26Bypass 3 }
ups26BypassEntry OBJECT-TYPE
SYNTAX Ups26BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups26BypassLineIndex }
::= { ups26BypassTable 1 }
Ups26BypassEntry ::= SEQUENCE {
ups26BypassLineIndex PositiveInteger,
ups26BypassVoltage NonNegativeInteger,
ups26BypassCurrent NonNegativeInteger,
ups26BypassPower NonNegativeInteger
}
ups26BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups26BypassEntry 1 }
ups26BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups26BypassEntry 2 }
ups26BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups26BypassEntry 3 }
ups26BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups26BypassEntry 4 }
--
-- The Alarm group.
--
ups26Alarm OBJECT IDENTIFIER ::= { ups26Objects 6 }
ups26AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups26Alarm 1 }
ups26AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups26AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups26AlarmId equal to 1, and increments the value of
ups26AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups26AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups26AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups26AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups26AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups26AlarmsPresent."
::= { ups26Alarm 2 }
ups26AlarmEntry OBJECT-TYPE
SYNTAX Ups26AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups26AlarmId }
::= { ups26AlarmTable 1 }
Ups26AlarmEntry ::= SEQUENCE {
ups26AlarmId PositiveInteger,
ups26AlarmDescr AutonomousType,
ups26AlarmTime TimeStamp
}
ups26AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups26AlarmEntry 1 }
ups26AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups26AlarmEntry 2 }
ups26AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups26AlarmTime shall equal
0."
::= { ups26AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups26WellKnownAlarms OBJECT IDENTIFIER ::= { ups26Alarm 3 }
ups26AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups26WellKnownAlarms 1 }
ups26AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups26WellKnownAlarms 2 }
ups26AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups26ConfigLowBattTime."
::= { ups26WellKnownAlarms 3 }
ups26AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups26WellKnownAlarms 4 }
ups26AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups26WellKnownAlarms 5 }
ups26AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups26WellKnownAlarms 6 }
ups26AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups26WellKnownAlarms 7 }
ups26AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups26WellKnownAlarms 8 }
ups26AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups26WellKnownAlarms 9 }
ups26AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups26WellKnownAlarms 10 }
ups26AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups26WellKnownAlarms 11 }
ups26AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups26WellKnownAlarms 12 }
ups26AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups26WellKnownAlarms 13 }
ups26AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups26WellKnownAlarms 14 }
ups26AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups26WellKnownAlarms 15 }
ups26AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups26WellKnownAlarms 16 }
ups26AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups26WellKnownAlarms 17 }
ups26AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups26WellKnownAlarms 18 }
ups26AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups26WellKnownAlarms 19 }
ups26AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups26WellKnownAlarms 20 }
ups26AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups26WellKnownAlarms 21 }
ups26AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups26ShutdownAfterDelay countdown is underway."
::= { ups26WellKnownAlarms 22 }
ups26AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups26WellKnownAlarms 23 }
ups26AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups26WellKnownAlarms 24 }
--
-- The Test Group
--
ups26Test OBJECT IDENTIFIER ::= { ups26Objects 7 }
ups26TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups26TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups26TestResultsSummary. Tests in progress may be
aborted by setting the ups26TestId variable to
ups26TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups26TestNoTestsInitiated is returned."
::= { ups26Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups26TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups26TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups26TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups26TestResultsSummary */
get (upsTestSpinLock, ups26TestResultsSummary,
ups26TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups26TestResultsSummary,
ups26TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups26TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups26TestSpinLock at agent
initialization shall
be 1."
::= { ups26Test 2 }
ups26TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups26TestId to ups26TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups26Test 3 }
ups26TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups26TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups26Test 4 }
ups26TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups26TestResultsSummary is noTestsInitiated(6),
ups26TestStartTime has the value 0."
::= { ups26Test 5 }
ups26TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups26TestResultsSummary is noTestsInitiated(6),
ups26TestElapsedTime has the value 0."
::= { ups26Test 6 }
--
-- Well known tests.
--
ups26WellKnownTests OBJECT IDENTIFIER ::= { ups26Test 7 }
ups26TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups26WellKnownTests 1 }
ups26TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups26WellKnownTests 2 }
ups26TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups26WellKnownTests 3 }
ups26TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups26WellKnownTests 4 }
ups26TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups26WellKnownTests 5 }
--
-- The Control group.
--
ups26Control OBJECT IDENTIFIER ::= { ups26Objects 8 }
ups26ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups26ShutdownAfterDelay and ups26RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups26Control 1 }
ups26ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups26ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups26ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups26ShutdownType =
output and the output is already off. When read,
ups26ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups26ShutdownAfterDelay already in effect."
::= { ups26Control 2 }
ups26StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups26StartupAfterDelay
countdown or ups26RebootWithDuration countdown in
progress. When read, ups26StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups26Control 3 }
ups26RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups26ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups26RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups26Control 4 }
--
-- notifications, i.e., traps
--
ups26Traps OBJECT IDENTIFIER ::= { upsModule26 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups26TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups26EstimatedMinutesRemaining, ups26SecondsOnBattery,
ups26ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups26Traps 1 }
ups26TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups26TestId, ups26TestSpinLock,
ups26TestResultsSummary, ups26TestResultsDetail,
ups26TestStartTime, ups26TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups26Traps 2 }
ups26TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups26AlarmId, ups26AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups26AlarmOnBattery and
ups26AlarmTestInProgress."
::= { ups26Traps 3 }
ups26TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups26AlarmId, ups26AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups26AlarmTestInProgress."
::= { ups26Traps 4 }
--
-- conformance information
--
ups26Conformance OBJECT IDENTIFIER ::= { upsModule26 3 }
ups26Compliances OBJECT IDENTIFIER ::= { ups26Conformance 1 }
--
-- compliance statements
--
ups26SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups26SubsetIdentGroup,
ups26SubsetBatteryGroup, ups26SubsetInputGroup,
ups26SubsetOutputGroup, ups26SubsetAlarmGroup,
ups26SubsetControlGroup }
OBJECT ups26BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups26AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups26AlarmOnBattery, ups26AlarmLowBattery,
ups26AlarmInputBad, ups26AlarmUpsOutputOff,
ups26AlarmUpsSystemOff, and ups26AlarmTestInProgress."
OBJECT ups26OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups26ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups26Compliances 1 }
ups26BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups26BasicIdentGroup,
ups26BasicBatteryGroup, ups26BasicInputGroup,
ups26BasicOutputGroup, ups26BasicAlarmGroup,
ups26BasicTestGroup, ups26BasicControlGroup }
OBJECT ups26AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups26AlarmOnBattery, ups26AlarmLowBattery,
ups26AlarmDepletedBattery, ups26AlarmTempBad,
ups26AlarmInputBad, ups26AlarmOutputOverload,
ups26AlarmOnBypass, ups26AlarmBypassBad,
ups26AlarmOutputOffAsRequested,
ups26AlarmUpsOffAsRequested, ups26AlarmUpsOutputOff,
ups26AlarmUpsSystemOff, ups26AlarmGeneralFault,
ups26AlarmDiagnosticTestFailed,
ups26AlarmCommunicationsLost, ups26AlarmShutdownPending,
and ups26AlarmTestInProgress."
OBJECT ups26TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups26TestNoTestsInitiated."
OBJECT ups26OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups26BasicBypassGroup
DESCRIPTION
"The ups26BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups26ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups26Compliances 2 }
ups26FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups26FullIdentGroup, ups26FullBatteryGroup,
ups26FullInputGroup, ups26FullOutputGroup,
ups26FullAlarmGroup, ups26FullTestGroup,
ups26FullControlGroup }
OBJECT ups26AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups26AlarmBatteryBad, ups26AlarmOnBattery,
ups26AlarmLowBattery, ups26AlarmDepletedBattery,
ups26AlarmTempBad, ups26AlarmInputBad, ups26AlarmOnBypass,
ups26AlarmBypassBad, ups26AlarmOutputOffAsRequested,
ups26AlarmUpsOffAsRequested, ups26AlarmUpsOutputOff,
ups26AlarmUpsSystemOff, ups26AlarmGeneralFault,
ups26AlarmDiagnosticTestFailed,
ups26AlarmCommunicationsLost, ups26AlarmShutdownPending,
and ups26AlarmTestInProgress."
OBJECT ups26TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups26TestNoTestsInitiated,
ups26TestGeneralSystemsTest, and
ups26TestQuickBatteryTest."
OBJECT ups26OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups26FullBypassGroup
DESCRIPTION
"The ups26FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups26ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups26Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups26Groups OBJECT IDENTIFIER ::= { ups26Conformance 2 }
ups26SubsetGroups OBJECT IDENTIFIER ::= { ups26Groups 1 }
ups26SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups26IdentManufacturer, ups26IdentModel,
ups26IdentAgentSoftwareVersion, ups26IdentName,
ups26IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups26SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups26SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups26SubsetGroups 1 }
ups26SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups26BatteryStatus, ups26SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups26SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups26SubsetGroups 2 }
ups26SubsetInputGroup OBJECT-GROUP
OBJECTS { ups26InputLineBads }
STATUS current
DESCRIPTION
"The ups26SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups26SubsetGroups 3 }
ups26SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups26OutputSource }
STATUS current
DESCRIPTION
"The ups26SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups26SubsetGroups 4 }
-- { ups26SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups26SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups26AlarmsPresent, ups26AlarmDescr, ups26AlarmTime }
STATUS current
DESCRIPTION
"The ups26SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups26SubsetGroups 6 }
-- { ups26SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups26SubsetControlGroup OBJECT-GROUP
OBJECTS { ups26ShutdownType, ups26ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups26SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups26SubsetGroups 8 }
ups26BasicGroups OBJECT IDENTIFIER ::= { ups26Groups 2 }
ups26BasicIdentGroup OBJECT-GROUP
OBJECTS { ups26IdentManufacturer, ups26IdentModel,
ups26IdentUPSSoftwareVersion,
ups26IdentAgentSoftwareVersion, ups26IdentName }
STATUS current
DESCRIPTION
"The ups26BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 1 }
ups26BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups26BatteryStatus, ups26SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups26BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 2 }
ups26BasicInputGroup OBJECT-GROUP
OBJECTS { ups26InputLineBads, ups26InputNumLines,
ups26InputFrequency, ups26InputVoltage }
STATUS current
DESCRIPTION
"The ups26BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 3 }
ups26BasicOutputGroup OBJECT-GROUP
OBJECTS { ups26OutputSource, ups26OutputFrequency,
ups26OutputNumLines, ups26OutputVoltage }
STATUS current
DESCRIPTION
"The ups26BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 4 }
ups26BasicBypassGroup OBJECT-GROUP
OBJECTS { ups26BypassFrequency, ups26BypassNumLines,
ups26BypassVoltage }
STATUS current
DESCRIPTION
"The ups26BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 5 }
ups26BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups26AlarmsPresent, ups26AlarmDescr, ups26AlarmTime }
STATUS current
DESCRIPTION
"The ups26BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 6 }
ups26BasicTestGroup OBJECT-GROUP
OBJECTS { ups26TestId, ups26TestSpinLock,
ups26TestResultsSummary, ups26TestResultsDetail,
ups26TestStartTime, ups26TestElapsedTime }
STATUS current
DESCRIPTION
"The ups26BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 7 }
ups26BasicControlGroup OBJECT-GROUP
OBJECTS { ups26ShutdownType, ups26ShutdownAfterDelay,
ups26StartupAfterDelay, ups26RebootWithDuration }
STATUS current
DESCRIPTION
"The ups26BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups26BasicGroups 8 }
ups26FullGroups OBJECT IDENTIFIER ::= { ups26Groups 3 }
ups26FullIdentGroup OBJECT-GROUP
OBJECTS { ups26IdentManufacturer, ups26IdentModel,
ups26IdentUPSSoftwareVersion,
ups26IdentAgentSoftwareVersion, ups26IdentName,
ups26IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups26FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups26FullGroups 1 }
ups26FullBatteryGroup OBJECT-GROUP
OBJECTS { ups26BatteryStatus, ups26SecondsOnBattery,
ups26EstimatedMinutesRemaining,
ups26EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups26FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups26FullGroups 2 }
ups26FullInputGroup OBJECT-GROUP
OBJECTS { ups26InputLineBads, ups26InputNumLines,
ups26InputFrequency, ups26InputVoltage }
STATUS current
DESCRIPTION
"The ups26FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups26FullGroups 3 }
ups26FullOutputGroup OBJECT-GROUP
OBJECTS { ups26OutputSource, ups26OutputFrequency,
ups26OutputNumLines, ups26OutputVoltage,
ups26OutputCurrent, ups26OutputPower,
ups26OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups26FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups26FullGroups 4 }
ups26FullBypassGroup OBJECT-GROUP
OBJECTS { ups26BypassFrequency, ups26BypassNumLines,
ups26BypassVoltage }
STATUS current
DESCRIPTION
"The ups26FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups26FullGroups 5 }
ups26FullAlarmGroup OBJECT-GROUP
OBJECTS { ups26AlarmsPresent, ups26AlarmDescr, ups26AlarmTime }
STATUS current
DESCRIPTION
"The ups26FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups26FullGroups 6 }
ups26FullTestGroup OBJECT-GROUP
OBJECTS { ups26TestId, ups26TestSpinLock,
ups26TestResultsSummary, ups26TestResultsDetail,
ups26TestStartTime, ups26TestElapsedTime }
STATUS current
DESCRIPTION
"The ups26FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups26FullGroups 7 }
ups26FullControlGroup OBJECT-GROUP
OBJECTS { ups26ShutdownType, ups26ShutdownAfterDelay,
ups26StartupAfterDelay, ups26RebootWithDuration }
STATUS current
DESCRIPTION
"The ups26FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups26FullGroups 8 }
--*******************************************************************
--
-- Module 27 data
--
upsModule27 OBJECT IDENTIFIER ::= { upsModular 28 }
ups27Objects OBJECT IDENTIFIER ::= { upsModule27 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups27IdentName and
-- ups27IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups27Ident OBJECT IDENTIFIER ::= { ups27Objects 1 }
ups27IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups27Ident 1 }
ups27IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups27Ident 2 }
ups27IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups27IdentAgentSoftwareVersion in some implementations."
::= { ups27Ident 3 }
ups27IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups27IdentUPSSoftwareVersion in some implementations."
::= { ups27Ident 4 }
ups27IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups27Ident 5 }
ups27IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups27Ident 6 }
--
-- Battery Group
--
ups27Battery OBJECT IDENTIFIER ::= { ups27Objects 2 }
ups27BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups27ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups27ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups27Battery 1 }
ups27SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups27Battery 2 }
ups27EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups27Battery 3 }
ups27EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups27Battery 4 }
ups27BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups27Battery 5 }
ups27BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups27Battery 6 }
ups27BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups27Battery 7 }
--
-- Input Group
--
ups27Input OBJECT IDENTIFIER ::= { ups27Objects 3 }
ups27InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups27Input 1 }
ups27InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups27Input 2 }
ups27InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups27InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups27InputNumLines."
::= { ups27Input 3 }
ups27InputEntry OBJECT-TYPE
SYNTAX Ups27InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups27InputLineIndex }
::= { ups27InputTable 1 }
Ups27InputEntry ::= SEQUENCE {
ups27InputLineIndex PositiveInteger,
ups27InputFrequency NonNegativeInteger,
ups27InputVoltage NonNegativeInteger,
ups27InputCurrent NonNegativeInteger,
ups27InputTruePower NonNegativeInteger
}
ups27InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups27InputEntry 1 }
ups27InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups27InputEntry 2 }
ups27InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups27InputEntry 3 }
ups27InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups27InputEntry 4 }
ups27InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups27InputEntry 5 }
--
-- The Output group.
--
ups27Output OBJECT IDENTIFIER ::= { ups27Objects 4 }
ups27OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups27Output 1 }
ups27OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups27Output 2 }
ups27OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups27Output 3 }
ups27OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups27OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups27OutputNumLines."
::= { ups27Output 4 }
ups27OutputEntry OBJECT-TYPE
SYNTAX Ups27OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups27OutputLineIndex }
::= { ups27OutputTable 1 }
Ups27OutputEntry ::= SEQUENCE {
ups27OutputLineIndex PositiveInteger,
ups27OutputVoltage NonNegativeInteger,
ups27OutputCurrent NonNegativeInteger,
ups27OutputPower NonNegativeInteger,
ups27OutputPercentLoad INTEGER
}
ups27OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups27OutputEntry 1 }
ups27OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups27OutputEntry 2 }
ups27OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups27OutputEntry 3 }
ups27OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups27OutputEntry 4 }
ups27OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups27OutputEntry 5 }
--
-- The Bypass group.
--
ups27Bypass OBJECT IDENTIFIER ::= { ups27Objects 5 }
ups27BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups27Bypass 1 }
ups27BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups27Bypass 2 }
ups27BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups27BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups27BypassNumLines."
::= { ups27Bypass 3 }
ups27BypassEntry OBJECT-TYPE
SYNTAX Ups27BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups27BypassLineIndex }
::= { ups27BypassTable 1 }
Ups27BypassEntry ::= SEQUENCE {
ups27BypassLineIndex PositiveInteger,
ups27BypassVoltage NonNegativeInteger,
ups27BypassCurrent NonNegativeInteger,
ups27BypassPower NonNegativeInteger
}
ups27BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups27BypassEntry 1 }
ups27BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups27BypassEntry 2 }
ups27BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups27BypassEntry 3 }
ups27BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups27BypassEntry 4 }
--
-- The Alarm group.
--
ups27Alarm OBJECT IDENTIFIER ::= { ups27Objects 6 }
ups27AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups27Alarm 1 }
ups27AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups27AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups27AlarmId equal to 1, and increments the value of
ups27AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups27AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups27AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups27AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups27AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups27AlarmsPresent."
::= { ups27Alarm 2 }
ups27AlarmEntry OBJECT-TYPE
SYNTAX Ups27AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups27AlarmId }
::= { ups27AlarmTable 1 }
Ups27AlarmEntry ::= SEQUENCE {
ups27AlarmId PositiveInteger,
ups27AlarmDescr AutonomousType,
ups27AlarmTime TimeStamp
}
ups27AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups27AlarmEntry 1 }
ups27AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups27AlarmEntry 2 }
ups27AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups27AlarmTime shall equal
0."
::= { ups27AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups27WellKnownAlarms OBJECT IDENTIFIER ::= { ups27Alarm 3 }
ups27AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups27WellKnownAlarms 1 }
ups27AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups27WellKnownAlarms 2 }
ups27AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups27ConfigLowBattTime."
::= { ups27WellKnownAlarms 3 }
ups27AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups27WellKnownAlarms 4 }
ups27AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups27WellKnownAlarms 5 }
ups27AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups27WellKnownAlarms 6 }
ups27AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups27WellKnownAlarms 7 }
ups27AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups27WellKnownAlarms 8 }
ups27AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups27WellKnownAlarms 9 }
ups27AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups27WellKnownAlarms 10 }
ups27AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups27WellKnownAlarms 11 }
ups27AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups27WellKnownAlarms 12 }
ups27AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups27WellKnownAlarms 13 }
ups27AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups27WellKnownAlarms 14 }
ups27AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups27WellKnownAlarms 15 }
ups27AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups27WellKnownAlarms 16 }
ups27AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups27WellKnownAlarms 17 }
ups27AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups27WellKnownAlarms 18 }
ups27AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups27WellKnownAlarms 19 }
ups27AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups27WellKnownAlarms 20 }
ups27AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups27WellKnownAlarms 21 }
ups27AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups27ShutdownAfterDelay countdown is underway."
::= { ups27WellKnownAlarms 22 }
ups27AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups27WellKnownAlarms 23 }
ups27AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups27WellKnownAlarms 24 }
--
-- The Test Group
--
ups27Test OBJECT IDENTIFIER ::= { ups27Objects 7 }
ups27TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups27TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups27TestResultsSummary. Tests in progress may be
aborted by setting the ups27TestId variable to
ups27TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups27TestNoTestsInitiated is returned."
::= { ups27Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups27TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups27TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups27TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups27TestResultsSummary */
get (upsTestSpinLock, ups27TestResultsSummary,
ups27TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups27TestResultsSummary,
ups27TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups27TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups27TestSpinLock at agent
initialization shall
be 1."
::= { ups27Test 2 }
ups27TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups27TestId to ups27TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups27Test 3 }
ups27TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups27TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups27Test 4 }
ups27TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups27TestResultsSummary is noTestsInitiated(6),
ups27TestStartTime has the value 0."
::= { ups27Test 5 }
ups27TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups27TestResultsSummary is noTestsInitiated(6),
ups27TestElapsedTime has the value 0."
::= { ups27Test 6 }
--
-- Well known tests.
--
ups27WellKnownTests OBJECT IDENTIFIER ::= { ups27Test 7 }
ups27TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups27WellKnownTests 1 }
ups27TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups27WellKnownTests 2 }
ups27TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups27WellKnownTests 3 }
ups27TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups27WellKnownTests 4 }
ups27TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups27WellKnownTests 5 }
--
-- The Control group.
--
ups27Control OBJECT IDENTIFIER ::= { ups27Objects 8 }
ups27ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups27ShutdownAfterDelay and ups27RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups27Control 1 }
ups27ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups27ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups27ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups27ShutdownType =
output and the output is already off. When read,
ups27ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups27ShutdownAfterDelay already in effect."
::= { ups27Control 2 }
ups27StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups27StartupAfterDelay
countdown or ups27RebootWithDuration countdown in
progress. When read, ups27StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups27Control 3 }
ups27RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups27ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups27RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups27Control 4 }
--
-- notifications, i.e., traps
--
ups27Traps OBJECT IDENTIFIER ::= { upsModule27 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups27TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups27EstimatedMinutesRemaining, ups27SecondsOnBattery,
ups27ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups27Traps 1 }
ups27TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups27TestId, ups27TestSpinLock,
ups27TestResultsSummary, ups27TestResultsDetail,
ups27TestStartTime, ups27TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups27Traps 2 }
ups27TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups27AlarmId, ups27AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups27AlarmOnBattery and
ups27AlarmTestInProgress."
::= { ups27Traps 3 }
ups27TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups27AlarmId, ups27AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups27AlarmTestInProgress."
::= { ups27Traps 4 }
--
-- conformance information
--
ups27Conformance OBJECT IDENTIFIER ::= { upsModule27 3 }
ups27Compliances OBJECT IDENTIFIER ::= { ups27Conformance 1 }
--
-- compliance statements
--
ups27SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups27SubsetIdentGroup,
ups27SubsetBatteryGroup, ups27SubsetInputGroup,
ups27SubsetOutputGroup, ups27SubsetAlarmGroup,
ups27SubsetControlGroup }
OBJECT ups27BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups27AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups27AlarmOnBattery, ups27AlarmLowBattery,
ups27AlarmInputBad, ups27AlarmUpsOutputOff,
ups27AlarmUpsSystemOff, and ups27AlarmTestInProgress."
OBJECT ups27OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups27ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups27Compliances 1 }
ups27BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups27BasicIdentGroup,
ups27BasicBatteryGroup, ups27BasicInputGroup,
ups27BasicOutputGroup, ups27BasicAlarmGroup,
ups27BasicTestGroup, ups27BasicControlGroup }
OBJECT ups27AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups27AlarmOnBattery, ups27AlarmLowBattery,
ups27AlarmDepletedBattery, ups27AlarmTempBad,
ups27AlarmInputBad, ups27AlarmOutputOverload,
ups27AlarmOnBypass, ups27AlarmBypassBad,
ups27AlarmOutputOffAsRequested,
ups27AlarmUpsOffAsRequested, ups27AlarmUpsOutputOff,
ups27AlarmUpsSystemOff, ups27AlarmGeneralFault,
ups27AlarmDiagnosticTestFailed,
ups27AlarmCommunicationsLost, ups27AlarmShutdownPending,
and ups27AlarmTestInProgress."
OBJECT ups27TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups27TestNoTestsInitiated."
OBJECT ups27OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups27BasicBypassGroup
DESCRIPTION
"The ups27BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups27ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups27Compliances 2 }
ups27FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups27FullIdentGroup, ups27FullBatteryGroup,
ups27FullInputGroup, ups27FullOutputGroup,
ups27FullAlarmGroup, ups27FullTestGroup,
ups27FullControlGroup }
OBJECT ups27AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups27AlarmBatteryBad, ups27AlarmOnBattery,
ups27AlarmLowBattery, ups27AlarmDepletedBattery,
ups27AlarmTempBad, ups27AlarmInputBad, ups27AlarmOnBypass,
ups27AlarmBypassBad, ups27AlarmOutputOffAsRequested,
ups27AlarmUpsOffAsRequested, ups27AlarmUpsOutputOff,
ups27AlarmUpsSystemOff, ups27AlarmGeneralFault,
ups27AlarmDiagnosticTestFailed,
ups27AlarmCommunicationsLost, ups27AlarmShutdownPending,
and ups27AlarmTestInProgress."
OBJECT ups27TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups27TestNoTestsInitiated,
ups27TestGeneralSystemsTest, and
ups27TestQuickBatteryTest."
OBJECT ups27OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups27FullBypassGroup
DESCRIPTION
"The ups27FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups27ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups27Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups27Groups OBJECT IDENTIFIER ::= { ups27Conformance 2 }
ups27SubsetGroups OBJECT IDENTIFIER ::= { ups27Groups 1 }
ups27SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups27IdentManufacturer, ups27IdentModel,
ups27IdentAgentSoftwareVersion, ups27IdentName,
ups27IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups27SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups27SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups27SubsetGroups 1 }
ups27SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups27BatteryStatus, ups27SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups27SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups27SubsetGroups 2 }
ups27SubsetInputGroup OBJECT-GROUP
OBJECTS { ups27InputLineBads }
STATUS current
DESCRIPTION
"The ups27SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups27SubsetGroups 3 }
ups27SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups27OutputSource }
STATUS current
DESCRIPTION
"The ups27SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups27SubsetGroups 4 }
-- { ups27SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups27SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups27AlarmsPresent, ups27AlarmDescr, ups27AlarmTime }
STATUS current
DESCRIPTION
"The ups27SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups27SubsetGroups 6 }
-- { ups27SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups27SubsetControlGroup OBJECT-GROUP
OBJECTS { ups27ShutdownType, ups27ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups27SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups27SubsetGroups 8 }
ups27BasicGroups OBJECT IDENTIFIER ::= { ups27Groups 2 }
ups27BasicIdentGroup OBJECT-GROUP
OBJECTS { ups27IdentManufacturer, ups27IdentModel,
ups27IdentUPSSoftwareVersion,
ups27IdentAgentSoftwareVersion, ups27IdentName }
STATUS current
DESCRIPTION
"The ups27BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 1 }
ups27BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups27BatteryStatus, ups27SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups27BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 2 }
ups27BasicInputGroup OBJECT-GROUP
OBJECTS { ups27InputLineBads, ups27InputNumLines,
ups27InputFrequency, ups27InputVoltage }
STATUS current
DESCRIPTION
"The ups27BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 3 }
ups27BasicOutputGroup OBJECT-GROUP
OBJECTS { ups27OutputSource, ups27OutputFrequency,
ups27OutputNumLines, ups27OutputVoltage }
STATUS current
DESCRIPTION
"The ups27BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 4 }
ups27BasicBypassGroup OBJECT-GROUP
OBJECTS { ups27BypassFrequency, ups27BypassNumLines,
ups27BypassVoltage }
STATUS current
DESCRIPTION
"The ups27BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 5 }
ups27BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups27AlarmsPresent, ups27AlarmDescr, ups27AlarmTime }
STATUS current
DESCRIPTION
"The ups27BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 6 }
ups27BasicTestGroup OBJECT-GROUP
OBJECTS { ups27TestId, ups27TestSpinLock,
ups27TestResultsSummary, ups27TestResultsDetail,
ups27TestStartTime, ups27TestElapsedTime }
STATUS current
DESCRIPTION
"The ups27BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 7 }
ups27BasicControlGroup OBJECT-GROUP
OBJECTS { ups27ShutdownType, ups27ShutdownAfterDelay,
ups27StartupAfterDelay, ups27RebootWithDuration }
STATUS current
DESCRIPTION
"The ups27BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups27BasicGroups 8 }
ups27FullGroups OBJECT IDENTIFIER ::= { ups27Groups 3 }
ups27FullIdentGroup OBJECT-GROUP
OBJECTS { ups27IdentManufacturer, ups27IdentModel,
ups27IdentUPSSoftwareVersion,
ups27IdentAgentSoftwareVersion, ups27IdentName,
ups27IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups27FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups27FullGroups 1 }
ups27FullBatteryGroup OBJECT-GROUP
OBJECTS { ups27BatteryStatus, ups27SecondsOnBattery,
ups27EstimatedMinutesRemaining,
ups27EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups27FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups27FullGroups 2 }
ups27FullInputGroup OBJECT-GROUP
OBJECTS { ups27InputLineBads, ups27InputNumLines,
ups27InputFrequency, ups27InputVoltage }
STATUS current
DESCRIPTION
"The ups27FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups27FullGroups 3 }
ups27FullOutputGroup OBJECT-GROUP
OBJECTS { ups27OutputSource, ups27OutputFrequency,
ups27OutputNumLines, ups27OutputVoltage,
ups27OutputCurrent, ups27OutputPower,
ups27OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups27FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups27FullGroups 4 }
ups27FullBypassGroup OBJECT-GROUP
OBJECTS { ups27BypassFrequency, ups27BypassNumLines,
ups27BypassVoltage }
STATUS current
DESCRIPTION
"The ups27FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups27FullGroups 5 }
ups27FullAlarmGroup OBJECT-GROUP
OBJECTS { ups27AlarmsPresent, ups27AlarmDescr, ups27AlarmTime }
STATUS current
DESCRIPTION
"The ups27FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups27FullGroups 6 }
ups27FullTestGroup OBJECT-GROUP
OBJECTS { ups27TestId, ups27TestSpinLock,
ups27TestResultsSummary, ups27TestResultsDetail,
ups27TestStartTime, ups27TestElapsedTime }
STATUS current
DESCRIPTION
"The ups27FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups27FullGroups 7 }
ups27FullControlGroup OBJECT-GROUP
OBJECTS { ups27ShutdownType, ups27ShutdownAfterDelay,
ups27StartupAfterDelay, ups27RebootWithDuration }
STATUS current
DESCRIPTION
"The ups27FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups27FullGroups 8 }
--*******************************************************************
--
-- Module 28 data
--
upsModule28 OBJECT IDENTIFIER ::= { upsModular 29 }
ups28Objects OBJECT IDENTIFIER ::= { upsModule28 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups28IdentName and
-- ups28IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups28Ident OBJECT IDENTIFIER ::= { ups28Objects 1 }
ups28IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups28Ident 1 }
ups28IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups28Ident 2 }
ups28IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups28IdentAgentSoftwareVersion in some implementations."
::= { ups28Ident 3 }
ups28IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups28IdentUPSSoftwareVersion in some implementations."
::= { ups28Ident 4 }
ups28IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups28Ident 5 }
ups28IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups28Ident 6 }
--
-- Battery Group
--
ups28Battery OBJECT IDENTIFIER ::= { ups28Objects 2 }
ups28BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups28ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups28ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups28Battery 1 }
ups28SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups28Battery 2 }
ups28EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups28Battery 3 }
ups28EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups28Battery 4 }
ups28BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups28Battery 5 }
ups28BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups28Battery 6 }
ups28BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups28Battery 7 }
--
-- Input Group
--
ups28Input OBJECT IDENTIFIER ::= { ups28Objects 3 }
ups28InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups28Input 1 }
ups28InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups28Input 2 }
ups28InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups28InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups28InputNumLines."
::= { ups28Input 3 }
ups28InputEntry OBJECT-TYPE
SYNTAX Ups28InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups28InputLineIndex }
::= { ups28InputTable 1 }
Ups28InputEntry ::= SEQUENCE {
ups28InputLineIndex PositiveInteger,
ups28InputFrequency NonNegativeInteger,
ups28InputVoltage NonNegativeInteger,
ups28InputCurrent NonNegativeInteger,
ups28InputTruePower NonNegativeInteger
}
ups28InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups28InputEntry 1 }
ups28InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups28InputEntry 2 }
ups28InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups28InputEntry 3 }
ups28InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups28InputEntry 4 }
ups28InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups28InputEntry 5 }
--
-- The Output group.
--
ups28Output OBJECT IDENTIFIER ::= { ups28Objects 4 }
ups28OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups28Output 1 }
ups28OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups28Output 2 }
ups28OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups28Output 3 }
ups28OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups28OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups28OutputNumLines."
::= { ups28Output 4 }
ups28OutputEntry OBJECT-TYPE
SYNTAX Ups28OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups28OutputLineIndex }
::= { ups28OutputTable 1 }
Ups28OutputEntry ::= SEQUENCE {
ups28OutputLineIndex PositiveInteger,
ups28OutputVoltage NonNegativeInteger,
ups28OutputCurrent NonNegativeInteger,
ups28OutputPower NonNegativeInteger,
ups28OutputPercentLoad INTEGER
}
ups28OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups28OutputEntry 1 }
ups28OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups28OutputEntry 2 }
ups28OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups28OutputEntry 3 }
ups28OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups28OutputEntry 4 }
ups28OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups28OutputEntry 5 }
--
-- The Bypass group.
--
ups28Bypass OBJECT IDENTIFIER ::= { ups28Objects 5 }
ups28BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups28Bypass 1 }
ups28BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups28Bypass 2 }
ups28BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups28BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups28BypassNumLines."
::= { ups28Bypass 3 }
ups28BypassEntry OBJECT-TYPE
SYNTAX Ups28BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups28BypassLineIndex }
::= { ups28BypassTable 1 }
Ups28BypassEntry ::= SEQUENCE {
ups28BypassLineIndex PositiveInteger,
ups28BypassVoltage NonNegativeInteger,
ups28BypassCurrent NonNegativeInteger,
ups28BypassPower NonNegativeInteger
}
ups28BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups28BypassEntry 1 }
ups28BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups28BypassEntry 2 }
ups28BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups28BypassEntry 3 }
ups28BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups28BypassEntry 4 }
--
-- The Alarm group.
--
ups28Alarm OBJECT IDENTIFIER ::= { ups28Objects 6 }
ups28AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups28Alarm 1 }
ups28AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups28AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups28AlarmId equal to 1, and increments the value of
ups28AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups28AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups28AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups28AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups28AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups28AlarmsPresent."
::= { ups28Alarm 2 }
ups28AlarmEntry OBJECT-TYPE
SYNTAX Ups28AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups28AlarmId }
::= { ups28AlarmTable 1 }
Ups28AlarmEntry ::= SEQUENCE {
ups28AlarmId PositiveInteger,
ups28AlarmDescr AutonomousType,
ups28AlarmTime TimeStamp
}
ups28AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups28AlarmEntry 1 }
ups28AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups28AlarmEntry 2 }
ups28AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups28AlarmTime shall equal
0."
::= { ups28AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups28WellKnownAlarms OBJECT IDENTIFIER ::= { ups28Alarm 3 }
ups28AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups28WellKnownAlarms 1 }
ups28AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups28WellKnownAlarms 2 }
ups28AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups28ConfigLowBattTime."
::= { ups28WellKnownAlarms 3 }
ups28AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups28WellKnownAlarms 4 }
ups28AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups28WellKnownAlarms 5 }
ups28AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups28WellKnownAlarms 6 }
ups28AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups28WellKnownAlarms 7 }
ups28AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups28WellKnownAlarms 8 }
ups28AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups28WellKnownAlarms 9 }
ups28AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups28WellKnownAlarms 10 }
ups28AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups28WellKnownAlarms 11 }
ups28AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups28WellKnownAlarms 12 }
ups28AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups28WellKnownAlarms 13 }
ups28AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups28WellKnownAlarms 14 }
ups28AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups28WellKnownAlarms 15 }
ups28AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups28WellKnownAlarms 16 }
ups28AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups28WellKnownAlarms 17 }
ups28AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups28WellKnownAlarms 18 }
ups28AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups28WellKnownAlarms 19 }
ups28AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups28WellKnownAlarms 20 }
ups28AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups28WellKnownAlarms 21 }
ups28AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups28ShutdownAfterDelay countdown is underway."
::= { ups28WellKnownAlarms 22 }
ups28AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups28WellKnownAlarms 23 }
ups28AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups28WellKnownAlarms 24 }
--
-- The Test Group
--
ups28Test OBJECT IDENTIFIER ::= { ups28Objects 7 }
ups28TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups28TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups28TestResultsSummary. Tests in progress may be
aborted by setting the ups28TestId variable to
ups28TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups28TestNoTestsInitiated is returned."
::= { ups28Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups28TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups28TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups28TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups28TestResultsSummary */
get (upsTestSpinLock, ups28TestResultsSummary,
ups28TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups28TestResultsSummary,
ups28TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups28TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups28TestSpinLock at agent
initialization shall
be 1."
::= { ups28Test 2 }
ups28TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups28TestId to ups28TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups28Test 3 }
ups28TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups28TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups28Test 4 }
ups28TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups28TestResultsSummary is noTestsInitiated(6),
ups28TestStartTime has the value 0."
::= { ups28Test 5 }
ups28TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups28TestResultsSummary is noTestsInitiated(6),
ups28TestElapsedTime has the value 0."
::= { ups28Test 6 }
--
-- Well known tests.
--
ups28WellKnownTests OBJECT IDENTIFIER ::= { ups28Test 7 }
ups28TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups28WellKnownTests 1 }
ups28TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups28WellKnownTests 2 }
ups28TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups28WellKnownTests 3 }
ups28TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups28WellKnownTests 4 }
ups28TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups28WellKnownTests 5 }
--
-- The Control group.
--
ups28Control OBJECT IDENTIFIER ::= { ups28Objects 8 }
ups28ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups28ShutdownAfterDelay and ups28RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups28Control 1 }
ups28ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups28ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups28ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups28ShutdownType =
output and the output is already off. When read,
ups28ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups28ShutdownAfterDelay already in effect."
::= { ups28Control 2 }
ups28StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups28StartupAfterDelay
countdown or ups28RebootWithDuration countdown in
progress. When read, ups28StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups28Control 3 }
ups28RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups28ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups28RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups28Control 4 }
--
-- notifications, i.e., traps
--
ups28Traps OBJECT IDENTIFIER ::= { upsModule28 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups28TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups28EstimatedMinutesRemaining, ups28SecondsOnBattery,
ups28ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups28Traps 1 }
ups28TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups28TestId, ups28TestSpinLock,
ups28TestResultsSummary, ups28TestResultsDetail,
ups28TestStartTime, ups28TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups28Traps 2 }
ups28TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups28AlarmId, ups28AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups28AlarmOnBattery and
ups28AlarmTestInProgress."
::= { ups28Traps 3 }
ups28TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups28AlarmId, ups28AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups28AlarmTestInProgress."
::= { ups28Traps 4 }
--
-- conformance information
--
ups28Conformance OBJECT IDENTIFIER ::= { upsModule28 3 }
ups28Compliances OBJECT IDENTIFIER ::= { ups28Conformance 1 }
--
-- compliance statements
--
ups28SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups28SubsetIdentGroup,
ups28SubsetBatteryGroup, ups28SubsetInputGroup,
ups28SubsetOutputGroup, ups28SubsetAlarmGroup,
ups28SubsetControlGroup }
OBJECT ups28BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups28AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups28AlarmOnBattery, ups28AlarmLowBattery,
ups28AlarmInputBad, ups28AlarmUpsOutputOff,
ups28AlarmUpsSystemOff, and ups28AlarmTestInProgress."
OBJECT ups28OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups28ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups28Compliances 1 }
ups28BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups28BasicIdentGroup,
ups28BasicBatteryGroup, ups28BasicInputGroup,
ups28BasicOutputGroup, ups28BasicAlarmGroup,
ups28BasicTestGroup, ups28BasicControlGroup }
OBJECT ups28AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups28AlarmOnBattery, ups28AlarmLowBattery,
ups28AlarmDepletedBattery, ups28AlarmTempBad,
ups28AlarmInputBad, ups28AlarmOutputOverload,
ups28AlarmOnBypass, ups28AlarmBypassBad,
ups28AlarmOutputOffAsRequested,
ups28AlarmUpsOffAsRequested, ups28AlarmUpsOutputOff,
ups28AlarmUpsSystemOff, ups28AlarmGeneralFault,
ups28AlarmDiagnosticTestFailed,
ups28AlarmCommunicationsLost, ups28AlarmShutdownPending,
and ups28AlarmTestInProgress."
OBJECT ups28TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups28TestNoTestsInitiated."
OBJECT ups28OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups28BasicBypassGroup
DESCRIPTION
"The ups28BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups28ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups28Compliances 2 }
ups28FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups28FullIdentGroup, ups28FullBatteryGroup,
ups28FullInputGroup, ups28FullOutputGroup,
ups28FullAlarmGroup, ups28FullTestGroup,
ups28FullControlGroup }
OBJECT ups28AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups28AlarmBatteryBad, ups28AlarmOnBattery,
ups28AlarmLowBattery, ups28AlarmDepletedBattery,
ups28AlarmTempBad, ups28AlarmInputBad, ups28AlarmOnBypass,
ups28AlarmBypassBad, ups28AlarmOutputOffAsRequested,
ups28AlarmUpsOffAsRequested, ups28AlarmUpsOutputOff,
ups28AlarmUpsSystemOff, ups28AlarmGeneralFault,
ups28AlarmDiagnosticTestFailed,
ups28AlarmCommunicationsLost, ups28AlarmShutdownPending,
and ups28AlarmTestInProgress."
OBJECT ups28TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups28TestNoTestsInitiated,
ups28TestGeneralSystemsTest, and
ups28TestQuickBatteryTest."
OBJECT ups28OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups28FullBypassGroup
DESCRIPTION
"The ups28FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups28ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups28Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups28Groups OBJECT IDENTIFIER ::= { ups28Conformance 2 }
ups28SubsetGroups OBJECT IDENTIFIER ::= { ups28Groups 1 }
ups28SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups28IdentManufacturer, ups28IdentModel,
ups28IdentAgentSoftwareVersion, ups28IdentName,
ups28IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups28SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups28SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups28SubsetGroups 1 }
ups28SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups28BatteryStatus, ups28SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups28SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups28SubsetGroups 2 }
ups28SubsetInputGroup OBJECT-GROUP
OBJECTS { ups28InputLineBads }
STATUS current
DESCRIPTION
"The ups28SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups28SubsetGroups 3 }
ups28SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups28OutputSource }
STATUS current
DESCRIPTION
"The ups28SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups28SubsetGroups 4 }
-- { ups28SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups28SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups28AlarmsPresent, ups28AlarmDescr, ups28AlarmTime }
STATUS current
DESCRIPTION
"The ups28SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups28SubsetGroups 6 }
-- { ups28SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups28SubsetControlGroup OBJECT-GROUP
OBJECTS { ups28ShutdownType, ups28ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups28SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups28SubsetGroups 8 }
ups28BasicGroups OBJECT IDENTIFIER ::= { ups28Groups 2 }
ups28BasicIdentGroup OBJECT-GROUP
OBJECTS { ups28IdentManufacturer, ups28IdentModel,
ups28IdentUPSSoftwareVersion,
ups28IdentAgentSoftwareVersion, ups28IdentName }
STATUS current
DESCRIPTION
"The ups28BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 1 }
ups28BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups28BatteryStatus, ups28SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups28BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 2 }
ups28BasicInputGroup OBJECT-GROUP
OBJECTS { ups28InputLineBads, ups28InputNumLines,
ups28InputFrequency, ups28InputVoltage }
STATUS current
DESCRIPTION
"The ups28BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 3 }
ups28BasicOutputGroup OBJECT-GROUP
OBJECTS { ups28OutputSource, ups28OutputFrequency,
ups28OutputNumLines, ups28OutputVoltage }
STATUS current
DESCRIPTION
"The ups28BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 4 }
ups28BasicBypassGroup OBJECT-GROUP
OBJECTS { ups28BypassFrequency, ups28BypassNumLines,
ups28BypassVoltage }
STATUS current
DESCRIPTION
"The ups28BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 5 }
ups28BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups28AlarmsPresent, ups28AlarmDescr, ups28AlarmTime }
STATUS current
DESCRIPTION
"The ups28BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 6 }
ups28BasicTestGroup OBJECT-GROUP
OBJECTS { ups28TestId, ups28TestSpinLock,
ups28TestResultsSummary, ups28TestResultsDetail,
ups28TestStartTime, ups28TestElapsedTime }
STATUS current
DESCRIPTION
"The ups28BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 7 }
ups28BasicControlGroup OBJECT-GROUP
OBJECTS { ups28ShutdownType, ups28ShutdownAfterDelay,
ups28StartupAfterDelay, ups28RebootWithDuration }
STATUS current
DESCRIPTION
"The ups28BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups28BasicGroups 8 }
ups28FullGroups OBJECT IDENTIFIER ::= { ups28Groups 3 }
ups28FullIdentGroup OBJECT-GROUP
OBJECTS { ups28IdentManufacturer, ups28IdentModel,
ups28IdentUPSSoftwareVersion,
ups28IdentAgentSoftwareVersion, ups28IdentName,
ups28IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups28FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups28FullGroups 1 }
ups28FullBatteryGroup OBJECT-GROUP
OBJECTS { ups28BatteryStatus, ups28SecondsOnBattery,
ups28EstimatedMinutesRemaining,
ups28EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups28FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups28FullGroups 2 }
ups28FullInputGroup OBJECT-GROUP
OBJECTS { ups28InputLineBads, ups28InputNumLines,
ups28InputFrequency, ups28InputVoltage }
STATUS current
DESCRIPTION
"The ups28FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups28FullGroups 3 }
ups28FullOutputGroup OBJECT-GROUP
OBJECTS { ups28OutputSource, ups28OutputFrequency,
ups28OutputNumLines, ups28OutputVoltage,
ups28OutputCurrent, ups28OutputPower,
ups28OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups28FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups28FullGroups 4 }
ups28FullBypassGroup OBJECT-GROUP
OBJECTS { ups28BypassFrequency, ups28BypassNumLines,
ups28BypassVoltage }
STATUS current
DESCRIPTION
"The ups28FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups28FullGroups 5 }
ups28FullAlarmGroup OBJECT-GROUP
OBJECTS { ups28AlarmsPresent, ups28AlarmDescr, ups28AlarmTime }
STATUS current
DESCRIPTION
"The ups28FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups28FullGroups 6 }
ups28FullTestGroup OBJECT-GROUP
OBJECTS { ups28TestId, ups28TestSpinLock,
ups28TestResultsSummary, ups28TestResultsDetail,
ups28TestStartTime, ups28TestElapsedTime }
STATUS current
DESCRIPTION
"The ups28FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups28FullGroups 7 }
ups28FullControlGroup OBJECT-GROUP
OBJECTS { ups28ShutdownType, ups28ShutdownAfterDelay,
ups28StartupAfterDelay, ups28RebootWithDuration }
STATUS current
DESCRIPTION
"The ups28FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups28FullGroups 8 }
--*******************************************************************
--
-- Module 29 data
--
upsModule29 OBJECT IDENTIFIER ::= { upsModular 30 }
ups29Objects OBJECT IDENTIFIER ::= { upsModule29 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups29IdentName and
-- ups29IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups29Ident OBJECT IDENTIFIER ::= { ups29Objects 1 }
ups29IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups29Ident 1 }
ups29IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups29Ident 2 }
ups29IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups29IdentAgentSoftwareVersion in some implementations."
::= { ups29Ident 3 }
ups29IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups29IdentUPSSoftwareVersion in some implementations."
::= { ups29Ident 4 }
ups29IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups29Ident 5 }
ups29IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups29Ident 6 }
--
-- Battery Group
--
ups29Battery OBJECT IDENTIFIER ::= { ups29Objects 2 }
ups29BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups29ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups29ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups29Battery 1 }
ups29SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups29Battery 2 }
ups29EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups29Battery 3 }
ups29EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups29Battery 4 }
ups29BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups29Battery 5 }
ups29BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups29Battery 6 }
ups29BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups29Battery 7 }
--
-- Input Group
--
ups29Input OBJECT IDENTIFIER ::= { ups29Objects 3 }
ups29InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups29Input 1 }
ups29InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups29Input 2 }
ups29InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups29InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups29InputNumLines."
::= { ups29Input 3 }
ups29InputEntry OBJECT-TYPE
SYNTAX Ups29InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups29InputLineIndex }
::= { ups29InputTable 1 }
Ups29InputEntry ::= SEQUENCE {
ups29InputLineIndex PositiveInteger,
ups29InputFrequency NonNegativeInteger,
ups29InputVoltage NonNegativeInteger,
ups29InputCurrent NonNegativeInteger,
ups29InputTruePower NonNegativeInteger
}
ups29InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups29InputEntry 1 }
ups29InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups29InputEntry 2 }
ups29InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups29InputEntry 3 }
ups29InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups29InputEntry 4 }
ups29InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups29InputEntry 5 }
--
-- The Output group.
--
ups29Output OBJECT IDENTIFIER ::= { ups29Objects 4 }
ups29OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups29Output 1 }
ups29OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups29Output 2 }
ups29OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups29Output 3 }
ups29OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups29OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups29OutputNumLines."
::= { ups29Output 4 }
ups29OutputEntry OBJECT-TYPE
SYNTAX Ups29OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups29OutputLineIndex }
::= { ups29OutputTable 1 }
Ups29OutputEntry ::= SEQUENCE {
ups29OutputLineIndex PositiveInteger,
ups29OutputVoltage NonNegativeInteger,
ups29OutputCurrent NonNegativeInteger,
ups29OutputPower NonNegativeInteger,
ups29OutputPercentLoad INTEGER
}
ups29OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups29OutputEntry 1 }
ups29OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups29OutputEntry 2 }
ups29OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups29OutputEntry 3 }
ups29OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups29OutputEntry 4 }
ups29OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups29OutputEntry 5 }
--
-- The Bypass group.
--
ups29Bypass OBJECT IDENTIFIER ::= { ups29Objects 5 }
ups29BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups29Bypass 1 }
ups29BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups29Bypass 2 }
ups29BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups29BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups29BypassNumLines."
::= { ups29Bypass 3 }
ups29BypassEntry OBJECT-TYPE
SYNTAX Ups29BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups29BypassLineIndex }
::= { ups29BypassTable 1 }
Ups29BypassEntry ::= SEQUENCE {
ups29BypassLineIndex PositiveInteger,
ups29BypassVoltage NonNegativeInteger,
ups29BypassCurrent NonNegativeInteger,
ups29BypassPower NonNegativeInteger
}
ups29BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups29BypassEntry 1 }
ups29BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups29BypassEntry 2 }
ups29BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups29BypassEntry 3 }
ups29BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups29BypassEntry 4 }
--
-- The Alarm group.
--
ups29Alarm OBJECT IDENTIFIER ::= { ups29Objects 6 }
ups29AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups29Alarm 1 }
ups29AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups29AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups29AlarmId equal to 1, and increments the value of
ups29AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups29AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups29AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups29AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups29AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups29AlarmsPresent."
::= { ups29Alarm 2 }
ups29AlarmEntry OBJECT-TYPE
SYNTAX Ups29AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups29AlarmId }
::= { ups29AlarmTable 1 }
Ups29AlarmEntry ::= SEQUENCE {
ups29AlarmId PositiveInteger,
ups29AlarmDescr AutonomousType,
ups29AlarmTime TimeStamp
}
ups29AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups29AlarmEntry 1 }
ups29AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups29AlarmEntry 2 }
ups29AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups29AlarmTime shall equal
0."
::= { ups29AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups29WellKnownAlarms OBJECT IDENTIFIER ::= { ups29Alarm 3 }
ups29AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups29WellKnownAlarms 1 }
ups29AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups29WellKnownAlarms 2 }
ups29AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups29ConfigLowBattTime."
::= { ups29WellKnownAlarms 3 }
ups29AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups29WellKnownAlarms 4 }
ups29AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups29WellKnownAlarms 5 }
ups29AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups29WellKnownAlarms 6 }
ups29AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups29WellKnownAlarms 7 }
ups29AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups29WellKnownAlarms 8 }
ups29AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups29WellKnownAlarms 9 }
ups29AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups29WellKnownAlarms 10 }
ups29AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups29WellKnownAlarms 11 }
ups29AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups29WellKnownAlarms 12 }
ups29AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups29WellKnownAlarms 13 }
ups29AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups29WellKnownAlarms 14 }
ups29AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups29WellKnownAlarms 15 }
ups29AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups29WellKnownAlarms 16 }
ups29AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups29WellKnownAlarms 17 }
ups29AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups29WellKnownAlarms 18 }
ups29AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups29WellKnownAlarms 19 }
ups29AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups29WellKnownAlarms 20 }
ups29AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups29WellKnownAlarms 21 }
ups29AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups29ShutdownAfterDelay countdown is underway."
::= { ups29WellKnownAlarms 22 }
ups29AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups29WellKnownAlarms 23 }
ups29AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups29WellKnownAlarms 24 }
--
-- The Test Group
--
ups29Test OBJECT IDENTIFIER ::= { ups29Objects 7 }
ups29TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups29TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups29TestResultsSummary. Tests in progress may be
aborted by setting the ups29TestId variable to
ups29TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups29TestNoTestsInitiated is returned."
::= { ups29Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups29TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups29TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups29TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups29TestResultsSummary */
get (upsTestSpinLock, ups29TestResultsSummary,
ups29TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups29TestResultsSummary,
ups29TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups29TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups29TestSpinLock at agent
initialization shall
be 1."
::= { ups29Test 2 }
ups29TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups29TestId to ups29TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups29Test 3 }
ups29TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups29TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups29Test 4 }
ups29TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups29TestResultsSummary is noTestsInitiated(6),
ups29TestStartTime has the value 0."
::= { ups29Test 5 }
ups29TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups29TestResultsSummary is noTestsInitiated(6),
ups29TestElapsedTime has the value 0."
::= { ups29Test 6 }
--
-- Well known tests.
--
ups29WellKnownTests OBJECT IDENTIFIER ::= { ups29Test 7 }
ups29TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups29WellKnownTests 1 }
ups29TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups29WellKnownTests 2 }
ups29TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups29WellKnownTests 3 }
ups29TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups29WellKnownTests 4 }
ups29TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups29WellKnownTests 5 }
--
-- The Control group.
--
ups29Control OBJECT IDENTIFIER ::= { ups29Objects 8 }
ups29ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups29ShutdownAfterDelay and ups29RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups29Control 1 }
ups29ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups29ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups29ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups29ShutdownType =
output and the output is already off. When read,
ups29ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups29ShutdownAfterDelay already in effect."
::= { ups29Control 2 }
ups29StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups29StartupAfterDelay
countdown or ups29RebootWithDuration countdown in
progress. When read, ups29StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups29Control 3 }
ups29RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups29ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups29RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups29Control 4 }
--
-- notifications, i.e., traps
--
ups29Traps OBJECT IDENTIFIER ::= { upsModule29 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups29TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups29EstimatedMinutesRemaining, ups29SecondsOnBattery,
ups29ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups29Traps 1 }
ups29TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups29TestId, ups29TestSpinLock,
ups29TestResultsSummary, ups29TestResultsDetail,
ups29TestStartTime, ups29TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups29Traps 2 }
ups29TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups29AlarmId, ups29AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups29AlarmOnBattery and
ups29AlarmTestInProgress."
::= { ups29Traps 3 }
ups29TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups29AlarmId, ups29AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups29AlarmTestInProgress."
::= { ups29Traps 4 }
--
-- conformance information
--
ups29Conformance OBJECT IDENTIFIER ::= { upsModule29 3 }
ups29Compliances OBJECT IDENTIFIER ::= { ups29Conformance 1 }
--
-- compliance statements
--
ups29SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups29SubsetIdentGroup,
ups29SubsetBatteryGroup, ups29SubsetInputGroup,
ups29SubsetOutputGroup, ups29SubsetAlarmGroup,
ups29SubsetControlGroup }
OBJECT ups29BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups29AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups29AlarmOnBattery, ups29AlarmLowBattery,
ups29AlarmInputBad, ups29AlarmUpsOutputOff,
ups29AlarmUpsSystemOff, and ups29AlarmTestInProgress."
OBJECT ups29OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups29ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups29Compliances 1 }
ups29BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups29BasicIdentGroup,
ups29BasicBatteryGroup, ups29BasicInputGroup,
ups29BasicOutputGroup, ups29BasicAlarmGroup,
ups29BasicTestGroup, ups29BasicControlGroup }
OBJECT ups29AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups29AlarmOnBattery, ups29AlarmLowBattery,
ups29AlarmDepletedBattery, ups29AlarmTempBad,
ups29AlarmInputBad, ups29AlarmOutputOverload,
ups29AlarmOnBypass, ups29AlarmBypassBad,
ups29AlarmOutputOffAsRequested,
ups29AlarmUpsOffAsRequested, ups29AlarmUpsOutputOff,
ups29AlarmUpsSystemOff, ups29AlarmGeneralFault,
ups29AlarmDiagnosticTestFailed,
ups29AlarmCommunicationsLost, ups29AlarmShutdownPending,
and ups29AlarmTestInProgress."
OBJECT ups29TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups29TestNoTestsInitiated."
OBJECT ups29OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups29BasicBypassGroup
DESCRIPTION
"The ups29BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups29ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups29Compliances 2 }
ups29FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups29FullIdentGroup, ups29FullBatteryGroup,
ups29FullInputGroup, ups29FullOutputGroup,
ups29FullAlarmGroup, ups29FullTestGroup,
ups29FullControlGroup }
OBJECT ups29AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups29AlarmBatteryBad, ups29AlarmOnBattery,
ups29AlarmLowBattery, ups29AlarmDepletedBattery,
ups29AlarmTempBad, ups29AlarmInputBad, ups29AlarmOnBypass,
ups29AlarmBypassBad, ups29AlarmOutputOffAsRequested,
ups29AlarmUpsOffAsRequested, ups29AlarmUpsOutputOff,
ups29AlarmUpsSystemOff, ups29AlarmGeneralFault,
ups29AlarmDiagnosticTestFailed,
ups29AlarmCommunicationsLost, ups29AlarmShutdownPending,
and ups29AlarmTestInProgress."
OBJECT ups29TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups29TestNoTestsInitiated,
ups29TestGeneralSystemsTest, and
ups29TestQuickBatteryTest."
OBJECT ups29OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups29FullBypassGroup
DESCRIPTION
"The ups29FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups29ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups29Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups29Groups OBJECT IDENTIFIER ::= { ups29Conformance 2 }
ups29SubsetGroups OBJECT IDENTIFIER ::= { ups29Groups 1 }
ups29SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups29IdentManufacturer, ups29IdentModel,
ups29IdentAgentSoftwareVersion, ups29IdentName,
ups29IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups29SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups29SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups29SubsetGroups 1 }
ups29SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups29BatteryStatus, ups29SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups29SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups29SubsetGroups 2 }
ups29SubsetInputGroup OBJECT-GROUP
OBJECTS { ups29InputLineBads }
STATUS current
DESCRIPTION
"The ups29SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups29SubsetGroups 3 }
ups29SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups29OutputSource }
STATUS current
DESCRIPTION
"The ups29SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups29SubsetGroups 4 }
-- { ups29SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups29SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups29AlarmsPresent, ups29AlarmDescr, ups29AlarmTime }
STATUS current
DESCRIPTION
"The ups29SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups29SubsetGroups 6 }
-- { ups29SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups29SubsetControlGroup OBJECT-GROUP
OBJECTS { ups29ShutdownType, ups29ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups29SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups29SubsetGroups 8 }
ups29BasicGroups OBJECT IDENTIFIER ::= { ups29Groups 2 }
ups29BasicIdentGroup OBJECT-GROUP
OBJECTS { ups29IdentManufacturer, ups29IdentModel,
ups29IdentUPSSoftwareVersion,
ups29IdentAgentSoftwareVersion, ups29IdentName }
STATUS current
DESCRIPTION
"The ups29BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 1 }
ups29BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups29BatteryStatus, ups29SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups29BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 2 }
ups29BasicInputGroup OBJECT-GROUP
OBJECTS { ups29InputLineBads, ups29InputNumLines,
ups29InputFrequency, ups29InputVoltage }
STATUS current
DESCRIPTION
"The ups29BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 3 }
ups29BasicOutputGroup OBJECT-GROUP
OBJECTS { ups29OutputSource, ups29OutputFrequency,
ups29OutputNumLines, ups29OutputVoltage }
STATUS current
DESCRIPTION
"The ups29BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 4 }
ups29BasicBypassGroup OBJECT-GROUP
OBJECTS { ups29BypassFrequency, ups29BypassNumLines,
ups29BypassVoltage }
STATUS current
DESCRIPTION
"The ups29BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 5 }
ups29BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups29AlarmsPresent, ups29AlarmDescr, ups29AlarmTime }
STATUS current
DESCRIPTION
"The ups29BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 6 }
ups29BasicTestGroup OBJECT-GROUP
OBJECTS { ups29TestId, ups29TestSpinLock,
ups29TestResultsSummary, ups29TestResultsDetail,
ups29TestStartTime, ups29TestElapsedTime }
STATUS current
DESCRIPTION
"The ups29BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 7 }
ups29BasicControlGroup OBJECT-GROUP
OBJECTS { ups29ShutdownType, ups29ShutdownAfterDelay,
ups29StartupAfterDelay, ups29RebootWithDuration }
STATUS current
DESCRIPTION
"The ups29BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups29BasicGroups 8 }
ups29FullGroups OBJECT IDENTIFIER ::= { ups29Groups 3 }
ups29FullIdentGroup OBJECT-GROUP
OBJECTS { ups29IdentManufacturer, ups29IdentModel,
ups29IdentUPSSoftwareVersion,
ups29IdentAgentSoftwareVersion, ups29IdentName,
ups29IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups29FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups29FullGroups 1 }
ups29FullBatteryGroup OBJECT-GROUP
OBJECTS { ups29BatteryStatus, ups29SecondsOnBattery,
ups29EstimatedMinutesRemaining,
ups29EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups29FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups29FullGroups 2 }
ups29FullInputGroup OBJECT-GROUP
OBJECTS { ups29InputLineBads, ups29InputNumLines,
ups29InputFrequency, ups29InputVoltage }
STATUS current
DESCRIPTION
"The ups29FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups29FullGroups 3 }
ups29FullOutputGroup OBJECT-GROUP
OBJECTS { ups29OutputSource, ups29OutputFrequency,
ups29OutputNumLines, ups29OutputVoltage,
ups29OutputCurrent, ups29OutputPower,
ups29OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups29FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups29FullGroups 4 }
ups29FullBypassGroup OBJECT-GROUP
OBJECTS { ups29BypassFrequency, ups29BypassNumLines,
ups29BypassVoltage }
STATUS current
DESCRIPTION
"The ups29FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups29FullGroups 5 }
ups29FullAlarmGroup OBJECT-GROUP
OBJECTS { ups29AlarmsPresent, ups29AlarmDescr, ups29AlarmTime }
STATUS current
DESCRIPTION
"The ups29FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups29FullGroups 6 }
ups29FullTestGroup OBJECT-GROUP
OBJECTS { ups29TestId, ups29TestSpinLock,
ups29TestResultsSummary, ups29TestResultsDetail,
ups29TestStartTime, ups29TestElapsedTime }
STATUS current
DESCRIPTION
"The ups29FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups29FullGroups 7 }
ups29FullControlGroup OBJECT-GROUP
OBJECTS { ups29ShutdownType, ups29ShutdownAfterDelay,
ups29StartupAfterDelay, ups29RebootWithDuration }
STATUS current
DESCRIPTION
"The ups29FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups29FullGroups 8 }
--*******************************************************************
--
-- Module 30 data
--
upsModule30 OBJECT IDENTIFIER ::= { upsModular 31 }
ups30Objects OBJECT IDENTIFIER ::= { upsModule30 1 }
--
-- The Device Identification group.
-- All objects in this group except for ups30IdentName and
-- ups30IdentAttachedDevices are set at device initialization
-- and remain static.
--
ups30Ident OBJECT IDENTIFIER ::= { ups30Objects 1 }
ups30IdentManufacturer OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the UPS manufacturer."
::= { ups30Ident 1 }
ups30IdentModel OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS Model designation."
::= { ups30Ident 2 }
ups30IdentUPSSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS firmware/software version(s). This variable
may or may not have the same value as
ups30IdentAgentSoftwareVersion in some implementations."
::= { ups30Ident 3 }
ups30IdentAgentSoftwareVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The UPS agent software version. This variable may or
may not have the same value as
ups30IdentUPSSoftwareVersion in some implementations."
::= { ups30Ident 4 }
ups30IdentName OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the UPS. This object should be
set by the administrator."
::= { ups30Ident 5 }
ups30IdentAttachedDevices OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the devices attached to the
output(s) of the UPS. This object should be set by
the administrator."
::= { ups30Ident 6 }
--
-- Battery Group
--
ups30Battery OBJECT IDENTIFIER ::= { ups30Objects 2 }
ups30BatteryStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
batteryNormal(2),
batteryLow(3),
batteryDepleted(4)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The indication of the capacity remaining in the UPS
system's batteries. A value of batteryNormal
indicates that the remaining run-time is greater than
ups30ConfigLowBattTime. A value of batteryLow indicates
that the remaining battery run-time is less than or
equal to ups30ConfigLowBattTime. A value of
batteryDepleted indicates that the UPS will be unable
to sustain the present load when and if the utility
power is lost (including the possibility that the
utility power is currently absent and the UPS is
unable to sustain the output)."
::= { ups30Battery 1 }
ups30SecondsOnBattery OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If the unit is on battery power, the elapsed time
since the UPS last switched to battery power, or the
time since the network management subsystem was last
restarted, whichever is less. Zero shall be returned
if the unit is not on battery power."
::= { ups30Battery 2 }
ups30EstimatedMinutesRemaining OBJECT-TYPE
SYNTAX PositiveInteger
UNITS "minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the time to battery charge depletion
under the present load conditions if the utility power
is off and remains off, or if it were to be lost and
remain off."
::= { ups30Battery 3 }
ups30EstimatedChargeRemaining OBJECT-TYPE
SYNTAX Integer32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the battery charge remaining expressed
as a percent of full charge."
::= { ups30Battery 4 }
ups30BatteryVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Volt DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present battery voltage."
::= { ups30Battery 5 }
ups30BatteryCurrent OBJECT-TYPE
SYNTAX Integer32
UNITS "0.1 Amp DC"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present battery current."
::= { ups30Battery 6 }
ups30BatteryTemperature OBJECT-TYPE
SYNTAX Integer32
UNITS "degrees Centigrade"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The ambient temperature at or near the UPS Battery
casing."
::= { ups30Battery 7 }
--
-- Input Group
--
ups30Input OBJECT IDENTIFIER ::= { ups30Objects 3 }
ups30InputLineBads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of times the input entered an
out-of-tolerance condition as defined by the
manufacturer. This count is incremented by one each
time the input transitions from zero out-of-tolerance
lines to one or more input lines out-of-tolerance."
::= { ups30Input 1 }
ups30InputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of input lines utilized in this device.
This variable indicates the number of rows in the
input table."
::= { ups30Input 2 }
ups30InputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups30InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of input table entries. The number of entries
is given by the value of ups30InputNumLines."
::= { ups30Input 3 }
ups30InputEntry OBJECT-TYPE
SYNTAX Ups30InputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular input line."
INDEX { ups30InputLineIndex }
::= { ups30InputTable 1 }
Ups30InputEntry ::= SEQUENCE {
ups30InputLineIndex PositiveInteger,
ups30InputFrequency NonNegativeInteger,
ups30InputVoltage NonNegativeInteger,
ups30InputCurrent NonNegativeInteger,
ups30InputTruePower NonNegativeInteger
}
ups30InputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The input line identifier."
::= { ups30InputEntry 1 }
ups30InputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present input frequency."
::= { ups30InputEntry 2 }
ups30InputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input voltage."
::= { ups30InputEntry 3 }
ups30InputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input current."
::= { ups30InputEntry 4 }
ups30InputTruePower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The magnitude of the present input true power."
::= { ups30InputEntry 5 }
--
-- The Output group.
--
ups30Output OBJECT IDENTIFIER ::= { ups30Objects 4 }
ups30OutputSource OBJECT-TYPE
SYNTAX INTEGER {
other(1),
none(2),
normal(3),
bypass(4),
battery(5),
booster(6),
reducer(7)
}
MAX-ACCESS read-only
STATUS current
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."
::= { ups30Output 1 }
ups30OutputFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output frequency."
::= { ups30Output 2 }
ups30OutputNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of output lines utilized in this device.
This variable indicates the number of rows in the
output table."
::= { ups30Output 3 }
ups30OutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups30OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of output table entries. The number of
entries is given by the value of ups30OutputNumLines."
::= { ups30Output 4 }
ups30OutputEntry OBJECT-TYPE
SYNTAX Ups30OutputEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular output line."
INDEX { ups30OutputLineIndex }
::= { ups30OutputTable 1 }
Ups30OutputEntry ::= SEQUENCE {
ups30OutputLineIndex PositiveInteger,
ups30OutputVoltage NonNegativeInteger,
ups30OutputCurrent NonNegativeInteger,
ups30OutputPower NonNegativeInteger,
ups30OutputPercentLoad INTEGER
}
ups30OutputLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The output line identifier."
::= { ups30OutputEntry 1 }
ups30OutputVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output voltage."
::= { ups30OutputEntry 2 }
ups30OutputCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output current."
::= { ups30OutputEntry 3 }
ups30OutputPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present output true power."
::= { ups30OutputEntry 4 }
ups30OutputPercentLoad OBJECT-TYPE
SYNTAX Integer32 (0..200)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The percentage of the UPS power capacity presently
being used on this output line, i.e., the greater of
the percent load of true power capacity and the
percent load of VA."
::= { ups30OutputEntry 5 }
--
-- The Bypass group.
--
ups30Bypass OBJECT IDENTIFIER ::= { ups30Objects 5 }
ups30BypassFrequency OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 Hertz"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass frequency."
::= { ups30Bypass 1 }
ups30BypassNumLines OBJECT-TYPE
SYNTAX NonNegativeInteger
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bypass lines utilized in this device.
This entry indicates the number of rows in the bypass
table."
::= { ups30Bypass 2 }
ups30BypassTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups30BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of bypass table entries. The number of
entries is given by the value of ups30BypassNumLines."
::= { ups30Bypass 3 }
ups30BypassEntry OBJECT-TYPE
SYNTAX Ups30BypassEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular bypass input."
INDEX { ups30BypassLineIndex }
::= { ups30BypassTable 1 }
Ups30BypassEntry ::= SEQUENCE {
ups30BypassLineIndex PositiveInteger,
ups30BypassVoltage NonNegativeInteger,
ups30BypassCurrent NonNegativeInteger,
ups30BypassPower NonNegativeInteger
}
ups30BypassLineIndex OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bypass line identifier."
::= { ups30BypassEntry 1 }
ups30BypassVoltage OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "RMS Volts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass voltage."
::= { ups30BypassEntry 2 }
ups30BypassCurrent OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "0.1 RMS Amp"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present bypass current."
::= { ups30BypassEntry 3 }
ups30BypassPower OBJECT-TYPE
SYNTAX NonNegativeInteger
UNITS "Watts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present true power conveyed by the bypass."
::= { ups30BypassEntry 4 }
--
-- The Alarm group.
--
ups30Alarm OBJECT IDENTIFIER ::= { ups30Objects 6 }
ups30AlarmsPresent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The present number of active alarm conditions."
::= { ups30Alarm 1 }
ups30AlarmTable OBJECT-TYPE
SYNTAX SEQUENCE OF Ups30AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of alarm table entries. The table contains
zero, one, or many rows at any moment, depending upon
the number of alarm conditions in effect. The table
is initially empty at agent startup. The agent
creates a row in the table each time a condition is
detected and deletes that row when that condition no
longer pertains. The agent creates the first row with
ups30AlarmId equal to 1, and increments the value of
ups30AlarmId each time a new row is created, wrapping to
the first free value greater than or equal to 1 when
the maximum value of ups30AlarmId would otherwise be
exceeded. Consequently, after multiple operations,
the table may become sparse, e.g., containing entries
for rows 95, 100, 101, and 203 and the entries should
not be assumed to be in chronological order because
ups30AlarmId might have wrapped.
Alarms are named by an AutonomousType (OBJECT
IDENTIFIER), ups30AlarmDescr, to allow a single table to
reflect well known alarms plus alarms defined by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device. No
two rows will have the same value of ups30AlarmDescr,
since alarms define conditions. In order to meet this
requirement, care should be taken in the definition of
alarm conditions to insure that a system cannot enter
the same condition multiple times simultaneously.
The number of rows in the table at any given time is
reflected by the value of ups30AlarmsPresent."
::= { ups30Alarm 2 }
ups30AlarmEntry OBJECT-TYPE
SYNTAX Ups30AlarmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing information applicable to a
particular alarm."
INDEX { ups30AlarmId }
::= { ups30AlarmTable 1 }
Ups30AlarmEntry ::= SEQUENCE {
ups30AlarmId PositiveInteger,
ups30AlarmDescr AutonomousType,
ups30AlarmTime TimeStamp
}
ups30AlarmId OBJECT-TYPE
SYNTAX PositiveInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier for an alarm condition. This
value must remain constant."
::= { ups30AlarmEntry 1 }
ups30AlarmDescr OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
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."
::= { ups30AlarmEntry 2 }
ups30AlarmTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the alarm condition was
detected. If the alarm condition was detected at the
time of agent startup and presumably existed before
agent startup, the value of ups30AlarmTime shall equal
0."
::= { ups30AlarmEntry 3 }
--
-- Well known alarm conditions.
--
ups30WellKnownAlarms OBJECT IDENTIFIER ::= { ups30Alarm 3 }
ups30AlarmBatteryBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"One or more batteries have been determined to require
replacement."
::= { ups30WellKnownAlarms 1 }
ups30AlarmOnBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS is drawing power from the batteries."
::= { ups30WellKnownAlarms 2 }
ups30AlarmLowBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The remaining battery run-time is less than or equal
to ups30ConfigLowBattTime."
::= { ups30WellKnownAlarms 3 }
ups30AlarmDepletedBattery OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will be unable to sustain the present load
when and if the utility power is lost."
::= { ups30WellKnownAlarms 4 }
ups30AlarmTempBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A temperature is out of tolerance."
::= { ups30WellKnownAlarms 5 }
ups30AlarmInputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An input condition is out of tolerance."
::= { ups30WellKnownAlarms 6 }
ups30AlarmOutputBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An output condition (other than OutputOverload) is
out of tolerance."
::= { ups30WellKnownAlarms 7 }
ups30AlarmOutputOverload OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output load exceeds the UPS output capacity."
::= { ups30WellKnownAlarms 8 }
ups30AlarmOnBypass OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is presently engaged on the UPS."
::= { ups30WellKnownAlarms 9 }
ups30AlarmBypassBad OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The Bypass is out of tolerance."
::= { ups30WellKnownAlarms 10 }
ups30AlarmOutputOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS has shutdown as requested, i.e., the output
is off."
::= { ups30WellKnownAlarms 11 }
ups30AlarmUpsOffAsRequested OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The entire UPS has shutdown as commanded."
::= { ups30WellKnownAlarms 12 }
ups30AlarmChargerFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"An uncorrected problem has been detected within the
UPS charger subsystem."
::= { ups30WellKnownAlarms 13 }
ups30AlarmUpsOutputOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The output of the UPS is in the off state."
::= { ups30WellKnownAlarms 14 }
ups30AlarmUpsSystemOff OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS system is in the off state."
::= { ups30WellKnownAlarms 15 }
ups30AlarmFanFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fans in the UPS has been
detected."
::= { ups30WellKnownAlarms 16 }
ups30AlarmFuseFailure OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The failure of one or more fuses has been detected."
::= { ups30WellKnownAlarms 17 }
ups30AlarmGeneralFault OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A general fault in the UPS has been detected."
::= { ups30WellKnownAlarms 18 }
ups30AlarmDiagnosticTestFailed OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The result of the last diagnostic test indicates a
failure."
::= { ups30WellKnownAlarms 19 }
ups30AlarmCommunicationsLost OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A problem has been encountered in the communications
between the agent and the UPS."
::= { ups30WellKnownAlarms 20 }
ups30AlarmAwaitingPower OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS output is off and the UPS is awaiting the
return of input power."
::= { ups30WellKnownAlarms 21 }
ups30AlarmShutdownPending OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A ups30ShutdownAfterDelay countdown is underway."
::= { ups30WellKnownAlarms 22 }
ups30AlarmShutdownImminent OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The UPS will turn off power to the load in less than
5 seconds; this may be either a timed shutdown or a
low battery shutdown."
::= { ups30WellKnownAlarms 23 }
ups30AlarmTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test is in progress, as initiated and indicated by
the Test Group. Tests initiated via other
implementation-specific mechanisms can indicate the
presence of the testing in the alarm table, if
desired, via a OBJECT-IDENTITY macro in the MIB
document specific to that implementation and are
outside the scope of this OBJECT-IDENTITY."
::= { ups30WellKnownAlarms 24 }
--
-- The Test Group
--
ups30Test OBJECT IDENTIFIER ::= { ups30Objects 7 }
ups30TestId OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The test is named by an OBJECT IDENTIFIER which
allows a standard mechanism for the initiation of
tests, including the well known tests identified in
this document as well as those introduced by a
particular implementation, i.e., as documented in the
private enterprise MIB definition for the device.
Setting this variable initiates the named test. Sets
to this variable require the presence of
ups30TestSpinLock in the same SNMP message.
The set request will be rejected with an appropriate
error message if the requested test cannot be
performed, including attempts to start a test when
another test is already in progress. The status of
the current or last test is maintained in
ups30TestResultsSummary. Tests in progress may be
aborted by setting the ups30TestId variable to
ups30TestAbortTestInProgress.
Read operations return the value of the name of the
test in progress if a test is in progress or the name
of the last test performed if no test is in progress,
unless no test has been run, in which case the well
known value ups30TestNoTestsInitiated is returned."
::= { ups30Test 1 }
-- see [6] for more information on the semantics of objects with
-- syntax of TestAndIncr
ups30TestSpinLock OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A spin lock on the test subsystem. The spinlock is
used as follows.
Before starting a test, a manager-station should make
sure that a test is not in progress as follows:
try_again:
get (upsTestSpinLock)
while (upsTestResultsSummary == inProgress) {
/* loop while a test is running for another
manager */
short delay
get (upsTestSpinLock)
}
lock_value = ups30TestSpinLock
/* no test in progress, start the test */
set (upsTestSpinLock = lock_value, ups30TestId =
requested_test)
if (error_index == 1) { /* (upsTestSpinLock
failed) */
/* if problem is not access control, then
some other manager slipped in ahead of us
*/
goto try_again
}
if (error_index == 2) { /* (upsTestId) */
/* cannot perform the test */
give up
}
/* test started ok */
/* wait for test completion by polling
ups30TestResultsSummary */
get (upsTestSpinLock, ups30TestResultsSummary,
ups30TestResultsDetail)
while (upsTestResultsSummary == inProgress) {
short delay
get (upsTestSpinLock, ups30TestResultsSummary,
ups30TestResultsDetail)
}
/* when test completes, retrieve any additional
test results */
/* if ups30TestSpinLock == lock_value + 1, then
these are our test */
/* results (as opposed to another manager's */
The initial value of ups30TestSpinLock at agent
initialization shall
be 1."
::= { ups30Test 2 }
ups30TestResultsSummary OBJECT-TYPE
SYNTAX INTEGER {
donePass(1),
doneWarning(2),
doneError(3),
aborted(4),
inProgress(5),
noTestsInitiated(6)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The results of the current or last UPS diagnostics
test performed. The values for donePass(1),
doneWarning(2), and doneError(3) indicate that the
test completed either successfully, with a warning, or
with an error, respectively. The value aborted(4) is
returned for tests which are aborted by setting the
value of ups30TestId to ups30TestAbortTestInProgress.
Tests which have not yet concluded are indicated by
inProgress(5). The value noTestsInitiated(6)
indicates that no previous test results are available,
such as is the case when no tests have been run since
the last reinitialization of the network management
subsystem and the system has no provision for non-
volatile storage of test results."
::= { ups30Test 3 }
ups30TestResultsDetail OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional information about ups30TestResultsSummary.
If no additional information available, a zero length
string is returned."
::= { ups30Test 4 }
ups30TestStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the test in
progress was initiated, or, if no test is in progress,
the time the previous test was initiated. If the
value of ups30TestResultsSummary is noTestsInitiated(6),
ups30TestStartTime has the value 0."
::= { ups30Test 5 }
ups30TestElapsedTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of time, in TimeTicks, since the test in
progress was initiated, or, if no test is in progress,
the previous test took to complete. If the value of
ups30TestResultsSummary is noTestsInitiated(6),
ups30TestElapsedTime has the value 0."
::= { ups30Test 6 }
--
-- Well known tests.
--
ups30WellKnownTests OBJECT IDENTIFIER ::= { ups30Test 7 }
ups30TestNoTestsInitiated OBJECT-IDENTITY
STATUS current
DESCRIPTION
"No tests have been initiated and no test is in
progress."
::= { ups30WellKnownTests 1 }
ups30TestAbortTestInProgress OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The test in progress is to be aborted / the test in
progress was aborted."
::= { ups30WellKnownTests 2 }
ups30TestGeneralSystemsTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The manufacturer's standard test of UPS device
systems."
::= { ups30WellKnownTests 3 }
ups30TestQuickBatteryTest OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A test that is sufficient to determine if the battery
needs replacement."
::= { ups30WellKnownTests 4 }
ups30TestDeepBatteryCalibration OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The system is placed on battery to a discharge level,
set by the manufacturer, sufficient to determine
battery replacement and battery run-time with a high
degree of confidence. WARNING: this test will leave
the battery in a low charge state and will require
time for recharging to a level sufficient to provide
normal battery duration for the protected load."
::= { ups30WellKnownTests 5 }
--
-- The Control group.
--
ups30Control OBJECT IDENTIFIER ::= { ups30Objects 8 }
ups30ShutdownType OBJECT-TYPE
SYNTAX INTEGER {
output(1),
system(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object determines the nature of the action to be
taken at the time when the countdown of the
ups30ShutdownAfterDelay and ups30RebootWithDuration
objects reaches zero.
Setting this object to output(1) indicates that
shutdown requests should cause only the output of the
UPS to turn off. Setting this object to system(2)
indicates that shutdown requests will cause the entire
UPS system to turn off."
::= { ups30Control 1 }
ups30ShutdownAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will shutdown (i.e., turn off)
either the UPS output or the UPS system (as determined
by the value of ups30ShutdownType at the time of
shutdown) after the indicated number of seconds, or
less if the UPS batteries become depleted. Setting
this object to 0 will cause the shutdown to occur
immediately. Setting this object to -1 will abort the
countdown. If the system is already in the desired
state at the time the countdown reaches 0, then
nothing will happen. That is, there is no additional
action at that time if ups30ShutdownType = system and
the system is already off. Similarly, there is no
additional action at that time if ups30ShutdownType =
output and the output is already off. When read,
ups30ShutdownAfterDelay will return the number of
seconds remaining until shutdown, or -1 if no shutdown
countdown is in effect. On some systems, if the agent
is restarted while a shutdown countdown is in effect,
the countdown may be aborted. Sets to this object
override any ups30ShutdownAfterDelay already in effect."
::= { ups30Control 2 }
ups30StartupAfterDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will start the output after the
indicated number of seconds, including starting the
UPS, if necessary. Setting this object to 0 will
cause the startup to occur immediately. Setting this
object to -1 will abort the countdown. If the output
is already on at the time the countdown reaches 0,
then nothing will happen. Sets to this object
override the effect of any ups30StartupAfterDelay
countdown or ups30RebootWithDuration countdown in
progress. When read, ups30StartupAfterDelay will return
the number of seconds until startup, or -1 if no
startup countdown is in effect. If the countdown
expires during a utility failure, the startup shall
not occur until the utility power is restored. On
some systems, if the agent is restarted while a
startup countdown is in effect, the countdown is
aborted."
::= { ups30Control 3 }
ups30RebootWithDuration OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Setting this object will immediately shutdown (i.e.,
turn off) either the UPS output or the UPS system (as
determined by the value of ups30ShutdownType at the time
of shutdown) for a period equal to the indicated
number of seconds, after which time the output will be
started, including starting the UPS, if necessary. If
the number of seconds required to perform the request
is greater than the requested duration, then the
requested shutdown and startup cycle shall be
performed in the minimum time possible, but in no case
shall this require more than the requested duration
plus 60 seconds. When read, ups30RebootWithDuration
shall return the number of seconds remaining in the
countdown, or -1 if no countdown is in progress. If
the startup should occur during a utility failure, the
startup shall not occur until the utility power is
restored."
::= { ups30Control 4 }
--
-- notifications, i.e., traps
--
ups30Traps OBJECT IDENTIFIER ::= { upsModule30 2 }
-- This section defines the well-known notifications sent by
-- UPS agents.
-- Care must be taken to insure that no particular notification
-- is sent to a single receiving entity more often than once
-- every five seconds.
ups30TrapOnBattery NOTIFICATION-TYPE
OBJECTS { ups30EstimatedMinutesRemaining, ups30SecondsOnBattery,
ups30ConfigLowBattTime }
STATUS current
DESCRIPTION
"The UPS is operating on battery power. This trap is
persistent and is resent at one minute intervals until
the UPS either turns off or is no longer running on
battery."
::= { ups30Traps 1 }
ups30TrapTestCompleted NOTIFICATION-TYPE
OBJECTS { ups30TestId, ups30TestSpinLock,
ups30TestResultsSummary, ups30TestResultsDetail,
ups30TestStartTime, ups30TestElapsedTime }
STATUS current
DESCRIPTION
"This trap is sent upon completion of a UPS diagnostic
test."
::= { ups30Traps 2 }
ups30TrapAlarmEntryAdded NOTIFICATION-TYPE
OBJECTS { ups30AlarmId, ups30AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is inserted into
to the alarm table. It is sent on the insertion of
all alarms except for ups30AlarmOnBattery and
ups30AlarmTestInProgress."
::= { ups30Traps 3 }
ups30TrapAlarmEntryRemoved NOTIFICATION-TYPE
OBJECTS { ups30AlarmId, ups30AlarmDescr }
STATUS current
DESCRIPTION
"This trap is sent each time an alarm is removed from
the alarm table. It is sent on the removal of all
alarms except for ups30AlarmTestInProgress."
::= { ups30Traps 4 }
--
-- conformance information
--
ups30Conformance OBJECT IDENTIFIER ::= { upsModule30 3 }
ups30Compliances OBJECT IDENTIFIER ::= { ups30Conformance 1 }
--
-- compliance statements
--
ups30SubsetCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that only support
the two-contact communication protocol."
MODULE -- this module
MANDATORY-GROUPS { ups30SubsetIdentGroup,
ups30SubsetBatteryGroup, ups30SubsetInputGroup,
ups30SubsetOutputGroup, ups30SubsetAlarmGroup,
ups30SubsetControlGroup }
OBJECT ups30BatteryStatus
SYNTAX INTEGER {
batteryNormal(2),
batteryLow(3)
}
DESCRIPTION
"Support of the values unknown(1) and
batteryDepleted(4) is not required."
OBJECT ups30AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups30AlarmOnBattery, ups30AlarmLowBattery,
ups30AlarmInputBad, ups30AlarmUpsOutputOff,
ups30AlarmUpsSystemOff, and ups30AlarmTestInProgress."
OBJECT ups30OutputSource
SYNTAX INTEGER {
normal(3),
battery(5)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
OBJECT ups30ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups30Compliances 1 }
ups30BasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
full-featured functions, such as control."
MODULE -- this module
MANDATORY-GROUPS { ups30BasicIdentGroup,
ups30BasicBatteryGroup, ups30BasicInputGroup,
ups30BasicOutputGroup, ups30BasicAlarmGroup,
ups30BasicTestGroup, ups30BasicControlGroup }
OBJECT ups30AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups30AlarmOnBattery, ups30AlarmLowBattery,
ups30AlarmDepletedBattery, ups30AlarmTempBad,
ups30AlarmInputBad, ups30AlarmOutputOverload,
ups30AlarmOnBypass, ups30AlarmBypassBad,
ups30AlarmOutputOffAsRequested,
ups30AlarmUpsOffAsRequested, ups30AlarmUpsOutputOff,
ups30AlarmUpsSystemOff, ups30AlarmGeneralFault,
ups30AlarmDiagnosticTestFailed,
ups30AlarmCommunicationsLost, ups30AlarmShutdownPending,
and ups30AlarmTestInProgress."
OBJECT ups30TestId
DESCRIPTION
"Support of all `well known' test types is not
required. If no tests are supported, then the only
well known test type which must be supported is
ups30TestNoTestsInitiated."
OBJECT ups30OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups30BasicBypassGroup
DESCRIPTION
"The ups30BasicBypassGroup is only required for UPSs
that have a Bypass present."
OBJECT ups30ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups30Compliances 2 }
ups30FullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for UPSs that support
advanced full-featured functions."
MODULE -- this module
MANDATORY-GROUPS { ups30FullIdentGroup, ups30FullBatteryGroup,
ups30FullInputGroup, ups30FullOutputGroup,
ups30FullAlarmGroup, ups30FullTestGroup,
ups30FullControlGroup }
OBJECT ups30AlarmDescr
DESCRIPTION
"Support of all `well known' alarm types is not
required. The well known alarm types which must be
supported are: ups30AlarmBatteryBad, ups30AlarmOnBattery,
ups30AlarmLowBattery, ups30AlarmDepletedBattery,
ups30AlarmTempBad, ups30AlarmInputBad, ups30AlarmOnBypass,
ups30AlarmBypassBad, ups30AlarmOutputOffAsRequested,
ups30AlarmUpsOffAsRequested, ups30AlarmUpsOutputOff,
ups30AlarmUpsSystemOff, ups30AlarmGeneralFault,
ups30AlarmDiagnosticTestFailed,
ups30AlarmCommunicationsLost, ups30AlarmShutdownPending,
and ups30AlarmTestInProgress."
OBJECT ups30TestId
DESCRIPTION
"Support of all `well known' test types is not
required. The well known test types which must be
supported are: ups30TestNoTestsInitiated,
ups30TestGeneralSystemsTest, and
ups30TestQuickBatteryTest."
OBJECT ups30OutputSource
SYNTAX INTEGER {
normal(2),
battery(4)
}
DESCRIPTION
"Support of the values other(1), none(2), bypass(4),
booster(6) and reducer(7) is not required."
GROUP ups30FullBypassGroup
DESCRIPTION
"The ups30FullBypassGroup is only required for UPSs that
have a Bypass present."
OBJECT ups30ShutdownType
MIN-ACCESS read-only
DESCRIPTION
"Read-write access is not required, i.e., compliant
systems need not support more than one shutdown type."
::= { ups30Compliances 3 }
--
-- units of conformance
--
-- summary at a glance:
-- subset basic adv
--upsIdentManufacturer x x x
--upsIdentModel x x x
--upsIdentUPSSoftwareVersion x x
--upsIdentAgentSoftwareVersion x x x
--upsIdentName x x x
--upsIdentAttachedDevices x x
--
--upsBatteryStatus x x x notes
--upsSecondsOnBattery x x x
--upsEstimatedMinutesRemaining x
--upsEstimatedChargeRemaining x
--upsBatteryVoltage
--upsBatteryCurrent
--upsBatteryTemperature
--
--upsInputLineBads x x x
--upsInputNumLines x x
--upsInputFrequency x x
--upsInputVoltage x x
--upsInputCurrent
--
--upsOutputSource x x x notes
--upsOutputFrequency x x
--upsOutputNumLines x x
--upsOutputVoltage x x
--upsOutputCurrent x
--upsOutputPower x
--upsOutputPercentLoad x
--
--
--upsBypassFrequency x x notes
--upsBypassNumLines x x
--upsBypassVoltage x x
--upsBypassCurrent
--upsBypassPower
--
--
--upsAlarmsPresent x x x
--upsAlarmDescr x x x notes
--upsAlarmTime x x x
--
--upsTestId x x notes
--upsTestSpinLock x x
--upsTestResultsSummary x x
--upsTestResultsDetail x x
--upsTestStartTime x x
--upsTestElapsedTime x x
--
--upsShutdownType x x x notes
--upsShutdownAfterDelay x x x
--upsStartupAfterDelay x x
--upsRebootWithDuration x x
-- units of conformance
ups30Groups OBJECT IDENTIFIER ::= { ups30Conformance 2 }
ups30SubsetGroups OBJECT IDENTIFIER ::= { ups30Groups 1 }
ups30SubsetIdentGroup OBJECT-GROUP
OBJECTS { ups30IdentManufacturer, ups30IdentModel,
ups30IdentAgentSoftwareVersion, ups30IdentName,
ups30IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups30SubsetIdentGroup defines objects which are
common across all UPSs which meet subset compliance.
Most devices which conform to the ups30SubsetIdentGroup
will provide access to these objects via a proxy
agent. If the proxy agent is compatible with multiple
UPS types, configuration of the proxy agent will
require specifying some of these values, either
individually, or as a group (perhaps through a table
lookup mechanism based on the UPS model number)."
::= { ups30SubsetGroups 1 }
ups30SubsetBatteryGroup OBJECT-GROUP
OBJECTS { ups30BatteryStatus, ups30SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups30SubsetBatteryGroup defines the objects that
are common to battery groups of two-contact UPSs."
::= { ups30SubsetGroups 2 }
ups30SubsetInputGroup OBJECT-GROUP
OBJECTS { ups30InputLineBads }
STATUS current
DESCRIPTION
"The ups30SubsetInputGroup defines the objects that are
common to the Input groups of two-contact UPSs."
::= { ups30SubsetGroups 3 }
ups30SubsetOutputGroup OBJECT-GROUP
OBJECTS { ups30OutputSource }
STATUS current
DESCRIPTION
"The ups30SubsetOutputGroup defines the objects that are
common to the Output groups of two-contact UPSs."
::= { ups30SubsetGroups 4 }
-- { ups30SubsetGroups 5 } is reserved for
-- future use (upsSubsetBypassGroup)
ups30SubsetAlarmGroup OBJECT-GROUP
OBJECTS { ups30AlarmsPresent, ups30AlarmDescr, ups30AlarmTime }
STATUS current
DESCRIPTION
"The ups30SubsetAlarmGroup defines the objects that are
common to the Alarm groups of two-contact UPSs."
::= { ups30SubsetGroups 6 }
-- { ups30SubsetGroups 7 } is reserved for
-- future use (upsSubsetTestGroup)
ups30SubsetControlGroup OBJECT-GROUP
OBJECTS { ups30ShutdownType, ups30ShutdownAfterDelay }
STATUS current
DESCRIPTION
"The ups30SubsetControlGroup defines the objects that
are common to the Control groups of two-contact UPSs."
::= { ups30SubsetGroups 8 }
ups30BasicGroups OBJECT IDENTIFIER ::= { ups30Groups 2 }
ups30BasicIdentGroup OBJECT-GROUP
OBJECTS { ups30IdentManufacturer, ups30IdentModel,
ups30IdentUPSSoftwareVersion,
ups30IdentAgentSoftwareVersion, ups30IdentName }
STATUS current
DESCRIPTION
"The ups30BasicIdentGroup defines objects which are
common to the Ident group of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 1 }
ups30BasicBatteryGroup OBJECT-GROUP
OBJECTS { ups30BatteryStatus, ups30SecondsOnBattery }
STATUS current
DESCRIPTION
"The ups30BasicBatteryGroup defines the objects that are
common to the battery groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 2 }
ups30BasicInputGroup OBJECT-GROUP
OBJECTS { ups30InputLineBads, ups30InputNumLines,
ups30InputFrequency, ups30InputVoltage }
STATUS current
DESCRIPTION
"The ups30BasicInputGroup defines the objects that are
common to the Input groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 3 }
ups30BasicOutputGroup OBJECT-GROUP
OBJECTS { ups30OutputSource, ups30OutputFrequency,
ups30OutputNumLines, ups30OutputVoltage }
STATUS current
DESCRIPTION
"The ups30BasicOutputGroup defines the objects that are
common to the Output groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 4 }
ups30BasicBypassGroup OBJECT-GROUP
OBJECTS { ups30BypassFrequency, ups30BypassNumLines,
ups30BypassVoltage }
STATUS current
DESCRIPTION
"The ups30BasicBypassGroup defines the objects that are
common to the Bypass groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 5 }
ups30BasicAlarmGroup OBJECT-GROUP
OBJECTS { ups30AlarmsPresent, ups30AlarmDescr, ups30AlarmTime }
STATUS current
DESCRIPTION
"The ups30BasicAlarmGroup defines the objects that are
common to the Alarm groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 6 }
ups30BasicTestGroup OBJECT-GROUP
OBJECTS { ups30TestId, ups30TestSpinLock,
ups30TestResultsSummary, ups30TestResultsDetail,
ups30TestStartTime, ups30TestElapsedTime }
STATUS current
DESCRIPTION
"The ups30BasicTestGroup defines the objects that are
common to the Test groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 7 }
ups30BasicControlGroup OBJECT-GROUP
OBJECTS { ups30ShutdownType, ups30ShutdownAfterDelay,
ups30StartupAfterDelay, ups30RebootWithDuration }
STATUS current
DESCRIPTION
"The ups30BasicControlGroup defines the objects that are
common to the Control groups of compliant UPSs which
support basic functions."
::= { ups30BasicGroups 8 }
ups30FullGroups OBJECT IDENTIFIER ::= { ups30Groups 3 }
ups30FullIdentGroup OBJECT-GROUP
OBJECTS { ups30IdentManufacturer, ups30IdentModel,
ups30IdentUPSSoftwareVersion,
ups30IdentAgentSoftwareVersion, ups30IdentName,
ups30IdentAttachedDevices }
STATUS current
DESCRIPTION
"The ups30FullIdentGroup defines objects which are
common to the Ident group of fully compliant UPSs."
::= { ups30FullGroups 1 }
ups30FullBatteryGroup OBJECT-GROUP
OBJECTS { ups30BatteryStatus, ups30SecondsOnBattery,
ups30EstimatedMinutesRemaining,
ups30EstimatedChargeRemaining }
STATUS current
DESCRIPTION
"The ups30FullBatteryGroup defines the objects that are
common to the battery groups of fully compliant UPSs."
::= { ups30FullGroups 2 }
ups30FullInputGroup OBJECT-GROUP
OBJECTS { ups30InputLineBads, ups30InputNumLines,
ups30InputFrequency, ups30InputVoltage }
STATUS current
DESCRIPTION
"The ups30FullInputGroup defines the objects that are
common to the Input groups of fully compliant UPSs."
::= { ups30FullGroups 3 }
ups30FullOutputGroup OBJECT-GROUP
OBJECTS { ups30OutputSource, ups30OutputFrequency,
ups30OutputNumLines, ups30OutputVoltage,
ups30OutputCurrent, ups30OutputPower,
ups30OutputPercentLoad }
STATUS current
DESCRIPTION
"The ups30FullOutputGroup defines the objects that are
common to the Output groups of fully compliant UPSs."
::= { ups30FullGroups 4 }
ups30FullBypassGroup OBJECT-GROUP
OBJECTS { ups30BypassFrequency, ups30BypassNumLines,
ups30BypassVoltage }
STATUS current
DESCRIPTION
"The ups30FullBypassGroup defines the objects that are
common to the Bypass groups of fully compliant UPSs."
::= { ups30FullGroups 5 }
ups30FullAlarmGroup OBJECT-GROUP
OBJECTS { ups30AlarmsPresent, ups30AlarmDescr, ups30AlarmTime }
STATUS current
DESCRIPTION
"The ups30FullAlarmGroup defines the objects that are
common to the Alarm groups of fully compliant UPSs."
::= { ups30FullGroups 6 }
ups30FullTestGroup OBJECT-GROUP
OBJECTS { ups30TestId, ups30TestSpinLock,
ups30TestResultsSummary, ups30TestResultsDetail,
ups30TestStartTime, ups30TestElapsedTime }
STATUS current
DESCRIPTION
"The ups30FullTestGroup defines the objects that are
common to the Test groups of fully compliant UPSs."
::= { ups30FullGroups 7 }
ups30FullControlGroup OBJECT-GROUP
OBJECTS { ups30ShutdownType, ups30ShutdownAfterDelay,
ups30StartupAfterDelay, ups30RebootWithDuration }
STATUS current
DESCRIPTION
"The ups30FullControlGroup defines the objects that are
common to the Control groups of fully compliant UPSs."
::= { ups30FullGroups 8 }
END