UPS: apcupsd clean sources
[tomato.git] / release / src / router / apcupsd / src / drivers / snmp / mibs / rfc1628.mib
blobfca2b5b4119b9b1e6880378ae94aa09e223ea4fa
1 UPS-MIB DEFINITIONS ::= BEGIN
3 IMPORTS
4 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5 OBJECT-IDENTITY, Counter32, Gauge32, Integer32, mib-2
6 FROM SNMPv2-SMI
7 DisplayString, TimeStamp, TimeInterval, TestAndIncr,
8 AutonomousType, TEXTUAL-CONVENTION
9 FROM SNMPv2-TC
10 MODULE-COMPLIANCE, OBJECT-GROUP
11 FROM SNMPv2-CONF;
14 upsMIB MODULE-IDENTITY
15 LAST-UPDATED "9402230000Z"
16 ORGANIZATION "IETF UPS MIB Working Group"
17 CONTACT-INFO
18 " Jeffrey D. Case
20 Postal: SNMP Research, Incorporated
21 3001 Kimberlin Heights Road
22 Knoxville, TN 37920
25 Tel: +1 615 573 1434
26 Fax: +1 615 573 9197
28 E-mail: case@snmp.com"
29 DESCRIPTION
30 "The MIB module to describe Uninterruptible Power
31 Supplies."
32 ::= { mib-2 33 }
34 PositiveInteger ::= TEXTUAL-CONVENTION
35 DISPLAY-HINT "d"
36 STATUS current
37 DESCRIPTION
38 "This data type is a non-zero and non-negative value."
39 SYNTAX INTEGER (1..2147483647)
41 NonNegativeInteger ::= TEXTUAL-CONVENTION
42 DISPLAY-HINT "d"
43 STATUS current
44 DESCRIPTION
45 "This data type is a non-negative value."
46 SYNTAX INTEGER (0..2147483647)
47 upsObjects OBJECT IDENTIFIER ::= { upsMIB 1 }
51 -- The Device Identification group.
52 -- All objects in this group except for upsIdentName and
53 -- upsIdentAttachedDevices are set at device initialization
54 -- and remain static.
57 upsIdent OBJECT IDENTIFIER ::= { upsObjects 1 }
59 upsIdentManufacturer OBJECT-TYPE
60 SYNTAX DisplayString (SIZE (0..31))
61 MAX-ACCESS read-only
62 STATUS current
63 DESCRIPTION
64 "The name of the UPS manufacturer."
65 ::= { upsIdent 1 }
67 upsIdentModel OBJECT-TYPE
68 SYNTAX DisplayString (SIZE (0..63))
69 MAX-ACCESS read-only
70 STATUS current
71 DESCRIPTION
72 "The UPS Model designation."
73 ::= { upsIdent 2 }
75 upsIdentUPSSoftwareVersion OBJECT-TYPE
76 SYNTAX DisplayString (SIZE (0..63))
77 MAX-ACCESS read-only
78 STATUS current
79 DESCRIPTION
80 "The UPS firmware/software version(s). This variable
81 may or may not have the same value as
82 upsIdentAgentSoftwareVersion in some implementations."
83 ::= { upsIdent 3 }
85 upsIdentAgentSoftwareVersion OBJECT-TYPE
86 SYNTAX DisplayString (SIZE (0..63))
87 MAX-ACCESS read-only
88 STATUS current
89 DESCRIPTION
90 "The UPS agent software version. This variable may or
91 may not have the same value as
92 upsIdentUPSSoftwareVersion in some implementations."
93 ::= { upsIdent 4 }
95 upsIdentName OBJECT-TYPE
96 SYNTAX DisplayString (SIZE(0..63))
97 MAX-ACCESS read-write
98 STATUS current
99 DESCRIPTION
100 "A string identifying the UPS. This object should be
101 set by the administrator."
102 ::= { upsIdent 5 }
104 upsIdentAttachedDevices OBJECT-TYPE
105 SYNTAX DisplayString (SIZE(0..63))
106 MAX-ACCESS read-write
107 STATUS current
108 DESCRIPTION
109 "A string identifying the devices attached to the
110 output(s) of the UPS. This object should be set by
111 the administrator."
112 ::= { upsIdent 6 }
116 -- Battery Group
119 upsBattery OBJECT IDENTIFIER ::= { upsObjects 2 }
121 upsBatteryStatus OBJECT-TYPE
122 SYNTAX INTEGER {
123 unknown(1),
124 batteryNormal(2),
125 batteryLow(3),
126 batteryDepleted(4)
128 MAX-ACCESS read-only
129 STATUS current
130 DESCRIPTION
131 "The indication of the capacity remaining in the UPS
132 system's batteries. A value of batteryNormal
133 indicates that the remaining run-time is greater than
134 upsConfigLowBattTime. A value of batteryLow indicates
135 that the remaining battery run-time is less than or
136 equal to upsConfigLowBattTime. A value of
137 batteryDepleted indicates that the UPS will be unable
138 to sustain the present load when and if the utility
139 power is lost (including the possibility that the
140 utility power is currently absent and the UPS is
141 unable to sustain the output)."
142 ::= { upsBattery 1 }
144 upsSecondsOnBattery OBJECT-TYPE
145 SYNTAX NonNegativeInteger
146 UNITS "seconds"
147 MAX-ACCESS read-only
148 STATUS current
149 DESCRIPTION
150 "If the unit is on battery power, the elapsed time
151 since the UPS last switched to battery power, or the
152 time since the network management subsystem was last
153 restarted, whichever is less. Zero shall be returned
154 if the unit is not on battery power."
155 ::= { upsBattery 2 }
157 upsEstimatedMinutesRemaining OBJECT-TYPE
158 SYNTAX PositiveInteger
159 UNITS "minutes"
160 MAX-ACCESS read-only
161 STATUS current
162 DESCRIPTION
163 "An estimate of the time to battery charge depletion
164 under the present load conditions if the utility power
165 is off and remains off, or if it were to be lost and
166 remain off."
167 ::= { upsBattery 3 }
169 upsEstimatedChargeRemaining OBJECT-TYPE
170 SYNTAX INTEGER (0..100)
171 UNITS "percent"
172 MAX-ACCESS read-only
173 STATUS current
174 DESCRIPTION
175 "An estimate of the battery charge remaining expressed
176 as a percent of full charge."
177 ::= { upsBattery 4 }
179 upsBatteryVoltage OBJECT-TYPE
180 SYNTAX NonNegativeInteger
181 UNITS "0.1 Volt DC"
182 MAX-ACCESS read-only
183 STATUS current
184 DESCRIPTION
185 "The magnitude of the present battery voltage."
186 ::= { upsBattery 5 }
188 upsBatteryCurrent OBJECT-TYPE
189 SYNTAX Integer32
190 UNITS "0.1 Amp DC"
191 MAX-ACCESS read-only
192 STATUS current
193 DESCRIPTION
194 "The present battery current."
195 ::= { upsBattery 6 }
197 upsBatteryTemperature OBJECT-TYPE
198 SYNTAX Integer32
199 UNITS "degrees Centigrade"
200 MAX-ACCESS read-only
201 STATUS current
202 DESCRIPTION
203 "The ambient temperature at or near the UPS Battery
204 casing."
205 ::= { upsBattery 7 }
209 -- Input Group
212 upsInput OBJECT IDENTIFIER ::= { upsObjects 3 }
214 upsInputLineBads OBJECT-TYPE
215 SYNTAX Counter32
216 MAX-ACCESS read-only
217 STATUS current
218 DESCRIPTION
219 "A count of the number of times the input entered an
220 out-of-tolerance condition as defined by the
221 manufacturer. This count is incremented by one each
222 time the input transitions from zero out-of-tolerance
223 lines to one or more input lines out-of-tolerance."
224 ::= { upsInput 1 }
227 upsInputNumLines OBJECT-TYPE
228 SYNTAX NonNegativeInteger
229 MAX-ACCESS read-only
230 STATUS current
231 DESCRIPTION
232 "The number of input lines utilized in this device.
233 This variable indicates the number of rows in the
234 input table."
235 ::= { upsInput 2 }
237 upsInputTable OBJECT-TYPE
238 SYNTAX SEQUENCE OF UpsInputEntry
239 MAX-ACCESS not-accessible
240 STATUS current
241 DESCRIPTION
242 "A list of input table entries. The number of entries
243 is given by the value of upsInputNumLines."
244 ::= { upsInput 3 }
246 upsInputEntry OBJECT-TYPE
247 SYNTAX UpsInputEntry
248 MAX-ACCESS not-accessible
249 STATUS current
250 DESCRIPTION
251 "An entry containing information applicable to a
252 particular input line."
253 INDEX { upsInputLineIndex }
254 ::= { upsInputTable 1 }
256 UpsInputEntry ::= SEQUENCE {
257 upsInputLineIndex PositiveInteger,
258 upsInputFrequency NonNegativeInteger,
259 upsInputVoltage NonNegativeInteger,
260 upsInputCurrent NonNegativeInteger,
261 upsInputTruePower NonNegativeInteger
264 upsInputLineIndex OBJECT-TYPE
265 SYNTAX PositiveInteger
266 MAX-ACCESS not-accessible
267 STATUS current
268 DESCRIPTION
269 "The input line identifier."
270 ::= { upsInputEntry 1 }
272 upsInputFrequency OBJECT-TYPE
273 SYNTAX NonNegativeInteger
274 UNITS "0.1 Hertz"
275 MAX-ACCESS read-only
276 STATUS current
277 DESCRIPTION
278 "The present input frequency."
279 ::= { upsInputEntry 2 }
281 upsInputVoltage OBJECT-TYPE
282 SYNTAX NonNegativeInteger
283 UNITS "RMS Volts"
284 MAX-ACCESS read-only
285 STATUS current
286 DESCRIPTION
287 "The magnitude of the present input voltage."
288 ::= { upsInputEntry 3 }
290 upsInputCurrent OBJECT-TYPE
291 SYNTAX NonNegativeInteger
292 UNITS "0.1 RMS Amp"
293 MAX-ACCESS read-only
294 STATUS current
295 DESCRIPTION
296 "The magnitude of the present input current."
297 ::= { upsInputEntry 4 }
299 upsInputTruePower OBJECT-TYPE
300 SYNTAX NonNegativeInteger
301 UNITS "Watts"
302 MAX-ACCESS read-only
303 STATUS current
304 DESCRIPTION
305 "The magnitude of the present input true power."
306 ::= { upsInputEntry 5 }
310 -- The Output group.
313 upsOutput OBJECT IDENTIFIER ::= { upsObjects 4 }
315 upsOutputSource OBJECT-TYPE
316 SYNTAX INTEGER {
317 other(1),
318 none(2),
319 normal(3),
320 bypass(4),
321 battery(5),
322 booster(6),
323 reducer(7)
325 MAX-ACCESS read-only
326 STATUS current
327 DESCRIPTION
328 "The present source of output power. The enumeration
329 none(2) indicates that there is no source of output
330 power (and therefore no output power), for example,
331 the system has opened the output breaker."
332 ::= { upsOutput 1 }
334 upsOutputFrequency OBJECT-TYPE
335 SYNTAX NonNegativeInteger
336 UNITS "0.1 Hertz"
337 MAX-ACCESS read-only
338 STATUS current
339 DESCRIPTION
340 "The present output frequency."
341 ::= { upsOutput 2 }
343 upsOutputNumLines OBJECT-TYPE
344 SYNTAX NonNegativeInteger
345 MAX-ACCESS read-only
346 STATUS current
347 DESCRIPTION
348 "The number of output lines utilized in this device.
349 This variable indicates the number of rows in the
350 output table."
351 ::= { upsOutput 3 }
353 upsOutputTable OBJECT-TYPE
354 SYNTAX SEQUENCE OF UpsOutputEntry
355 MAX-ACCESS not-accessible
356 STATUS current
357 DESCRIPTION
358 "A list of output table entries. The number of
359 entries is given by the value of upsOutputNumLines."
360 ::= { upsOutput 4 }
362 upsOutputEntry OBJECT-TYPE
363 SYNTAX UpsOutputEntry
364 MAX-ACCESS not-accessible
365 STATUS current
366 DESCRIPTION
367 "An entry containing information applicable to a
368 particular output line."
369 INDEX { upsOutputLineIndex }
370 ::= { upsOutputTable 1 }
372 UpsOutputEntry ::= SEQUENCE {
373 upsOutputLineIndex PositiveInteger,
374 upsOutputVoltage NonNegativeInteger,
375 upsOutputCurrent NonNegativeInteger,
376 upsOutputPower NonNegativeInteger,
377 upsOutputPercentLoad INTEGER
380 upsOutputLineIndex OBJECT-TYPE
381 SYNTAX PositiveInteger
382 MAX-ACCESS not-accessible
383 STATUS current
384 DESCRIPTION
385 "The output line identifier."
386 ::= { upsOutputEntry 1 }
388 upsOutputVoltage OBJECT-TYPE
389 SYNTAX NonNegativeInteger
390 UNITS "RMS Volts"
391 MAX-ACCESS read-only
392 STATUS current
393 DESCRIPTION
394 "The present output voltage."
395 ::= { upsOutputEntry 2 }
397 upsOutputCurrent OBJECT-TYPE
398 SYNTAX NonNegativeInteger
399 UNITS "0.1 RMS Amp"
400 MAX-ACCESS read-only
401 STATUS current
402 DESCRIPTION
403 "The present output current."
404 ::= { upsOutputEntry 3 }
406 upsOutputPower OBJECT-TYPE
407 SYNTAX NonNegativeInteger
408 UNITS "Watts"
409 MAX-ACCESS read-only
410 STATUS current
411 DESCRIPTION
412 "The present output true power."
413 ::= { upsOutputEntry 4 }
415 upsOutputPercentLoad OBJECT-TYPE
416 SYNTAX INTEGER (0..200)
417 UNITS "percent"
418 MAX-ACCESS read-only
419 STATUS current
420 DESCRIPTION
421 "The percentage of the UPS power capacity presently
422 being used on this output line, i.e., the greater of
423 the percent load of true power capacity and the
424 percent load of VA."
425 ::= { upsOutputEntry 5 }
428 -- The Bypass group.
431 upsBypass OBJECT IDENTIFIER ::= { upsObjects 5 }
433 upsBypassFrequency OBJECT-TYPE
434 SYNTAX NonNegativeInteger
435 UNITS "0.1 Hertz"
436 MAX-ACCESS read-only
437 STATUS current
438 DESCRIPTION
439 "The present bypass frequency."
440 ::= { upsBypass 1 }
442 upsBypassNumLines OBJECT-TYPE
443 SYNTAX NonNegativeInteger
444 MAX-ACCESS read-only
445 STATUS current
446 DESCRIPTION
447 "The number of bypass lines utilized in this device.
448 This entry indicates the number of rows in the bypass
449 table."
450 ::= { upsBypass 2 }
452 upsBypassTable OBJECT-TYPE
453 SYNTAX SEQUENCE OF UpsBypassEntry
454 MAX-ACCESS not-accessible
455 STATUS current
456 DESCRIPTION
457 "A list of bypass table entries. The number of
458 entries is given by the value of upsBypassNumLines."
459 ::= { upsBypass 3 }
461 upsBypassEntry OBJECT-TYPE
462 SYNTAX UpsBypassEntry
463 MAX-ACCESS not-accessible
464 STATUS current
465 DESCRIPTION
466 "An entry containing information applicable to a
467 particular bypass input."
468 INDEX { upsBypassLineIndex }
469 ::= { upsBypassTable 1 }
471 UpsBypassEntry ::= SEQUENCE {
472 upsBypassLineIndex PositiveInteger,
473 upsBypassVoltage NonNegativeInteger,
474 upsBypassCurrent NonNegativeInteger,
475 upsBypassPower NonNegativeInteger
478 upsBypassLineIndex OBJECT-TYPE
479 SYNTAX PositiveInteger
480 MAX-ACCESS not-accessible
481 STATUS current
482 DESCRIPTION
483 "The bypass line identifier."
484 ::= { upsBypassEntry 1 }
486 upsBypassVoltage OBJECT-TYPE
487 SYNTAX NonNegativeInteger
488 UNITS "RMS Volts"
489 MAX-ACCESS read-only
490 STATUS current
491 DESCRIPTION
492 "The present bypass voltage."
493 ::= { upsBypassEntry 2 }
495 upsBypassCurrent OBJECT-TYPE
496 SYNTAX NonNegativeInteger
497 UNITS "0.1 RMS Amp"
498 MAX-ACCESS read-only
499 STATUS current
500 DESCRIPTION
501 "The present bypass current."
502 ::= { upsBypassEntry 3 }
504 upsBypassPower OBJECT-TYPE
505 SYNTAX NonNegativeInteger
506 UNITS "Watts"
507 MAX-ACCESS read-only
508 STATUS current
509 DESCRIPTION
510 "The present true power conveyed by the bypass."
511 ::= { upsBypassEntry 4 }
515 -- The Alarm group.
518 upsAlarm OBJECT IDENTIFIER ::= { upsObjects 6 }
520 upsAlarmsPresent OBJECT-TYPE
521 SYNTAX Gauge32
522 MAX-ACCESS read-only
523 STATUS current
524 DESCRIPTION
525 "The present number of active alarm conditions."
526 ::= { upsAlarm 1 }
528 upsAlarmTable OBJECT-TYPE
529 SYNTAX SEQUENCE OF UpsAlarmEntry
530 MAX-ACCESS not-accessible
531 STATUS current
532 DESCRIPTION
533 "A list of alarm table entries. The table contains
534 zero, one, or many rows at any moment, depending upon
535 the number of alarm conditions in effect. The table
536 is initially empty at agent startup. The agent
537 creates a row in the table each time a condition is
538 detected and deletes that row when that condition no
539 longer pertains. The agent creates the first row with
540 upsAlarmId equal to 1, and increments the value of
541 upsAlarmId each time a new row is created, wrapping to
542 the first free value greater than or equal to 1 when
543 the maximum value of upsAlarmId would otherwise be
544 exceeded. Consequently, after multiple operations,
545 the table may become sparse, e.g., containing entries
546 for rows 95, 100, 101, and 203 and the entries should
547 not be assumed to be in chronological order because
548 upsAlarmId might have wrapped.
550 Alarms are named by an AutonomousType (OBJECT
551 IDENTIFIER), upsAlarmDescr, to allow a single table to
552 reflect well known alarms plus alarms defined by a
553 particular implementation, i.e., as documented in the
554 private enterprise MIB definition for the device. No
555 two rows will have the same value of upsAlarmDescr,
556 since alarms define conditions. In order to meet this
557 requirement, care should be taken in the definition of
558 alarm conditions to insure that a system cannot enter
559 the same condition multiple times simultaneously.
561 The number of rows in the table at any given time is
562 reflected by the value of upsAlarmsPresent."
563 ::= { upsAlarm 2 }
565 upsAlarmEntry OBJECT-TYPE
566 SYNTAX UpsAlarmEntry
567 MAX-ACCESS not-accessible
568 STATUS current
569 DESCRIPTION
570 "An entry containing information applicable to a
571 particular alarm."
572 INDEX { upsAlarmId }
573 ::= { upsAlarmTable 1 }
575 UpsAlarmEntry ::= SEQUENCE {
576 upsAlarmId PositiveInteger,
577 upsAlarmDescr AutonomousType,
578 upsAlarmTime TimeStamp
581 upsAlarmId OBJECT-TYPE
582 SYNTAX PositiveInteger
583 MAX-ACCESS not-accessible
584 STATUS current
585 DESCRIPTION
586 "A unique identifier for an alarm condition. This
587 value must remain constant."
588 ::= { upsAlarmEntry 1 }
590 upsAlarmDescr OBJECT-TYPE
591 SYNTAX AutonomousType
592 MAX-ACCESS read-only
593 STATUS current
594 DESCRIPTION
595 "A reference to an alarm description object. The
596 object referenced should not be accessible, but rather
597 be used to provide a unique description of the alarm
598 condition."
599 ::= { upsAlarmEntry 2 }
601 upsAlarmTime OBJECT-TYPE
602 SYNTAX TimeStamp
603 MAX-ACCESS read-only
604 STATUS current
605 DESCRIPTION
606 "The value of sysUpTime when the alarm condition was
607 detected. If the alarm condition was detected at the
608 time of agent startup and presumably existed before
609 agent startup, the value of upsAlarmTime shall equal
611 ::= { upsAlarmEntry 3 }
615 -- Well known alarm conditions.
618 upsWellKnownAlarms OBJECT IDENTIFIER ::= { upsAlarm 3 }
620 upsAlarmBatteryBad OBJECT-IDENTITY
621 STATUS current
622 DESCRIPTION
623 "One or more batteries have been determined to require
624 replacement."
625 ::= { upsWellKnownAlarms 1 }
627 upsAlarmOnBattery OBJECT-IDENTITY
628 STATUS current
629 DESCRIPTION
630 "The UPS is drawing power from the batteries."
631 ::= { upsWellKnownAlarms 2 }
633 upsAlarmLowBattery OBJECT-IDENTITY
634 STATUS current
635 DESCRIPTION
636 "The remaining battery run-time is less than or equal
637 to upsConfigLowBattTime."
638 ::= { upsWellKnownAlarms 3 }
641 upsAlarmDepletedBattery OBJECT-IDENTITY
642 STATUS current
643 DESCRIPTION
644 "The UPS will be unable to sustain the present load
645 when and if the utility power is lost."
646 ::= { upsWellKnownAlarms 4 }
648 upsAlarmTempBad OBJECT-IDENTITY
649 STATUS current
650 DESCRIPTION
651 "A temperature is out of tolerance."
652 ::= { upsWellKnownAlarms 5 }
654 upsAlarmInputBad OBJECT-IDENTITY
655 STATUS current
656 DESCRIPTION
657 "An input condition is out of tolerance."
658 ::= { upsWellKnownAlarms 6 }
660 upsAlarmOutputBad OBJECT-IDENTITY
661 STATUS current
662 DESCRIPTION
663 "An output condition (other than OutputOverload) is
664 out of tolerance."
665 ::= { upsWellKnownAlarms 7 }
667 upsAlarmOutputOverload OBJECT-IDENTITY
668 STATUS current
669 DESCRIPTION
670 "The output load exceeds the UPS output capacity."
671 ::= { upsWellKnownAlarms 8 }
673 upsAlarmOnBypass OBJECT-IDENTITY
674 STATUS current
675 DESCRIPTION
676 "The Bypass is presently engaged on the UPS."
677 ::= { upsWellKnownAlarms 9 }
679 upsAlarmBypassBad OBJECT-IDENTITY
680 STATUS current
681 DESCRIPTION
682 "The Bypass is out of tolerance."
683 ::= { upsWellKnownAlarms 10 }
685 upsAlarmOutputOffAsRequested OBJECT-IDENTITY
686 STATUS current
687 DESCRIPTION
688 "The UPS has shutdown as requested, i.e., the output
689 is off."
690 ::= { upsWellKnownAlarms 11 }
692 upsAlarmUpsOffAsRequested OBJECT-IDENTITY
693 STATUS current
694 DESCRIPTION
695 "The entire UPS has shutdown as commanded."
696 ::= { upsWellKnownAlarms 12 }
698 upsAlarmChargerFailed OBJECT-IDENTITY
699 STATUS current
700 DESCRIPTION
701 "An uncorrected problem has been detected within the
702 UPS charger subsystem."
703 ::= { upsWellKnownAlarms 13 }
705 upsAlarmUpsOutputOff OBJECT-IDENTITY
706 STATUS current
707 DESCRIPTION
708 "The output of the UPS is in the off state."
709 ::= { upsWellKnownAlarms 14 }
711 upsAlarmUpsSystemOff OBJECT-IDENTITY
712 STATUS current
713 DESCRIPTION
714 "The UPS system is in the off state."
715 ::= { upsWellKnownAlarms 15 }
717 upsAlarmFanFailure OBJECT-IDENTITY
718 STATUS current
719 DESCRIPTION
720 "The failure of one or more fans in the UPS has been
721 detected."
722 ::= { upsWellKnownAlarms 16 }
724 upsAlarmFuseFailure OBJECT-IDENTITY
725 STATUS current
726 DESCRIPTION
727 "The failure of one or more fuses has been detected."
728 ::= { upsWellKnownAlarms 17 }
730 upsAlarmGeneralFault OBJECT-IDENTITY
731 STATUS current
732 DESCRIPTION
733 "A general fault in the UPS has been detected."
734 ::= { upsWellKnownAlarms 18 }
736 upsAlarmDiagnosticTestFailed OBJECT-IDENTITY
737 STATUS current
738 DESCRIPTION
739 "The result of the last diagnostic test indicates a
740 failure."
741 ::= { upsWellKnownAlarms 19 }
743 upsAlarmCommunicationsLost OBJECT-IDENTITY
744 STATUS current
745 DESCRIPTION
746 "A problem has been encountered in the communications
747 between the agent and the UPS."
748 ::= { upsWellKnownAlarms 20 }
750 upsAlarmAwaitingPower OBJECT-IDENTITY
751 STATUS current
752 DESCRIPTION
753 "The UPS output is off and the UPS is awaiting the
754 return of input power."
755 ::= { upsWellKnownAlarms 21 }
757 upsAlarmShutdownPending OBJECT-IDENTITY
758 STATUS current
759 DESCRIPTION
760 "A upsShutdownAfterDelay countdown is underway."
761 ::= { upsWellKnownAlarms 22 }
763 upsAlarmShutdownImminent OBJECT-IDENTITY
764 STATUS current
765 DESCRIPTION
766 "The UPS will turn off power to the load in less than
767 5 seconds; this may be either a timed shutdown or a
768 low battery shutdown."
769 ::= { upsWellKnownAlarms 23 }
771 upsAlarmTestInProgress OBJECT-IDENTITY
772 STATUS current
773 DESCRIPTION
774 "A test is in progress, as initiated and indicated by
775 the Test Group. Tests initiated via other
776 implementation-specific mechanisms can indicate the
777 presence of the testing in the alarm table, if
778 desired, via a OBJECT-IDENTITY macro in the MIB
779 document specific to that implementation and are
780 outside the scope of this OBJECT-IDENTITY."
781 ::= { upsWellKnownAlarms 24 }
785 -- The Test Group
788 upsTest OBJECT IDENTIFIER ::= { upsObjects 7 }
790 upsTestId OBJECT-TYPE
791 SYNTAX OBJECT IDENTIFIER
792 MAX-ACCESS read-write
793 STATUS current
794 DESCRIPTION
795 "The test is named by an OBJECT IDENTIFIER which
796 allows a standard mechanism for the initiation of
797 tests, including the well known tests identified in
798 this document as well as those introduced by a
799 particular implementation, i.e., as documented in the
800 private enterprise MIB definition for the device.
802 Setting this variable initiates the named test. Sets
803 to this variable require the presence of
804 upsTestSpinLock in the same SNMP message.
806 The set request will be rejected with an appropriate
807 error message if the requested test cannot be
808 performed, including attempts to start a test when
809 another test is already in progress. The status of
810 the current or last test is maintained in
811 upsTestResultsSummary. Tests in progress may be
812 aborted by setting the upsTestId variable to
813 upsTestAbortTestInProgress.
815 Read operations return the value of the name of the
816 test in progress if a test is in progress or the name
817 of the last test performed if no test is in progress,
818 unless no test has been run, in which case the well
819 known value upsTestNoTestsInitiated is returned."
820 ::= { upsTest 1 }
822 -- see [6] for more information on the semantics of objects with
823 -- syntax of TestAndIncr
825 upsTestSpinLock OBJECT-TYPE
826 SYNTAX TestAndIncr
827 MAX-ACCESS read-write
828 STATUS current
829 DESCRIPTION
830 "A spin lock on the test subsystem. The spinlock is
831 used as follows.
833 Before starting a test, a manager-station should make
834 sure that a test is not in progress as follows:
836 try_again:
837 get (upsTestSpinLock)
838 while (upsTestResultsSummary == inProgress) {
839 /* loop while a test is running for another
840 manager */
841 short delay
842 get (upsTestSpinLock)
844 lock_value = upsTestSpinLock
845 /* no test in progress, start the test */
846 set (upsTestSpinLock = lock_value, upsTestId =
847 requested_test)
848 if (error_index == 1) { /* (upsTestSpinLock
849 failed) */
850 /* if problem is not access control, then
851 some other manager slipped in ahead of us
853 goto try_again
855 if (error_index == 2) { /* (upsTestId) */
856 /* cannot perform the test */
857 give up
859 /* test started ok */
860 /* wait for test completion by polling
861 upsTestResultsSummary */
862 get (upsTestSpinLock, upsTestResultsSummary,
863 upsTestResultsDetail)
864 while (upsTestResultsSummary == inProgress) {
865 short delay
866 get (upsTestSpinLock, upsTestResultsSummary,
867 upsTestResultsDetail)
869 /* when test completes, retrieve any additional
870 test results */
871 /* if upsTestSpinLock == lock_value + 1, then
872 these are our test */
873 /* results (as opposed to another manager's */
874 The initial value of upsTestSpinLock at agent
875 initialization shall
876 be 1."
877 ::= { upsTest 2 }
879 upsTestResultsSummary OBJECT-TYPE
880 SYNTAX INTEGER {
881 donePass(1),
882 doneWarning(2),
883 doneError(3),
884 aborted(4),
885 inProgress(5),
886 noTestsInitiated(6)
888 MAX-ACCESS read-only
889 STATUS current
890 DESCRIPTION
891 "The results of the current or last UPS diagnostics
892 test performed. The values for donePass(1),
893 doneWarning(2), and doneError(3) indicate that the
894 test completed either successfully, with a warning, or
895 with an error, respectively. The value aborted(4) is
896 returned for tests which are aborted by setting the
897 value of upsTestId to upsTestAbortTestInProgress.
898 Tests which have not yet concluded are indicated by
899 inProgress(5). The value noTestsInitiated(6)
900 indicates that no previous test results are available,
901 such as is the case when no tests have been run since
902 the last reinitialization of the network management
903 subsystem and the system has no provision for non-
904 volatile storage of test results."
905 ::= { upsTest 3 }
907 upsTestResultsDetail OBJECT-TYPE
908 SYNTAX DisplayString (SIZE (0..255))
909 MAX-ACCESS read-only
910 STATUS current
911 DESCRIPTION
912 "Additional information about upsTestResultsSummary.
913 If no additional information available, a zero length
914 string is returned."
915 ::= { upsTest 4 }
917 upsTestStartTime OBJECT-TYPE
918 SYNTAX TimeStamp
919 MAX-ACCESS read-only
920 STATUS current
921 DESCRIPTION
922 "The value of sysUpTime at the time the test in
923 progress was initiated, or, if no test is in progress,
924 the time the previous test was initiated. If the
925 value of upsTestResultsSummary is noTestsInitiated(6),
926 upsTestStartTime has the value 0."
927 ::= { upsTest 5 }
929 upsTestElapsedTime OBJECT-TYPE
930 SYNTAX TimeInterval
931 MAX-ACCESS read-only
932 STATUS current
933 DESCRIPTION
934 "The amount of time, in TimeTicks, since the test in
935 progress was initiated, or, if no test is in progress,
936 the previous test took to complete. If the value of
937 upsTestResultsSummary is noTestsInitiated(6),
938 upsTestElapsedTime has the value 0."
939 ::= { upsTest 6 }
942 -- Well known tests.
945 upsWellKnownTests OBJECT IDENTIFIER ::= { upsTest 7 }
948 upsTestNoTestsInitiated OBJECT-IDENTITY
949 STATUS current
950 DESCRIPTION
951 "No tests have been initiated and no test is in
952 progress."
953 ::= { upsWellKnownTests 1 }
955 upsTestAbortTestInProgress OBJECT-IDENTITY
956 STATUS current
957 DESCRIPTION
958 "The test in progress is to be aborted / the test in
959 progress was aborted."
960 ::= { upsWellKnownTests 2 }
962 upsTestGeneralSystemsTest OBJECT-IDENTITY
963 STATUS current
964 DESCRIPTION
965 "The manufacturer's standard test of UPS device
966 systems."
967 ::= { upsWellKnownTests 3 }
969 upsTestQuickBatteryTest OBJECT-IDENTITY
970 STATUS current
971 DESCRIPTION
972 "A test that is sufficient to determine if the battery
973 needs replacement."
974 ::= { upsWellKnownTests 4 }
976 upsTestDeepBatteryCalibration OBJECT-IDENTITY
977 STATUS current
978 DESCRIPTION
979 "The system is placed on battery to a discharge level,
980 set by the manufacturer, sufficient to determine
981 battery replacement and battery run-time with a high
982 degree of confidence. WARNING: this test will leave
983 the battery in a low charge state and will require
984 time for recharging to a level sufficient to provide
985 normal battery duration for the protected load."
986 ::= { upsWellKnownTests 5 }
990 -- The Control group.
993 upsControl OBJECT IDENTIFIER ::= { upsObjects 8 }
995 upsShutdownType OBJECT-TYPE
996 SYNTAX INTEGER {
997 output(1),
998 system(2)
1000 MAX-ACCESS read-write
1001 STATUS current
1002 DESCRIPTION
1003 "This object determines the nature of the action to be
1004 taken at the time when the countdown of the
1005 upsShutdownAfterDelay and upsRebootWithDuration
1006 objects reaches zero.
1008 Setting this object to output(1) indicates that
1009 shutdown requests should cause only the output of the
1010 UPS to turn off. Setting this object to system(2)
1011 indicates that shutdown requests will cause the entire
1012 UPS system to turn off."
1013 ::= { upsControl 1 }
1015 upsShutdownAfterDelay OBJECT-TYPE
1016 SYNTAX INTEGER (-1..2147483648)
1017 UNITS "seconds"
1018 MAX-ACCESS read-write
1019 STATUS current
1020 DESCRIPTION
1021 "Setting this object will shutdown (i.e., turn off)
1022 either the UPS output or the UPS system (as determined
1023 by the value of upsShutdownType at the time of
1024 shutdown) after the indicated number of seconds, or
1025 less if the UPS batteries become depleted. Setting
1026 this object to 0 will cause the shutdown to occur
1027 immediately. Setting this object to -1 will abort the
1028 countdown. If the system is already in the desired
1029 state at the time the countdown reaches 0, then
1030 nothing will happen. That is, there is no additional
1031 action at that time if upsShutdownType = system and
1032 the system is already off. Similarly, there is no
1033 additional action at that time if upsShutdownType =
1034 output and the output is already off. When read,
1035 upsShutdownAfterDelay will return the number of
1036 seconds remaining until shutdown, or -1 if no shutdown
1037 countdown is in effect. On some systems, if the agent
1038 is restarted while a shutdown countdown is in effect,
1039 the countdown may be aborted. Sets to this object
1040 override any upsShutdownAfterDelay already in effect."
1041 ::= { upsControl 2 }
1043 upsStartupAfterDelay OBJECT-TYPE
1044 SYNTAX INTEGER (-1..2147483648)
1045 UNITS "seconds"
1046 MAX-ACCESS read-write
1047 STATUS current
1048 DESCRIPTION
1049 "Setting this object will start the output after the
1050 indicated number of seconds, including starting the
1051 UPS, if necessary. Setting this object to 0 will
1052 cause the startup to occur immediately. Setting this
1053 object to -1 will abort the countdown. If the output
1054 is already on at the time the countdown reaches 0,
1055 then nothing will happen. Sets to this object
1056 override the effect of any upsStartupAfterDelay
1057 countdown or upsRebootWithDuration countdown in
1058 progress. When read, upsStartupAfterDelay will return
1059 the number of seconds until startup, or -1 if no
1060 startup countdown is in effect. If the countdown
1061 expires during a utility failure, the startup shall
1062 not occur until the utility power is restored. On
1063 some systems, if the agent is restarted while a
1064 startup countdown is in effect, the countdown is
1065 aborted."
1066 ::= { upsControl 3 }
1068 upsRebootWithDuration OBJECT-TYPE
1069 SYNTAX INTEGER (-1..300)
1070 UNITS "seconds"
1071 MAX-ACCESS read-write
1072 STATUS current
1073 DESCRIPTION
1074 "Setting this object will immediately shutdown (i.e.,
1075 turn off) either the UPS output or the UPS system (as
1076 determined by the value of upsShutdownType at the time
1077 of shutdown) for a period equal to the indicated
1078 number of seconds, after which time the output will be
1079 started, including starting the UPS, if necessary. If
1080 the number of seconds required to perform the request
1081 is greater than the requested duration, then the
1082 requested shutdown and startup cycle shall be
1083 performed in the minimum time possible, but in no case
1084 shall this require more than the requested duration
1085 plus 60 seconds. When read, upsRebootWithDuration
1086 shall return the number of seconds remaining in the
1087 countdown, or -1 if no countdown is in progress. If
1088 the startup should occur during a utility failure, the
1089 startup shall not occur until the utility power is
1090 restored."
1091 ::= { upsControl 4 }
1093 upsAutoRestart OBJECT-TYPE
1094 SYNTAX INTEGER {
1095 on(1),
1096 off(2)
1098 MAX-ACCESS read-write
1099 STATUS current
1100 DESCRIPTION
1101 "Setting this object to 'on' will cause the UPS system
1102 to restart after a shutdown if the shutdown occurred
1103 during a power loss as a result of either a
1104 upsShutdownAfterDelay or an internal battery depleted
1105 condition. Setting this object to 'off' will prevent
1106 the UPS system from restarting after a shutdown until
1107 an operator manually or remotely explicitly restarts
1108 it. If the UPS is in a startup or reboot countdown,
1109 then the UPS will not restart until that delay has
1110 been satisfied."
1111 ::= { upsControl 5 }
1115 -- The Configuration group.
1118 upsConfig OBJECT IDENTIFIER ::= { upsObjects 9 }
1120 upsConfigInputVoltage OBJECT-TYPE
1121 SYNTAX NonNegativeInteger
1122 UNITS "RMS Volts"
1123 MAX-ACCESS read-write
1124 STATUS current
1125 DESCRIPTION
1126 "The magnitude of the nominal input voltage. On those
1127 systems which support read-write access to this
1128 object, if there is an attempt to set this variable to
1129 a value that is not supported, the request must be
1130 rejected and the agent shall respond with an
1131 appropriate error message, i.e., badValue for SNMPv1,
1132 or inconsistentValue for SNMPv2."
1133 ::= { upsConfig 1 }
1135 upsConfigInputFreq OBJECT-TYPE
1136 SYNTAX NonNegativeInteger
1137 UNITS "0.1 Hertz"
1138 MAX-ACCESS read-write
1139 STATUS current
1140 DESCRIPTION
1141 "The nominal input frequency. On those systems which
1142 support read-write access to this object, if there is
1143 an attempt to set this variable to a value that is not
1144 supported, the request must be rejected and the agent
1145 shall respond with an appropriate error message, i.e.,
1146 badValue for SNMPv1, or inconsistentValue for SNMPv2."
1147 ::= { upsConfig 2 }
1149 upsConfigOutputVoltage OBJECT-TYPE
1150 SYNTAX NonNegativeInteger
1151 UNITS "RMS Volts"
1152 MAX-ACCESS read-write
1153 STATUS current
1154 DESCRIPTION
1155 "The magnitude of the nominal output voltage. On
1156 those systems which support read-write access to this
1157 object, if there is an attempt to set this variable to
1158 a value that is not supported, the request must be
1159 rejected and the agent shall respond with an
1160 appropriate error message, i.e., badValue for SNMPv1,
1161 or inconsistentValue for SNMPv2."
1162 ::= { upsConfig 3 }
1164 upsConfigOutputFreq OBJECT-TYPE
1165 SYNTAX NonNegativeInteger
1166 UNITS "0.1 Hertz"
1167 MAX-ACCESS read-write
1168 STATUS current
1169 DESCRIPTION
1170 "The nominal output frequency. On those systems which
1171 support read-write access to this object, if there is
1172 an attempt to set this variable to a value that is not
1173 supported, the request must be rejected and the agent
1174 shall respond with an appropriate error message, i.e.,
1175 badValue for SNMPv1, or inconsistentValue for SNMPv2."
1176 ::= { upsConfig 4 }
1178 upsConfigOutputVA OBJECT-TYPE
1179 SYNTAX NonNegativeInteger
1180 UNITS "Volt-Amps"
1181 MAX-ACCESS read-only
1182 STATUS current
1183 DESCRIPTION
1184 "The magnitude of the nominal Volt-Amp rating."
1185 ::= { upsConfig 5 }
1187 upsConfigOutputPower OBJECT-TYPE
1188 SYNTAX NonNegativeInteger
1189 UNITS "Watts"
1190 MAX-ACCESS read-only
1191 STATUS current
1192 DESCRIPTION
1193 "The magnitude of the nominal true power rating."
1194 ::= { upsConfig 6 }
1196 upsConfigLowBattTime OBJECT-TYPE
1197 SYNTAX NonNegativeInteger
1198 UNITS "minutes"
1199 MAX-ACCESS read-write
1200 STATUS current
1201 DESCRIPTION
1202 "The value of upsEstimatedMinutesRemaining at which a
1203 lowBattery condition is declared. For agents which
1204 support only discrete (discontinuous) values, then the
1205 agent shall round up to the next supported value. If
1206 the requested value is larger than the largest
1207 supported value, then the largest supported value
1208 shall be selected."
1209 ::= { upsConfig 7 }
1211 upsConfigAudibleStatus OBJECT-TYPE
1212 SYNTAX INTEGER {
1213 disabled(1),
1214 enabled(2),
1215 muted(3)
1217 MAX-ACCESS read-write
1218 STATUS current
1219 DESCRIPTION
1220 "The requested state of the audible alarm. When in
1221 the disabled state, the audible alarm should never
1222 sound. The enabled state is self-describing. Setting
1223 this object to muted(3) when the audible alarm is
1224 sounding shall temporarily silence the alarm. It will
1225 remain muted until it would normally stop sounding and
1226 the value returned for read operations during this
1227 period shall equal muted(3). At the end of this
1228 period, the value shall revert to enabled(2). Writes
1229 of the value muted(3) when the audible alarm is not
1230 sounding shall be accepted but otherwise shall have no
1231 effect."
1232 ::= { upsConfig 8 }
1234 upsConfigLowVoltageTransferPoint OBJECT-TYPE
1235 SYNTAX NonNegativeInteger
1236 UNITS "RMS Volts"
1237 MAX-ACCESS read-write
1238 STATUS current
1239 DESCRIPTION
1240 "The minimum input line voltage allowed before the UPS
1241 system transfers to battery backup."
1242 ::= { upsConfig 9 }
1244 upsConfigHighVoltageTransferPoint OBJECT-TYPE
1245 SYNTAX NonNegativeInteger
1246 UNITS "RMS Volts"
1247 MAX-ACCESS read-write
1248 STATUS current
1249 DESCRIPTION
1250 "The maximum line voltage allowed before the UPS
1251 system transfers to battery backup."
1252 ::= { upsConfig 10 }
1256 -- notifications, i.e., traps
1258 upsTraps OBJECT IDENTIFIER ::= { upsMIB 2 }
1260 -- This section defines the well-known notifications sent by
1261 -- UPS agents.
1262 -- Care must be taken to insure that no particular notification
1263 -- is sent to a single receiving entity more often than once
1264 -- every five seconds.
1266 upsTrapOnBattery NOTIFICATION-TYPE
1267 OBJECTS { upsEstimatedMinutesRemaining, upsSecondsOnBattery,
1268 upsConfigLowBattTime }
1269 STATUS current
1270 DESCRIPTION
1271 "The UPS is operating on battery power. This trap is
1272 persistent and is resent at one minute intervals until
1273 the UPS either turns off or is no longer running on
1274 battery."
1275 ::= { upsTraps 1 }
1277 upsTrapTestCompleted NOTIFICATION-TYPE
1278 OBJECTS { upsTestId, upsTestSpinLock,
1279 upsTestResultsSummary, upsTestResultsDetail,
1280 upsTestStartTime, upsTestElapsedTime }
1281 STATUS current
1282 DESCRIPTION
1283 "This trap is sent upon completion of a UPS diagnostic
1284 test."
1285 ::= { upsTraps 2 }
1287 upsTrapAlarmEntryAdded NOTIFICATION-TYPE
1288 OBJECTS { upsAlarmId, upsAlarmDescr }
1289 STATUS current
1290 DESCRIPTION
1291 "This trap is sent each time an alarm is inserted into
1292 to the alarm table. It is sent on the insertion of
1293 all alarms except for upsAlarmOnBattery and
1294 upsAlarmTestInProgress."
1295 ::= { upsTraps 3 }
1297 upsTrapAlarmEntryRemoved NOTIFICATION-TYPE
1298 OBJECTS { upsAlarmId, upsAlarmDescr }
1299 STATUS current
1300 DESCRIPTION
1301 "This trap is sent each time an alarm is removed from
1302 the alarm table. It is sent on the removal of all
1303 alarms except for upsAlarmTestInProgress."
1304 ::= { upsTraps 4 }
1308 -- conformance information
1310 upsConformance OBJECT IDENTIFIER ::= { upsMIB 3 }
1312 upsCompliances OBJECT IDENTIFIER ::= { upsConformance 1 }
1316 -- compliance statements
1319 upsSubsetCompliance MODULE-COMPLIANCE
1320 STATUS current
1321 DESCRIPTION
1323 "The compliance statement for UPSs that only support
1324 the two-contact communication protocol."
1325 MODULE -- this module
1326 MANDATORY-GROUPS { upsSubsetIdentGroup,
1327 upsSubsetBatteryGroup, upsSubsetInputGroup,
1328 upsSubsetOutputGroup, upsSubsetAlarmGroup,
1329 upsSubsetControlGroup, upsSubsetConfigGroup }
1331 OBJECT upsBatteryStatus
1332 SYNTAX INTEGER {
1333 batteryNormal(2),
1334 batteryLow(3)
1336 DESCRIPTION
1337 "Support of the values unknown(1) and
1338 batteryDepleted(4) is not required."
1340 OBJECT upsAlarmDescr
1341 DESCRIPTION
1342 "Support of all `well known' alarm types is not
1343 required. The well known alarm types which must be
1344 supported are: upsAlarmOnBattery, upsAlarmLowBattery,
1345 upsAlarmInputBad, upsAlarmUpsOutputOff,
1346 upsAlarmUpsSystemOff, and upsAlarmTestInProgress."
1348 OBJECT upsOutputSource
1349 SYNTAX INTEGER {
1350 normal(2),
1351 battery(4)
1353 DESCRIPTION
1354 "Support of the values other(1), none(2), bypass(4),
1355 booster(6) and reducer(7) is not required."
1357 OBJECT upsShutdownType
1358 MIN-ACCESS read-only
1359 DESCRIPTION
1360 "Read-write access is not required, i.e., compliant
1361 systems need not support more than one shutdown type."
1363 OBJECT upsAutoRestart
1364 MIN-ACCESS read-only
1365 DESCRIPTION
1366 "Read-write access is not required, i.e., compliant
1367 systems need not support more than one restart type."
1369 OBJECT upsConfigInputVoltage
1370 MIN-ACCESS read-only
1371 DESCRIPTION
1372 "Read-write access is not required."
1374 OBJECT upsConfigInputFreq
1375 MIN-ACCESS read-only
1376 DESCRIPTION
1377 "Read-write access is not required."
1379 OBJECT upsConfigOutputVoltage
1380 MIN-ACCESS read-only
1381 DESCRIPTION
1382 "Read-write access is not required."
1384 OBJECT upsConfigOutputFreq
1385 MIN-ACCESS read-only
1386 DESCRIPTION
1387 "Read-write access is not required."
1388 ::= { upsCompliances 1 }
1390 upsBasicCompliance MODULE-COMPLIANCE
1391 STATUS current
1392 DESCRIPTION
1394 "The compliance statement for UPSs that support
1395 full-featured functions, such as control."
1396 MODULE -- this module
1397 MANDATORY-GROUPS { upsBasicIdentGroup,
1398 upsBasicBatteryGroup, upsBasicInputGroup,
1399 upsBasicOutputGroup, upsBasicAlarmGroup,
1400 upsBasicTestGroup, upsBasicControlGroup,
1401 upsBasicConfigGroup }
1404 OBJECT upsAlarmDescr
1405 DESCRIPTION
1406 "Support of all `well known' alarm types is not
1407 required. The well known alarm types which must be
1408 supported are: upsAlarmOnBattery, upsAlarmLowBattery,
1409 upsAlarmDepletedBattery, upsAlarmTempBad,
1410 upsAlarmInputBad, upsAlarmOutputOverload,
1411 upsAlarmOnBypass, upsAlarmBypassBad,
1412 upsAlarmOutputOffAsRequested,
1413 upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
1414 upsAlarmUpsSystemOff, upsAlarmGeneralFault,
1415 upsAlarmDiagnosticTestFailed,
1416 upsAlarmCommunicationsLost, upsAlarmShutdownPending,
1417 and upsAlarmTestInProgress."
1419 OBJECT upsTestId
1420 DESCRIPTION
1421 "Support of all `well known' test types is not
1422 required. If no tests are supported, then the only
1423 well known test type which must be supported is
1424 upsTestNoTestsInitiated."
1426 OBJECT upsOutputSource
1427 SYNTAX INTEGER {
1428 normal(2),
1429 battery(4)
1431 DESCRIPTION
1432 "Support of the values other(1), none(2), bypass(4),
1433 booster(6) and reducer(7) is not required."
1435 GROUP upsBasicBypassGroup
1436 DESCRIPTION
1437 "The upsBasicBypassGroup is only required for UPSs
1438 that have a Bypass present."
1439 OBJECT upsShutdownType
1440 MIN-ACCESS read-only
1441 DESCRIPTION
1442 "Read-write access is not required, i.e., compliant
1443 systems need not support more than one shutdown type."
1445 OBJECT upsAutoRestart
1446 MIN-ACCESS read-only
1447 DESCRIPTION
1448 "Read-write access is not required, i.e., compliant
1449 systems need not support more than one restart type."
1451 OBJECT upsConfigInputVoltage
1452 MIN-ACCESS read-only
1453 DESCRIPTION
1454 "Read-write access is not required."
1456 OBJECT upsConfigInputFreq
1457 MIN-ACCESS read-only
1458 DESCRIPTION
1459 "Read-write access is not required."
1461 OBJECT upsConfigOutputVoltage
1462 MIN-ACCESS read-only
1463 DESCRIPTION
1464 "Read-write access is not required."
1466 OBJECT upsConfigOutputFreq
1467 MIN-ACCESS read-only
1468 DESCRIPTION
1469 "Read-write access is not required."
1471 OBJECT upsConfigLowBattTime
1472 DESCRIPTION
1473 "Implementation of all possible values may be onerous
1474 for some systems. Consequently, not all possible
1475 values must be supported. However, at least two
1476 different manufacturer-selected values must be
1477 supported."
1479 ::= { upsCompliances 2 }
1481 upsFullCompliance MODULE-COMPLIANCE
1482 STATUS current
1483 DESCRIPTION
1484 "The compliance statement for UPSs that support
1485 advanced full-featured functions."
1486 MODULE -- this module
1487 MANDATORY-GROUPS { upsFullIdentGroup, upsFullBatteryGroup,
1488 upsFullInputGroup, upsFullOutputGroup,
1489 upsFullAlarmGroup, upsFullTestGroup,
1490 upsFullControlGroup, upsFullConfigGroup }
1492 OBJECT upsAlarmDescr
1493 DESCRIPTION
1494 "Support of all `well known' alarm types is not
1495 required. The well known alarm types which must be
1496 supported are: upsAlarmBatteryBad, upsAlarmOnBattery,
1497 upsAlarmLowBattery, upsAlarmDepletedBattery,
1498 upsAlarmTempBad, upsAlarmInputBad, upsAlarmOnBypass,
1499 upsAlarmBypassBad, upsAlarmOutputOffAsRequested,
1500 upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
1501 upsAlarmUpsSystemOff, upsAlarmGeneralFault,
1502 upsAlarmDiagnosticTestFailed,
1503 upsAlarmCommunicationsLost, upsAlarmShutdownPending,
1504 and upsAlarmTestInProgress."
1506 OBJECT upsTestId
1507 DESCRIPTION
1508 "Support of all `well known' test types is not
1509 required. The well known test types which must be
1510 supported are: upsTestNoTestsInitiated,
1511 upsTestGeneralSystemsTest, and
1512 upsTestQuickBatteryTest."
1514 OBJECT upsOutputSource
1515 SYNTAX INTEGER {
1516 normal(2),
1517 battery(4)
1519 DESCRIPTION
1520 "Support of the values other(1), none(2), bypass(4),
1521 booster(6) and reducer(7) is not required."
1523 GROUP upsFullBypassGroup
1524 DESCRIPTION
1525 "The upsFullBypassGroup is only required for UPSs that
1526 have a Bypass present."
1528 OBJECT upsShutdownType
1529 MIN-ACCESS read-only
1530 DESCRIPTION
1531 "Read-write access is not required, i.e., compliant
1532 systems need not support more than one shutdown type."
1534 OBJECT upsAutoRestart
1535 MIN-ACCESS read-only
1536 DESCRIPTION
1537 "Read-write access is not required, i.e., compliant
1538 systems need not support more than one restart type."
1540 OBJECT upsConfigInputVoltage
1541 MIN-ACCESS read-only
1542 DESCRIPTION
1543 "Read-write access is not required."
1545 OBJECT upsConfigInputFreq
1546 MIN-ACCESS read-only
1547 DESCRIPTION
1548 "Read-write access is not required."
1550 OBJECT upsConfigOutputVoltage
1551 MIN-ACCESS read-only
1552 DESCRIPTION
1553 "Read-write access is not required."
1555 OBJECT upsConfigOutputFreq
1556 MIN-ACCESS read-only
1557 DESCRIPTION
1558 "Read-write access is not required."
1560 OBJECT upsConfigLowBattTime
1561 DESCRIPTION
1562 "Implementation of all possible values may be onerous
1563 for some systems. Consequently, not all possible
1564 values must be supported. However, at least two
1565 different manufacturer-selected values must be
1566 supported."
1568 ::= { upsCompliances 3 }
1572 -- units of conformance
1575 -- summary at a glance:
1577 -- subset basic adv
1578 --upsIdentManufacturer x x x
1579 --upsIdentModel x x x
1581 --upsIdentUPSSoftwareVersion x x
1582 --upsIdentAgentSoftwareVersion x x x
1583 --upsIdentName x x x
1584 --upsIdentAttachedDevices x x
1586 --upsBatteryStatus x x x notes
1587 --upsSecondsOnBattery x x x
1588 --upsEstimatedMinutesRemaining x
1589 --upsEstimatedChargeRemaining x
1590 --upsBatteryVoltage
1591 --upsBatteryCurrent
1592 --upsBatteryTemperature
1594 --upsInputLineBads x x x
1595 --upsInputNumLines x x
1596 --upsInputFrequency x x
1597 --upsInputVoltage x x
1598 --upsInputCurrent
1599 --upsInputTruePower
1601 --upsOutputSource x x x notes
1602 --upsOutputFrequency x x
1603 --upsOutputNumLines x x
1604 --upsOutputVoltage x x
1605 --upsOutputCurrent x
1606 --upsOutputPower x
1607 --upsOutputPercentLoad x
1610 --upsBypassFrequency x x notes
1611 --upsBypassNumLines x x
1612 --upsBypassVoltage x x
1613 --upsBypassCurrent
1614 --upsBypassPower
1617 --upsAlarmsPresent x x x
1618 --upsAlarmDescr x x x notes
1619 --upsAlarmTime x x x
1621 --upsTestId x x notes
1622 --upsTestSpinLock x x
1623 --upsTestResultsSummary x x
1624 --upsTestResultsDetail x x
1625 --upsTestStartTime x x
1626 --upsTestElapsedTime x x
1628 --upsShutdownType x x x notes
1630 --upsShutdownAfterDelay x x x
1631 --upsStartupAfterDelay x x
1632 --upsRebootWithDuration x x
1633 --upsAutoRestart x x x notes
1635 --upsConfigInputVoltage x x x notes
1636 --upsConfigInputFreq x x x notes
1637 --upsConfigOutputVoltage x x x notes
1638 --upsConfigOutputFreq x x x notes
1639 --upsConfigOutputVA x x x
1640 --upsConfigOutputPower x x x
1641 --upsConfigLowBattTime x x notes
1642 --upsConfigAudibleStatus x x
1643 --upsConfigLowVoltageTransferPoint
1644 --upsConfigHighVoltageTransferPoint
1647 -- units of conformance
1648 upsGroups OBJECT IDENTIFIER ::= { upsConformance 2 }
1650 upsSubsetGroups OBJECT IDENTIFIER ::= { upsGroups 1 }
1652 upsSubsetIdentGroup OBJECT-GROUP
1653 OBJECTS { upsIdentManufacturer, upsIdentModel,
1654 upsIdentAgentSoftwareVersion, upsIdentName,
1655 upsIdentAttachedDevices }
1656 STATUS current
1657 DESCRIPTION
1658 "The upsSubsetIdentGroup defines objects which are
1659 common across all UPSs which meet subset compliance.
1660 Most devices which conform to the upsSubsetIdentGroup
1661 will provide access to these objects via a proxy
1662 agent. If the proxy agent is compatible with multiple
1663 UPS types, configuration of the proxy agent will
1664 require specifying some of these values, either
1665 individually, or as a group (perhaps through a table
1666 lookup mechanism based on the UPS model number)."
1667 ::= { upsSubsetGroups 1 }
1669 upsSubsetBatteryGroup OBJECT-GROUP
1670 OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
1671 STATUS current
1672 DESCRIPTION
1673 "The upsSubsetBatteryGroup defines the objects that
1674 are common to battery groups of two-contact UPSs."
1675 ::= { upsSubsetGroups 2 }
1677 upsSubsetInputGroup OBJECT-GROUP
1678 OBJECTS { upsInputLineBads }
1679 STATUS current
1680 DESCRIPTION
1681 "The upsSubsetInputGroup defines the objects that are
1682 common to the Input groups of two-contact UPSs."
1683 ::= { upsSubsetGroups 3 }
1685 upsSubsetOutputGroup OBJECT-GROUP
1686 OBJECTS { upsOutputSource }
1687 STATUS current
1688 DESCRIPTION
1689 "The upsSubsetOutputGroup defines the objects that are
1690 common to the Output groups of two-contact UPSs."
1691 ::= { upsSubsetGroups 4 }
1694 -- { upsSubsetGroups 5 } is reserved for
1695 -- future use (upsSubsetBypassGroup)
1697 upsSubsetAlarmGroup OBJECT-GROUP
1698 OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
1699 STATUS current
1700 DESCRIPTION
1701 "The upsSubsetAlarmGroup defines the objects that are
1702 common to the Alarm groups of two-contact UPSs."
1703 ::= { upsSubsetGroups 6 }
1705 -- { upsSubsetGroups 7 } is reserved for
1706 -- future use (upsSubsetTestGroup)
1708 upsSubsetControlGroup OBJECT-GROUP
1709 OBJECTS { upsShutdownType, upsShutdownAfterDelay,
1710 upsAutoRestart }
1711 STATUS current
1712 DESCRIPTION
1713 "The upsSubsetControlGroup defines the objects that
1714 are common to the Control groups of two-contact UPSs."
1715 ::= { upsSubsetGroups 8 }
1717 upsSubsetConfigGroup OBJECT-GROUP
1718 OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
1719 upsConfigOutputVoltage, upsConfigOutputFreq,
1720 upsConfigOutputVA, upsConfigOutputPower }
1721 STATUS current
1722 DESCRIPTION
1723 "The upsSubsetConfigGroup defines the objects that are
1724 common to the Config groups of two-contact UPSs."
1725 ::= { upsSubsetGroups 9 }
1726 upsBasicGroups OBJECT IDENTIFIER ::= { upsGroups 2 }
1728 upsBasicIdentGroup OBJECT-GROUP
1729 OBJECTS { upsIdentManufacturer, upsIdentModel,
1730 upsIdentUPSSoftwareVersion,
1731 upsIdentAgentSoftwareVersion, upsIdentName }
1732 STATUS current
1733 DESCRIPTION
1734 "The upsBasicIdentGroup defines objects which are
1735 common to the Ident group of compliant UPSs which
1736 support basic functions."
1737 ::= { upsBasicGroups 1 }
1739 upsBasicBatteryGroup OBJECT-GROUP
1740 OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
1741 STATUS current
1742 DESCRIPTION
1743 "The upsBasicBatteryGroup defines the objects that are
1744 common to the battery groups of compliant UPSs which
1745 support basic functions."
1746 ::= { upsBasicGroups 2 }
1748 upsBasicInputGroup OBJECT-GROUP
1749 OBJECTS { upsInputLineBads, upsInputNumLines,
1750 upsInputFrequency, upsInputVoltage }
1751 STATUS current
1752 DESCRIPTION
1753 "The upsBasicInputGroup defines the objects that are
1754 common to the Input groups of compliant UPSs which
1755 support basic functions."
1756 ::= { upsBasicGroups 3 }
1758 upsBasicOutputGroup OBJECT-GROUP
1759 OBJECTS { upsOutputSource, upsOutputFrequency,
1760 upsOutputNumLines, upsOutputVoltage }
1761 STATUS current
1762 DESCRIPTION
1763 "The upsBasicOutputGroup defines the objects that are
1764 common to the Output groups of compliant UPSs which
1765 support basic functions."
1766 ::= { upsBasicGroups 4 }
1768 upsBasicBypassGroup OBJECT-GROUP
1769 OBJECTS { upsBypassFrequency, upsBypassNumLines,
1770 upsBypassVoltage }
1771 STATUS current
1772 DESCRIPTION
1773 "The upsBasicBypassGroup defines the objects that are
1774 common to the Bypass groups of compliant UPSs which
1775 support basic functions."
1776 ::= { upsBasicGroups 5 }
1778 upsBasicAlarmGroup OBJECT-GROUP
1779 OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
1780 STATUS current
1781 DESCRIPTION
1783 "The upsBasicAlarmGroup defines the objects that are
1784 common to the Alarm groups of compliant UPSs which
1785 support basic functions."
1786 ::= { upsBasicGroups 6 }
1788 upsBasicTestGroup OBJECT-GROUP
1789 OBJECTS { upsTestId, upsTestSpinLock,
1790 upsTestResultsSummary, upsTestResultsDetail,
1791 upsTestStartTime, upsTestElapsedTime }
1792 STATUS current
1793 DESCRIPTION
1794 "The upsBasicTestGroup defines the objects that are
1795 common to the Test groups of compliant UPSs which
1796 support basic functions."
1797 ::= { upsBasicGroups 7 }
1799 upsBasicControlGroup OBJECT-GROUP
1800 OBJECTS { upsShutdownType, upsShutdownAfterDelay,
1801 upsStartupAfterDelay, upsRebootWithDuration,
1802 upsAutoRestart }
1803 STATUS current
1804 DESCRIPTION
1805 "The upsBasicControlGroup defines the objects that are
1806 common to the Control groups of compliant UPSs which
1807 support basic functions."
1808 ::= { upsBasicGroups 8 }
1810 upsBasicConfigGroup OBJECT-GROUP
1811 OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
1812 upsConfigOutputVoltage, upsConfigOutputFreq,
1813 upsConfigOutputVA, upsConfigOutputPower,
1814 upsConfigLowBattTime, upsConfigAudibleStatus }
1815 STATUS current
1816 DESCRIPTION
1817 "The upsBasicConfigGroup defines the objects that are
1818 common to the Config groups of UPSs which support
1819 basic functions."
1820 ::= { upsBasicGroups 9 }
1821 upsFullGroups OBJECT IDENTIFIER ::= { upsGroups 3 }
1823 upsFullIdentGroup OBJECT-GROUP
1824 OBJECTS { upsIdentManufacturer, upsIdentModel,
1825 upsIdentUPSSoftwareVersion,
1826 upsIdentAgentSoftwareVersion, upsIdentName,
1827 upsIdentAttachedDevices }
1828 STATUS current
1829 DESCRIPTION
1830 "The upsFullIdentGroup defines objects which are
1831 common to the Ident group of fully compliant UPSs."
1832 ::= { upsFullGroups 1 }
1834 upsFullBatteryGroup OBJECT-GROUP
1835 OBJECTS { upsBatteryStatus, upsSecondsOnBattery,
1836 upsEstimatedMinutesRemaining,
1837 upsEstimatedChargeRemaining }
1838 STATUS current
1839 DESCRIPTION
1840 "The upsFullBatteryGroup defines the objects that are
1841 common to the battery groups of fully compliant UPSs."
1842 ::= { upsFullGroups 2 }
1844 upsFullInputGroup OBJECT-GROUP
1845 OBJECTS { upsInputLineBads, upsInputNumLines,
1846 upsInputFrequency, upsInputVoltage }
1847 STATUS current
1848 DESCRIPTION
1849 "The upsFullInputGroup defines the objects that are
1850 common to the Input groups of fully compliant UPSs."
1851 ::= { upsFullGroups 3 }
1853 upsFullOutputGroup OBJECT-GROUP
1854 OBJECTS { upsOutputSource, upsOutputFrequency,
1855 upsOutputNumLines, upsOutputVoltage,
1856 upsOutputCurrent, upsOutputPower,
1857 upsOutputPercentLoad }
1858 STATUS current
1859 DESCRIPTION
1860 "The upsFullOutputGroup defines the objects that are
1861 common to the Output groups of fully compliant UPSs."
1862 ::= { upsFullGroups 4 }
1864 upsFullBypassGroup OBJECT-GROUP
1865 OBJECTS { upsBypassFrequency, upsBypassNumLines,
1866 upsBypassVoltage }
1867 STATUS current
1868 DESCRIPTION
1869 "The upsFullBypassGroup defines the objects that are
1870 common to the Bypass groups of fully compliant UPSs."
1871 ::= { upsFullGroups 5 }
1873 upsFullAlarmGroup OBJECT-GROUP
1874 OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
1875 STATUS current
1876 DESCRIPTION
1878 "The upsFullAlarmGroup defines the objects that are
1879 common to the Alarm groups of fully compliant UPSs."
1880 ::= { upsFullGroups 6 }
1882 upsFullTestGroup OBJECT-GROUP
1883 OBJECTS { upsTestId, upsTestSpinLock,
1884 upsTestResultsSummary, upsTestResultsDetail,
1885 upsTestStartTime, upsTestElapsedTime }
1886 STATUS current
1887 DESCRIPTION
1888 "The upsFullTestGroup defines the objects that are
1889 common to the Test groups of fully compliant UPSs."
1890 ::= { upsFullGroups 7 }
1892 upsFullControlGroup OBJECT-GROUP
1893 OBJECTS { upsShutdownType, upsShutdownAfterDelay,
1894 upsStartupAfterDelay, upsRebootWithDuration,
1895 upsAutoRestart }
1896 STATUS current
1897 DESCRIPTION
1898 "The upsFullControlGroup defines the objects that are
1899 common to the Control groups of fully compliant UPSs."
1900 ::= { upsFullGroups 8 }
1902 upsFullConfigGroup OBJECT-GROUP
1903 OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
1904 upsConfigOutputVoltage, upsConfigOutputFreq,
1905 upsConfigOutputVA, upsConfigOutputPower,
1906 upsConfigLowBattTime, upsConfigAudibleStatus }
1907 STATUS current
1908 DESCRIPTION
1909 "The upsFullConfigGroup defines the objects that are
1910 common to the Config groups of fully compliant UPSs."
1911 ::= { upsFullGroups 9 }