UPS-MIB DEFINITIONS ::= BEGIN IMPORTS TRAP-TYPE FROM RFC-1215 mib-2, DisplayString FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 Gauge, Counter FROM RFC1155-SMI; -- AutonomousType, TestAndIncr, TimeInterval, TimeStamp -- FROM SNMPv2-TC; -- created from upsMIB (9402050000Z) upsMIB OBJECT IDENTIFIER ::= { mib-2 33 } -- this has to be fixed by hand AutonomousType ::= INTEGER TestAndIncr ::= INTEGER TimeInterval ::= INTEGER TimeStamp ::= INTEGER PositiveInteger ::= INTEGER NonNegativeInteger ::= INTEGER upsObjects OBJECT IDENTIFIER ::= { upsMIB 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)) ACCESS read-only STATUS mandatory DESCRIPTION "The name of the UPS manufacturer." ::= { upsIdent 1 } upsIdentModel OBJECT-TYPE SYNTAX DisplayString (SIZE (0..63)) ACCESS read-only STATUS mandatory DESCRIPTION "The UPS Model designation." ::= { upsIdent 2 } upsIdentUPSSoftwareVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..63)) ACCESS read-only STATUS mandatory 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)) ACCESS read-only STATUS mandatory 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)) ACCESS read-write STATUS mandatory DESCRIPTION "A string identifying the UPS. This object should be set by the administrator." ::= { upsIdent 5 } upsIdentAttachedDevices OBJECT-TYPE SYNTAX DisplayString (SIZE(0..63)) ACCESS read-write STATUS mandatory 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) } ACCESS read-only STATUS mandatory 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 mandatoryly absent and the UPS is unable to sustain the output)." ::= { upsBattery 1 } upsSecondsOnBattery OBJECT-TYPE SYNTAX NonNegativeInteger ACCESS read-only STATUS mandatory 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 -- "minutes" ACCESS read-only STATUS mandatory 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 INTEGER (0..100) -- "percent" ACCESS read-only STATUS mandatory DESCRIPTION "An estimate of the battery charge remaining expressed as a percent of full charge." ::= { upsBattery 4 } upsBatteryVoltage OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 Volt DC" ACCESS read-only STATUS mandatory DESCRIPTION "The magnitude of the present battery voltage." ::= { upsBattery 5 } upsBatterymandatory OBJECT-TYPE SYNTAX INTEGER -- "0.1 Amp DC" ACCESS read-only STATUS mandatory DESCRIPTION "The present battery mandatory." ::= { upsBattery 6 } upsBatteryTemperature OBJECT-TYPE SYNTAX INTEGER -- "degrees Centigrade" ACCESS read-only STATUS mandatory DESCRIPTION "The ambient temperature at or near the UPS Battery casing." ::= { upsBattery 7 } -- -- Input Group -- upsInput OBJECT IDENTIFIER ::= { upsObjects 3 } upsInputLineBads OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory 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 ACCESS read-only STATUS mandatory 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 ACCESS not-accessible STATUS mandatory 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 ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing information applicable to a particular input line." INDEX { upsInputLineIndex } ::= { upsInputTable 1 } UpsInputEntry ::= SEQUENCE { upsInputLineIndex PositiveInteger, upsInputFrequency NonNegativeInteger, upsInputVoltage NonNegativeInteger, upsInputmandatory NonNegativeInteger, upsInputTruePower NonNegativeInteger } upsInputLineIndex OBJECT-TYPE SYNTAX PositiveInteger ACCESS not-accessible STATUS mandatory DESCRIPTION "The input line identifier." ::= { upsInputEntry 1 } upsInputFrequency OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 Hertz" ACCESS read-only STATUS mandatory DESCRIPTION "The present input frequency." ::= { upsInputEntry 2 } upsInputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-only STATUS mandatory DESCRIPTION "The magnitude of the present input voltage." ::= { upsInputEntry 3 } upsInputmandatory OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 RMS Amp" ACCESS read-only STATUS mandatory DESCRIPTION "The magnitude of the present input mandatory." ::= { upsInputEntry 4 } upsInputTruePower OBJECT-TYPE SYNTAX NonNegativeInteger -- "Watts" ACCESS read-only STATUS mandatory DESCRIPTION "The magnitude of the present input true power." ::= { upsInputEntry 5 } -- -- 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) } ACCESS read-only STATUS mandatory DESCRIPTION "The present source of output power. The enumeration none(2) indicates that there is no source of output power (and therefore no output power), for example, the system has opened the output breaker." ::= { upsOutput 1 } upsOutputFrequency OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 Hertz" ACCESS read-only STATUS mandatory DESCRIPTION "The present output frequency." ::= { upsOutput 2 } upsOutputNumLines OBJECT-TYPE SYNTAX NonNegativeInteger ACCESS read-only STATUS mandatory 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 ACCESS not-accessible STATUS mandatory 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 ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing information applicable to a particular output line." INDEX { upsOutputLineIndex } ::= { upsOutputTable 1 } UpsOutputEntry ::= SEQUENCE { upsOutputLineIndex PositiveInteger, upsOutputVoltage NonNegativeInteger, upsOutputmandatory NonNegativeInteger, upsOutputPower NonNegativeInteger, upsOutputPercentLoad INTEGER } upsOutputLineIndex OBJECT-TYPE SYNTAX PositiveInteger ACCESS not-accessible STATUS mandatory DESCRIPTION "The output line identifier." ::= { upsOutputEntry 1 } upsOutputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-only STATUS mandatory DESCRIPTION "The present output voltage." ::= { upsOutputEntry 2 } upsOutputmandatory OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 RMS Amp" ACCESS read-only STATUS mandatory DESCRIPTION "The present output mandatory." ::= { upsOutputEntry 3 } upsOutputPower OBJECT-TYPE SYNTAX NonNegativeInteger -- "Watts" ACCESS read-only STATUS mandatory DESCRIPTION "The present output true power." ::= { upsOutputEntry 4 } upsOutputPercentLoad OBJECT-TYPE SYNTAX INTEGER (0..200) -- "percent" ACCESS read-only STATUS mandatory 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 -- "0.1 Hertz" ACCESS read-only STATUS mandatory DESCRIPTION "The present bypass frequency." ::= { upsBypass 1 } upsBypassNumLines OBJECT-TYPE SYNTAX NonNegativeInteger ACCESS read-only STATUS mandatory 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 ACCESS not-accessible STATUS mandatory 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 ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry containing information applicable to a particular bypass input." INDEX { upsBypassLineIndex } ::= { upsBypassTable 1 } UpsBypassEntry ::= SEQUENCE { upsBypassLineIndex PositiveInteger, upsBypassVoltage NonNegativeInteger, upsBypassmandatory NonNegativeInteger, upsBypassPower NonNegativeInteger } upsBypassLineIndex OBJECT-TYPE SYNTAX PositiveInteger ACCESS not-accessible STATUS mandatory DESCRIPTION "The bypass line identifier." ::= { upsBypassEntry 1 } upsBypassVoltage OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-only STATUS mandatory DESCRIPTION "The present bypass voltage." ::= { upsBypassEntry 2 } upsBypassmandatory OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 RMS Amp" ACCESS read-only STATUS mandatory DESCRIPTION "The present bypass mandatory." ::= { upsBypassEntry 3 } upsBypassPower OBJECT-TYPE SYNTAX NonNegativeInteger -- "Watts" ACCESS read-only STATUS mandatory DESCRIPTION "The present true power conveyed by the bypass." ::= { upsBypassEntry 4 } -- -- The Alarm group. -- upsAlarm OBJECT IDENTIFIER ::= { upsObjects 6 } upsAlarmsPresent OBJECT-TYPE SYNTAX Gauge ACCESS read-only STATUS mandatory DESCRIPTION "The present number of active alarm conditions." ::= { upsAlarm 1 } upsAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF UpsAlarmEntry ACCESS not-accessible STATUS mandatory 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 ACCESS not-accessible STATUS mandatory 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 ACCESS not-accessible STATUS mandatory DESCRIPTION "A unique identifier for an alarm condition. This value must remain constant." ::= { upsAlarmEntry 1 } upsAlarmDescr OBJECT-TYPE SYNTAX AutonomousType ACCESS read-only STATUS mandatory DESCRIPTION "A reference to an alarm description object. The object referenced should not be accessible, but rather be used to provide a unique description of the alarm condition." ::= { upsAlarmEntry 2 } upsAlarmTime OBJECT-TYPE SYNTAX TimeStamp ACCESS read-only STATUS mandatory 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 IDENTIFIER ::= { upsWellKnownAlarms 1 } upsAlarmOnBattery OBJECT IDENTIFIER ::= { upsWellKnownAlarms 2 } upsAlarmLowBattery OBJECT IDENTIFIER ::= { upsWellKnownAlarms 3 } upsAlarmDepletedBattery OBJECT IDENTIFIER ::= { upsWellKnownAlarms 4 } upsAlarmTempBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 5 } upsAlarmInputBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 6 } upsAlarmOutputBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 7 } upsAlarmOutputOverload OBJECT IDENTIFIER ::= { upsWellKnownAlarms 8 } upsAlarmOnBypass OBJECT IDENTIFIER ::= { upsWellKnownAlarms 9 } upsAlarmBypassBad OBJECT IDENTIFIER ::= { upsWellKnownAlarms 10 } upsAlarmOutputOffAsRequested OBJECT IDENTIFIER ::= { upsWellKnownAlarms 11 } upsAlarmUpsOffAsRequested OBJECT IDENTIFIER ::= { upsWellKnownAlarms 12 } upsAlarmChargerFailed OBJECT IDENTIFIER ::= { upsWellKnownAlarms 13 } upsAlarmUpsOutputOff OBJECT IDENTIFIER ::= { upsWellKnownAlarms 14 } upsAlarmUpsSystemOff OBJECT IDENTIFIER ::= { upsWellKnownAlarms 15 } upsAlarmFanFailure OBJECT IDENTIFIER ::= { upsWellKnownAlarms 16 } upsAlarmFuseFailure OBJECT IDENTIFIER ::= { upsWellKnownAlarms 17 } upsAlarmGeneralFault OBJECT IDENTIFIER ::= { upsWellKnownAlarms 18 } upsAlarmDiagnosticTestFailed OBJECT IDENTIFIER ::= { upsWellKnownAlarms 19 } upsAlarmCommunicationsLost OBJECT IDENTIFIER ::= { upsWellKnownAlarms 20 } upsAlarmAwaitingPower OBJECT IDENTIFIER ::= { upsWellKnownAlarms 21 } upsAlarmShutdownPending OBJECT IDENTIFIER ::= { upsWellKnownAlarms 22 } upsAlarmShutdownImminent OBJECT IDENTIFIER ::= { upsWellKnownAlarms 23 } upsAlarmTestInProgress OBJECT IDENTIFIER ::= { upsWellKnownAlarms 24 } -- -- The Test Group -- upsTest OBJECT IDENTIFIER ::= { upsObjects 7 } upsTestId OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory 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 mandatory 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 ACCESS read-write STATUS mandatory 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) } ACCESS read-only STATUS mandatory DESCRIPTION "The results of the mandatory 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)) ACCESS read-only STATUS mandatory DESCRIPTION "Additional information about upsTestResultsSummary. If no additional information available, a zero length string is returned." ::= { upsTest 4 } upsTestStartTime OBJECT-TYPE SYNTAX TimeStamp ACCESS read-only STATUS mandatory 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 ACCESS read-only STATUS mandatory 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 IDENTIFIER ::= { upsWellKnownTests 1 } upsTestAbortTestInProgress OBJECT IDENTIFIER ::= { upsWellKnownTests 2 } upsTestGeneralSystemsTest OBJECT IDENTIFIER ::= { upsWellKnownTests 3 } upsTestQuickBatteryTest OBJECT IDENTIFIER ::= { upsWellKnownTests 4 } upsTestDeepBatteryCalibration OBJECT IDENTIFIER ::= { upsWellKnownTests 5 } -- -- The Control group. -- upsControl OBJECT IDENTIFIER ::= { upsObjects 8 } upsShutdownType OBJECT-TYPE SYNTAX INTEGER { output(1), system(2) } ACCESS read-write STATUS mandatory 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 INTEGER (-1..2147483648) -- "seconds" ACCESS read-write STATUS mandatory 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 INTEGER (-1..2147483648) -- "seconds" ACCESS read-write STATUS mandatory 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 INTEGER (-1..300) -- "seconds" ACCESS read-write STATUS mandatory 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 } upsAutoRestart OBJECT-TYPE SYNTAX INTEGER { on(1), off(2) } ACCESS read-write STATUS mandatory DESCRIPTION "Setting this object to 'on' will cause the UPS system to restart after a shutdown if the shutdown occurred during a power loss as a result of either a upsShutdownAfterDelay or an internal battery depleted condition. Setting this object to 'off' will prevent the UPS system from restarting after a shutdown until an operator manually or remotely explicitly restarts it. If the UPS is in a startup or reboot countdown, then the UPS will not restart until that delay has been satisfied." ::= { upsControl 5 } -- -- The Configuration group. -- upsConfig OBJECT IDENTIFIER ::= { upsObjects 9 } upsConfigInputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-write STATUS mandatory DESCRIPTION "The magnitude of the nominal input voltage. On those systems which support read-write access to this object, if there is an attempt to set this variable to a value that is not supported, the request must be rejected and the agent shall respond with an appropriate error message, i.e., badValue for SNMPv1, or inconsistentValue for SNMPv2." ::= { upsConfig 1 } upsConfigInputFreq OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 Hertz" ACCESS read-write STATUS mandatory DESCRIPTION "The nominal input frequency. On those systems which support read-write access to this object, if there is an attempt to set this variable to a value that is not supported, the request must be rejected and the agent shall respond with an appropriate error message, i.e., badValue for SNMPv1, or inconsistentValue for SNMPv2." ::= { upsConfig 2 } upsConfigOutputVoltage OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-write STATUS mandatory DESCRIPTION "The magnitude of the nominal output voltage. On those systems which support read-write access to this object, if there is an attempt to set this variable to a value that is not supported, the request must be rejected and the agent shall respond with an appropriate error message, i.e., badValue for SNMPv1, or inconsistentValue for SNMPv2." ::= { upsConfig 3 } upsConfigOutputFreq OBJECT-TYPE SYNTAX NonNegativeInteger -- "0.1 Hertz" ACCESS read-write STATUS mandatory DESCRIPTION "The nominal output frequency. On those systems which support read-write access to this object, if there is an attempt to set this variable to a value that is not supported, the request must be rejected and the agent shall respond with an appropriate error message, i.e., badValue for SNMPv1, or inconsistentValue for SNMPv2." ::= { upsConfig 4 } upsConfigOutputVA OBJECT-TYPE SYNTAX NonNegativeInteger -- "Volt-Amps" ACCESS read-only STATUS mandatory DESCRIPTION "The magnitude of the nominal Volt-Amp rating." ::= { upsConfig 5 } upsConfigOutputPower OBJECT-TYPE SYNTAX NonNegativeInteger -- "Watts" ACCESS read-only STATUS mandatory DESCRIPTION "The magnitude of the nominal true power rating." ::= { upsConfig 6 } upsConfigLowBattTime OBJECT-TYPE SYNTAX NonNegativeInteger -- "minutes" ACCESS read-write STATUS mandatory DESCRIPTION "The value of upsEstimatedMinutesRemaining at which a lowBattery condition is declared. For agents which support only discrete (discontinuous) values, then the agent shall round up to the next supported value. If the requested value is larger than the largest supported value, then the largest supported value shall be selected." ::= { upsConfig 7 } upsConfigAudibleStatus OBJECT-TYPE SYNTAX INTEGER { disabled(1), enabled(2), muted(3) } ACCESS read-write STATUS mandatory DESCRIPTION "The requested state of the audible alarm. When in the disabled state, the audible alarm should never sound. The enabled state is self-describing. Setting this object to muted(3) when the audible alarm is sounding shall temporarily silence the alarm. It will remain muted until it would normally stop sounding and the value returned for read operations during this period shall equal muted(3). At the end of this period, the value shall revert to enabled(2). Writes of the value muted(3) when the audible alarm is not sounding shall be accepted but otherwise shall have no effect." ::= { upsConfig 8 } upsConfigLowVoltageTransferPoint OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-write STATUS mandatory DESCRIPTION "The minimum input line voltage allowed before the UPS system transfers to battery backup." ::= { upsConfig 9 } upsConfigHighVoltageTransferPoint OBJECT-TYPE SYNTAX NonNegativeInteger -- "RMS Volts" ACCESS read-write STATUS mandatory DESCRIPTION "The maximum line voltage allowed before the UPS system transfers to battery backup." ::= { upsConfig 10 } -- -- notifications, i.e., traps -- upsTraps OBJECT IDENTIFIER ::= { upsMIB 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 TRAP-TYPE ENTERPRISE upsTraps VARIABLES { upsEstimatedMinutesRemaining, upsSecondsOnBattery, upsConfigLowBattTime } 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." ::= 1 upsTrapTestCompleted TRAP-TYPE ENTERPRISE upsTraps VARIABLES { upsTestId, upsTestSpinLock, upsTestResultsSummary, upsTestResultsDetail, upsTestStartTime, upsTestElapsedTime } DESCRIPTION "This trap is sent upon completion of a UPS diagnostic test." ::= 2 upsTrapAlarmEntryAdded TRAP-TYPE ENTERPRISE upsTraps VARIABLES { upsAlarmId, upsAlarmDescr } 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." ::= 3 upsTrapAlarmEntryRemoved TRAP-TYPE ENTERPRISE upsTraps VARIABLES { upsAlarmId, upsAlarmDescr } 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." ::= 4 END