smilint output for ./UPS-MIB


Message Severities
SeverityCount
severe1
error12
minor error3
change recommended13
warning11
Message Types
TypeCount
group-membership (change recommended)13
integer-misuse (warning)7
macro-not-imported (error)2
notification-not-reversible (warning)4
notification-object-access (minor error)2
object-identifier-unknown (severe)1
range-bounds (error)2
range-exchanged (error)2
revision-missing (minor error)1
subtype-enumeration-illegal (error)6

Messages:

UPS-MIB

   1: -- extracted from rfc1628.txt
   2: -- at Mon Nov 15 17:11:52 1999
   3: 
   4:    UPS-MIB DEFINITIONS ::= BEGIN
   5: 
   6:    IMPORTS
   7:        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   8:        OBJECT-IDENTITY, Counter32, Gauge32, Integer32
   9:            FROM SNMPv2-SMI
  10:        DisplayString, TimeStamp, TimeInterval, TestAndIncr,
  11:          AutonomousType
  12:            FROM SNMPv2-TC
  13:        MODULE-COMPLIANCE, OBJECT-GROUP
  14:            FROM SNMPv2-CONF;
  15: 
  16: 
  17:    upsMIB MODULE-IDENTITY
  18:        LAST-UPDATED "9402230000Z"
  19:        ORGANIZATION "IETF UPS MIB Working Group"
  20:        CONTACT-INFO
  21:               "        Jeffrey D. Case
  22: 
  23:                 Postal: SNMP Research, Incorporated
  24:                         3001 Kimberlin Heights Road
  25:                         Knoxville, TN  37920
  26:                         US
  27: 
  28:                    Tel: +1 615 573 1434
  29:                    Fax: +1 615 573 9197
  30: 
  31:                 E-mail: case@snmp.com"
  32:        DESCRIPTION
  33:                "The MIB module to describe Uninterruptible Power
  34:                Supplies."
  35:        ::= { mib-2 33 }
  35: minor error - revision for last update is missing
  35: severe - unknown object identifier label `mib-2'
  36: 
  37:    PositiveInteger ::= TEXTUAL-CONVENTION
  37: error - macro `TEXTUAL-CONVENTION' has not been imported from module `SNMPv2-TC'
  38:        DISPLAY-HINT "d"
  39:        STATUS       current
  40:        DESCRIPTION
  41:                "This data type is a non-zero and non-negative value."
  42:        SYNTAX       INTEGER (1..2147483647)
  42: warning - warning: use Integer32 instead of INTEGER in SMIv2
  43: 
  44:    NonNegativeInteger ::= TEXTUAL-CONVENTION
  44: error - macro `TEXTUAL-CONVENTION' has not been imported from module `SNMPv2-TC'
  45:        DISPLAY-HINT "d"
  46:        STATUS       current
  47:        DESCRIPTION
  48:                "This data type is a non-negative value."
  49:        SYNTAX       INTEGER (0..2147483647)
  49: warning - warning: use Integer32 instead of INTEGER in SMIv2
  50: 
  51:    upsObjects            OBJECT IDENTIFIER ::= { upsMIB 1 }
  52: 
  53: 
  54:    --
  55:    -- The Device Identification group.
  56:    --      All objects in this group except for upsIdentName and
  57:    --      upsIdentAttachedDevices are set at device initialization
  58:    --      and remain static.
  59:    --
  60: 
  61:    upsIdent              OBJECT IDENTIFIER ::= { upsObjects 1 }
  62: 
  63:    upsIdentManufacturer OBJECT-TYPE
  64:        SYNTAX     DisplayString (SIZE (0..31))
  65:        MAX-ACCESS read-only
  66:        STATUS     current
  67:        DESCRIPTION
  68:                "The name of the UPS manufacturer."
  69:        ::= { upsIdent 1 }
  70: 
  71:    upsIdentModel OBJECT-TYPE
  72:        SYNTAX     DisplayString (SIZE (0..63))
  73:        MAX-ACCESS read-only
  74:        STATUS     current
  75:        DESCRIPTION
  76:                "The UPS Model designation."
  77:        ::= { upsIdent 2 }
  78: 
  79:    upsIdentUPSSoftwareVersion OBJECT-TYPE
  80:        SYNTAX     DisplayString (SIZE (0..63))
  81:        MAX-ACCESS read-only
  82:        STATUS     current
  83:        DESCRIPTION
  84:                "The UPS firmware/software version(s).  This variable
  85:                may or may not have the same value as
  86:                upsIdentAgentSoftwareVersion in some implementations."
  87:        ::= { upsIdent 3 }
  88: 
  89:    upsIdentAgentSoftwareVersion OBJECT-TYPE
  90:        SYNTAX     DisplayString (SIZE (0..63))
  91:        MAX-ACCESS read-only
  92:        STATUS     current
  93:        DESCRIPTION
  94:                "The UPS agent software version.  This variable may or
  95:                may not have the same value as
  96:                upsIdentUPSSoftwareVersion in some implementations."
  97:        ::= { upsIdent 4 }
  98: 
  99:    upsIdentName OBJECT-TYPE
 100:        SYNTAX     DisplayString (SIZE(0..63))
 101:        MAX-ACCESS read-write
 102:        STATUS     current
 103:        DESCRIPTION
 104:                "A string identifying the UPS.  This object should be
 105:                set by the administrator."
 106:        ::= { upsIdent 5 }
 107: 
 108:    upsIdentAttachedDevices OBJECT-TYPE
 109:        SYNTAX     DisplayString (SIZE(0..63))
 110:        MAX-ACCESS read-write
 111:        STATUS     current
 112:        DESCRIPTION
 113:                "A string identifying the devices attached to the
 114:                output(s) of the UPS.  This object should be set by
 115:                the administrator."
 116:        ::= { upsIdent 6 }
 117: 
 118: 
 119:    --
 120:    -- Battery Group
 121:    --
 122: 
 123:    upsBattery            OBJECT IDENTIFIER ::= { upsObjects 2 }
 124: 
 125:    upsBatteryStatus OBJECT-TYPE
 126:        SYNTAX     INTEGER {
 127:            unknown(1),
 128:            batteryNormal(2),
 129:            batteryLow(3),
 130:            batteryDepleted(4)
 131:        }
 132:        MAX-ACCESS read-only
 133:        STATUS     current
 134:        DESCRIPTION
 135:                "The indication of the capacity remaining in the UPS
 136:                system's batteries.   A value of batteryNormal
 137:                indicates that the remaining run-time is greater than
 138:                upsConfigLowBattTime.  A value of batteryLow indicates
 139:                that the remaining battery run-time is less than or
 140:                equal to upsConfigLowBattTime.  A value of
 141:                batteryDepleted indicates that the UPS will be unable
 142:                to sustain the present load when and if the utility
 143:                power is lost (including the possibility that the
 144:                utility power is currently absent and the UPS is
 145:                unable to sustain the output)."
 146:        ::= { upsBattery 1 }
 147: 
 148:    upsSecondsOnBattery OBJECT-TYPE
 149:        SYNTAX     NonNegativeInteger
 150:        UNITS      "seconds"
 151:        MAX-ACCESS read-only
 152:        STATUS     current
 153:        DESCRIPTION
 154:                "If the unit is on battery power, the elapsed time
 155:                since the UPS last switched to battery power, or the
 156:                time since the network management subsystem was last
 157:                restarted, whichever is less.  Zero shall be returned
 158:                if the unit is not on battery power."
 159:        ::= { upsBattery 2 }
 160: 
 161:    upsEstimatedMinutesRemaining OBJECT-TYPE
 162:        SYNTAX     PositiveInteger
 163:        UNITS      "minutes"
 164:        MAX-ACCESS read-only
 165:        STATUS     current
 166:        DESCRIPTION
 167:                "An estimate of the time to battery charge depletion
 168:                under the present load conditions if the utility power
 169:                is off and remains off, or if it were to be lost and
 170:                remain off."
 171:        ::= { upsBattery 3 }
 172: 
 173:    upsEstimatedChargeRemaining OBJECT-TYPE
 174:        SYNTAX     INTEGER (0..100)
 174: warning - warning: use Integer32 instead of INTEGER in SMIv2
 175:        UNITS      "percent"
 176:        MAX-ACCESS read-only
 177:        STATUS     current
 178:        DESCRIPTION
 179:                "An estimate of the battery charge remaining expressed
 180:                as a percent of full charge."
 181:        ::= { upsBattery 4 }
 182: 
 183:    upsBatteryVoltage OBJECT-TYPE
 183: change recommended - warning: node `upsBatteryVoltage' must be contained in at least one conformance group
 184:        SYNTAX     NonNegativeInteger
 185:        UNITS      "0.1 Volt DC"
 186:        MAX-ACCESS read-only
 187:        STATUS     current
 188:        DESCRIPTION
 189:                "The magnitude of the present battery voltage."
 190:        ::= { upsBattery 5 }
 191: 
 192:    upsBatteryCurrent OBJECT-TYPE
 192: change recommended - warning: node `upsBatteryCurrent' must be contained in at least one conformance group
 193:        SYNTAX     Integer32
 194:        UNITS      "0.1 Amp DC"
 195:        MAX-ACCESS read-only
 196:        STATUS     current
 197:        DESCRIPTION
 198:                "The present battery current."
 199:        ::= { upsBattery 6 }
 200: 
 201:    upsBatteryTemperature OBJECT-TYPE
 201: change recommended - warning: node `upsBatteryTemperature' must be contained in at least one conformance group
 202:        SYNTAX     Integer32
 203:        UNITS      "degrees Centigrade"
 204:        MAX-ACCESS read-only
 205:        STATUS     current
 206:        DESCRIPTION
 207:                "The ambient temperature at or near the UPS Battery
 208:                casing."
 209:        ::= { upsBattery 7 }
 210: 
 211: 
 212:    --
 213:    -- Input Group
 214:    --
 215: 
 216:    upsInput              OBJECT IDENTIFIER ::= { upsObjects 3 }
 217: 
 218:    upsInputLineBads OBJECT-TYPE
 219:        SYNTAX     Counter32
 220:        MAX-ACCESS read-only
 221:        STATUS     current
 222:        DESCRIPTION
 223:                "A count of the number of times the input entered an
 224:                out-of-tolerance condition as defined by the
 225:                manufacturer.  This count is incremented by one each
 226:                time the input transitions from zero out-of-tolerance
 227:                lines to one or more input lines out-of-tolerance."
 228:        ::= { upsInput 1 }
 229: 
 230: 
 231:    upsInputNumLines OBJECT-TYPE
 232:        SYNTAX     NonNegativeInteger
 233:        MAX-ACCESS read-only
 234:        STATUS     current
 235:        DESCRIPTION
 236:                "The number of input lines utilized in this device.
 237:                This variable indicates the number of rows in the
 238:                input table."
 239:        ::= { upsInput 2 }
 240: 
 241:    upsInputTable OBJECT-TYPE
 242:        SYNTAX     SEQUENCE OF UpsInputEntry
 243:        MAX-ACCESS not-accessible
 244:        STATUS     current
 245:        DESCRIPTION
 246:                "A list of input table entries.  The number of entries
 247:                is given by the value of upsInputNumLines."
 248:        ::= { upsInput 3 }
 249: 
 250:    upsInputEntry OBJECT-TYPE
 251:        SYNTAX     UpsInputEntry
 252:        MAX-ACCESS not-accessible
 253:        STATUS     current
 254:        DESCRIPTION
 255:                "An entry containing information applicable to a
 256:                particular input line."
 257:        INDEX { upsInputLineIndex }
 258:        ::= { upsInputTable 1 }
 259: 
 260:    UpsInputEntry ::= SEQUENCE {
 261:        upsInputLineIndex   PositiveInteger,
 262:        upsInputFrequency   NonNegativeInteger,
 263:        upsInputVoltage     NonNegativeInteger,
 264:        upsInputCurrent     NonNegativeInteger,
 265:        upsInputTruePower   NonNegativeInteger
 266:    }
 267: 
 268:    upsInputLineIndex OBJECT-TYPE
 269:        SYNTAX     PositiveInteger
 270:        MAX-ACCESS not-accessible
 271:        STATUS     current
 272:        DESCRIPTION
 273:                "The input line identifier."
 274:        ::= { upsInputEntry 1 }
 275: 
 276:    upsInputFrequency OBJECT-TYPE
 277:        SYNTAX     NonNegativeInteger
 278:        UNITS      "0.1 Hertz"
 279:        MAX-ACCESS read-only
 280:        STATUS     current
 281:        DESCRIPTION
 282:                "The present input frequency."
 283:        ::= { upsInputEntry 2 }
 284: 
 285:    upsInputVoltage OBJECT-TYPE
 286:        SYNTAX     NonNegativeInteger
 287:        UNITS      "RMS Volts"
 288:        MAX-ACCESS read-only
 289:        STATUS     current
 290:        DESCRIPTION
 291:                "The magnitude of the present input voltage."
 292:        ::= { upsInputEntry 3 }
 293: 
 294:    upsInputCurrent OBJECT-TYPE
 294: change recommended - warning: node `upsInputCurrent' must be contained in at least one conformance group
 295:        SYNTAX     NonNegativeInteger
 296:        UNITS      "0.1 RMS Amp"
 297:        MAX-ACCESS read-only
 298:        STATUS     current
 299:        DESCRIPTION
 300:                "The magnitude of the present input current."
 301:        ::= { upsInputEntry 4 }
 302: 
 303:    upsInputTruePower OBJECT-TYPE
 303: change recommended - warning: node `upsInputTruePower' must be contained in at least one conformance group
 304:        SYNTAX     NonNegativeInteger
 305:        UNITS      "Watts"
 306:        MAX-ACCESS read-only
 307:        STATUS     current
 308:        DESCRIPTION
 309:                "The magnitude of the present input true power."
 310:        ::= { upsInputEntry 5 }
 311: 
 312: 
 313:    --
 314:    -- The Output group.
 315:    --
 316: 
 317:    upsOutput             OBJECT IDENTIFIER ::= { upsObjects 4 }
 318: 
 319:    upsOutputSource OBJECT-TYPE
 320:        SYNTAX     INTEGER {
 321:            other(1),
 322:            none(2),
 323:            normal(3),
 324:            bypass(4),
 325:            battery(5),
 326:            booster(6),
 327:            reducer(7)
 328:        }
 329:        MAX-ACCESS read-only
 330:        STATUS     current
 331:        DESCRIPTION
 332:                "The present source of output power.  The enumeration
 333:                none(2) indicates that there is no source of output
 334:                power (and therefore no output power), for example,
 335:                the system has opened the output breaker."
 336:        ::= { upsOutput 1 }
 337: 
 338:    upsOutputFrequency OBJECT-TYPE
 339:        SYNTAX     NonNegativeInteger
 340:        UNITS      "0.1 Hertz"
 341:        MAX-ACCESS read-only
 342:        STATUS     current
 343:        DESCRIPTION
 344:                "The present output frequency."
 345:        ::= { upsOutput 2 }
 346: 
 347:    upsOutputNumLines OBJECT-TYPE
 348:        SYNTAX     NonNegativeInteger
 349:        MAX-ACCESS read-only
 350:        STATUS     current
 351:        DESCRIPTION
 352:                "The number of output lines utilized in this device.
 353:                This variable indicates the number of rows in the
 354:                output table."
 355:        ::= { upsOutput 3 }
 356: 
 357:    upsOutputTable OBJECT-TYPE
 358:        SYNTAX     SEQUENCE OF UpsOutputEntry
 359:        MAX-ACCESS not-accessible
 360:        STATUS     current
 361:        DESCRIPTION
 362:                "A list of output table entries.  The number of
 363:                entries is given by the value of upsOutputNumLines."
 364:        ::= { upsOutput 4 }
 365: 
 366:    upsOutputEntry OBJECT-TYPE
 367:        SYNTAX     UpsOutputEntry
 368:        MAX-ACCESS not-accessible
 369:        STATUS     current
 370:        DESCRIPTION
 371:                "An entry containing information applicable to a
 372:                particular output line."
 373:        INDEX { upsOutputLineIndex }
 374:        ::= { upsOutputTable 1 }
 375: 
 376:    UpsOutputEntry ::= SEQUENCE {
 377:        upsOutputLineIndex   PositiveInteger,
 378:        upsOutputVoltage     NonNegativeInteger,
 379:        upsOutputCurrent     NonNegativeInteger,
 380:        upsOutputPower       NonNegativeInteger,
 381:        upsOutputPercentLoad INTEGER
 382:    }
 383: 
 384:    upsOutputLineIndex OBJECT-TYPE
 385:        SYNTAX     PositiveInteger
 386:        MAX-ACCESS not-accessible
 387:        STATUS     current
 388:        DESCRIPTION
 389:                "The output line identifier."
 390:        ::= { upsOutputEntry 1 }
 391: 
 392:    upsOutputVoltage OBJECT-TYPE
 393:        SYNTAX     NonNegativeInteger
 394:        UNITS      "RMS Volts"
 395:        MAX-ACCESS read-only
 396:        STATUS     current
 397:        DESCRIPTION
 398:                "The present output voltage."
 399:        ::= { upsOutputEntry 2 }
 400: 
 401:    upsOutputCurrent OBJECT-TYPE
 402:        SYNTAX     NonNegativeInteger
 403:        UNITS      "0.1 RMS Amp"
 404:        MAX-ACCESS read-only
 405:        STATUS     current
 406:        DESCRIPTION
 407:                "The present output current."
 408:        ::= { upsOutputEntry 3 }
 409: 
 410:    upsOutputPower OBJECT-TYPE
 411:        SYNTAX     NonNegativeInteger
 412:        UNITS      "Watts"
 413:        MAX-ACCESS read-only
 414:        STATUS     current
 415:        DESCRIPTION
 416:                "The present output true power."
 417:        ::= { upsOutputEntry 4 }
 418: 
 419:    upsOutputPercentLoad OBJECT-TYPE
 420:        SYNTAX     INTEGER (0..200)
 420: warning - warning: use Integer32 instead of INTEGER in SMIv2
 421:        UNITS      "percent"
 422:        MAX-ACCESS read-only
 423:        STATUS     current
 424:        DESCRIPTION
 425:                "The percentage of the UPS power capacity presently
 426:                being used on this output line, i.e., the greater of
 427:                the percent load of true power capacity and the
 428:                percent load of VA."
 429:        ::= { upsOutputEntry 5 }
 430: 
 431:    --
 432:    -- The Bypass group.
 433:    --
 434: 
 435:    upsBypass             OBJECT IDENTIFIER ::= { upsObjects 5 }
 436: 
 437:    upsBypassFrequency OBJECT-TYPE
 438:        SYNTAX     NonNegativeInteger
 439:        UNITS      "0.1 Hertz"
 440:        MAX-ACCESS read-only
 441:        STATUS     current
 442:        DESCRIPTION
 443:                "The present bypass frequency."
 444:        ::= { upsBypass 1 }
 445: 
 446:    upsBypassNumLines OBJECT-TYPE
 447:        SYNTAX     NonNegativeInteger
 448:        MAX-ACCESS read-only
 449:        STATUS     current
 450:        DESCRIPTION
 451:                "The number of bypass lines utilized in this device.
 452:                This entry indicates the number of rows in the bypass
 453:                table."
 454:        ::= { upsBypass 2 }
 455: 
 456:    upsBypassTable OBJECT-TYPE
 457:        SYNTAX     SEQUENCE OF UpsBypassEntry
 458:        MAX-ACCESS not-accessible
 459:        STATUS     current
 460:        DESCRIPTION
 461:                "A list of bypass table entries.  The number of
 462:                entries is given by the value of upsBypassNumLines."
 463:        ::= { upsBypass 3 }
 464: 
 465:    upsBypassEntry OBJECT-TYPE
 466:        SYNTAX     UpsBypassEntry
 467:        MAX-ACCESS not-accessible
 468:        STATUS     current
 469:        DESCRIPTION
 470:                "An entry containing information applicable to a
 471:                particular bypass input."
 472:        INDEX { upsBypassLineIndex }
 473:        ::= { upsBypassTable 1 }
 474: 
 475:    UpsBypassEntry ::= SEQUENCE {
 476:        upsBypassLineIndex  PositiveInteger,
 477:        upsBypassVoltage    NonNegativeInteger,
 478:        upsBypassCurrent    NonNegativeInteger,
 479:        upsBypassPower      NonNegativeInteger
 480:    }
 481: 
 482:    upsBypassLineIndex OBJECT-TYPE
 483:        SYNTAX     PositiveInteger
 484:        MAX-ACCESS not-accessible
 485:        STATUS     current
 486:        DESCRIPTION
 487:                "The bypass line identifier."
 488:        ::= { upsBypassEntry 1 }
 489: 
 490:    upsBypassVoltage OBJECT-TYPE
 491:        SYNTAX     NonNegativeInteger
 492:        UNITS      "RMS Volts"
 493:        MAX-ACCESS read-only
 494:        STATUS     current
 495:        DESCRIPTION
 496:                "The present bypass voltage."
 497:        ::= { upsBypassEntry 2 }
 498: 
 499:    upsBypassCurrent OBJECT-TYPE
 499: change recommended - warning: node `upsBypassCurrent' must be contained in at least one conformance group
 500:        SYNTAX     NonNegativeInteger
 501:        UNITS      "0.1 RMS Amp"
 502:        MAX-ACCESS read-only
 503:        STATUS     current
 504:        DESCRIPTION
 505:                "The present bypass current."
 506:        ::= { upsBypassEntry 3 }
 507: 
 508:    upsBypassPower OBJECT-TYPE
 508: change recommended - warning: node `upsBypassPower' must be contained in at least one conformance group
 509:        SYNTAX     NonNegativeInteger
 510:        UNITS      "Watts"
 511:        MAX-ACCESS read-only
 512:        STATUS     current
 513:        DESCRIPTION
 514:                "The present true power conveyed by the bypass."
 515:        ::= { upsBypassEntry 4 }
 516: 
 517: 
 518:    --
 519:    -- The Alarm group.
 520:    --
 521: 
 522:    upsAlarm              OBJECT IDENTIFIER ::= { upsObjects 6 }
 523: 
 524:    upsAlarmsPresent OBJECT-TYPE
 525:        SYNTAX     Gauge32
 526:        MAX-ACCESS read-only
 527:        STATUS     current
 528:        DESCRIPTION
 529:                "The present number of active alarm conditions."
 530:        ::= { upsAlarm 1 }
 531: 
 532:    upsAlarmTable OBJECT-TYPE
 533:        SYNTAX     SEQUENCE OF UpsAlarmEntry
 534:        MAX-ACCESS not-accessible
 535:        STATUS     current
 536:        DESCRIPTION
 537:                "A list of alarm table entries.  The table contains
 538:                zero, one, or many rows at any moment, depending upon
 539:                the number of alarm conditions in effect.  The table
 540:                is initially empty at agent startup.  The agent
 541:                creates a row in the table each time a condition is
 542:                detected and deletes that row when that condition no
 543:                longer pertains.  The agent creates the first row with
 544:                upsAlarmId equal to 1, and increments the value of
 545:                upsAlarmId each time a new row is created, wrapping to
 546:                the first free value greater than or equal to 1 when
 547:                the maximum value of upsAlarmId would otherwise be
 548:                exceeded.  Consequently, after multiple operations,
 549:                the table may become sparse, e.g., containing entries
 550:                for rows 95, 100, 101, and 203 and the entries should
 551:                not be assumed to be in chronological order because
 552:                upsAlarmId might have wrapped.
 553: 
 554:                Alarms are named by an AutonomousType (OBJECT
 555:                IDENTIFIER), upsAlarmDescr, to allow a single table to
 556:                reflect well known alarms plus alarms defined by a
 557:                particular implementation, i.e., as documented in the
 558:                private enterprise MIB definition for the device.  No
 559:                two rows will have the same value of upsAlarmDescr,
 560:                since alarms define conditions.  In order to meet this
 561:                requirement, care should be taken in the definition of
 562:                alarm conditions to insure that a system cannot enter
 563:                the same condition multiple times simultaneously.
 564: 
 565:                The number of rows in the table at any given time is
 566:                reflected by the value of upsAlarmsPresent."
 567:        ::= { upsAlarm 2 }
 568: 
 569:    upsAlarmEntry OBJECT-TYPE
 570:        SYNTAX     UpsAlarmEntry
 571:        MAX-ACCESS not-accessible
 572:        STATUS     current
 573:        DESCRIPTION
 574:                "An entry containing information applicable to a
 575:                particular alarm."
 576:        INDEX { upsAlarmId }
 577:        ::= { upsAlarmTable 1 }
 578: 
 579:    UpsAlarmEntry ::= SEQUENCE {
 580:        upsAlarmId          PositiveInteger,
 581:        upsAlarmDescr       AutonomousType,
 582:        upsAlarmTime        TimeStamp
 583:    }
 584: 
 585:    upsAlarmId OBJECT-TYPE
 586:        SYNTAX     PositiveInteger
 587:        MAX-ACCESS not-accessible
 588:        STATUS     current
 589:        DESCRIPTION
 590:                "A unique identifier for an alarm condition.  This
 591:                value must remain constant."
 592:        ::= { upsAlarmEntry 1 }
 593: 
 594:    upsAlarmDescr OBJECT-TYPE
 595:        SYNTAX     AutonomousType
 596:        MAX-ACCESS read-only
 597:        STATUS     current
 598:        DESCRIPTION
 599:                "A reference to an alarm description object.  The
 600:                object referenced should not be accessible, but rather
 601:                be used to provide a unique description of the alarm
 602:                condition."
 603:        ::= { upsAlarmEntry 2 }
 604: 
 605:    upsAlarmTime OBJECT-TYPE
 606:        SYNTAX     TimeStamp
 607:        MAX-ACCESS read-only
 608:        STATUS     current
 609:        DESCRIPTION
 610:                "The value of sysUpTime when the alarm condition was
 611:                detected.  If the alarm condition was detected at the
 612:                time of agent startup and presumably existed before
 613:                agent startup, the value of upsAlarmTime shall equal
 614:                0."
 615:        ::= { upsAlarmEntry 3 }
 616: 
 617: 
 618:    --
 619:    -- Well known alarm conditions.
 620:    --
 621: 
 622:    upsWellKnownAlarms    OBJECT IDENTIFIER ::= { upsAlarm 3 }
 623:    upsAlarmBatteryBad OBJECT-IDENTITY
 624:        STATUS     current
 625:        DESCRIPTION
 626:                "One or more batteries have been determined to require
 627:                replacement."
 628:        ::= { upsWellKnownAlarms  1 }
 629: 
 630:    upsAlarmOnBattery OBJECT-IDENTITY
 631:        STATUS     current
 632:        DESCRIPTION
 633:                "The UPS is drawing power from the batteries."
 634:        ::= { upsWellKnownAlarms  2 }
 635: 
 636:    upsAlarmLowBattery OBJECT-IDENTITY
 637:        STATUS     current
 638:        DESCRIPTION
 639:                "The remaining battery run-time is less than or equal
 640:                to upsConfigLowBattTime."
 641:        ::= { upsWellKnownAlarms  3 }
 642: 
 643: 
 644:    upsAlarmDepletedBattery OBJECT-IDENTITY
 645:        STATUS     current
 646:        DESCRIPTION
 647:                "The UPS will be unable to sustain the present load
 648:                when and if the utility power is lost."
 649:        ::= { upsWellKnownAlarms  4 }
 650: 
 651:    upsAlarmTempBad OBJECT-IDENTITY
 652:        STATUS     current
 653:        DESCRIPTION
 654:                "A temperature is out of tolerance."
 655:        ::= { upsWellKnownAlarms  5 }
 656: 
 657:    upsAlarmInputBad OBJECT-IDENTITY
 658:        STATUS     current
 659:        DESCRIPTION
 660:                "An input condition is out of tolerance."
 661:        ::= { upsWellKnownAlarms  6 }
 662: 
 663:    upsAlarmOutputBad OBJECT-IDENTITY
 664:        STATUS     current
 665:        DESCRIPTION
 666:                "An output condition (other than OutputOverload) is
 667:                out of tolerance."
 668:        ::= { upsWellKnownAlarms  7 }
 669: 
 670:    upsAlarmOutputOverload OBJECT-IDENTITY
 671:        STATUS     current
 672:        DESCRIPTION
 673:                "The output load exceeds the UPS output capacity."
 674:        ::= { upsWellKnownAlarms  8 }
 675: 
 676:    upsAlarmOnBypass OBJECT-IDENTITY
 677:        STATUS     current
 678:        DESCRIPTION
 679:                "The Bypass is presently engaged on the UPS."
 680:        ::= { upsWellKnownAlarms  9 }
 681: 
 682:    upsAlarmBypassBad OBJECT-IDENTITY
 683:        STATUS     current
 684:        DESCRIPTION
 685:                "The Bypass is out of tolerance."
 686:        ::= { upsWellKnownAlarms 10 }
 687: 
 688:    upsAlarmOutputOffAsRequested OBJECT-IDENTITY
 689:        STATUS     current
 690:        DESCRIPTION
 691:                "The UPS has shutdown as requested, i.e., the output
 692:                is off."
 693:        ::= { upsWellKnownAlarms 11 }
 694: 
 695:    upsAlarmUpsOffAsRequested OBJECT-IDENTITY
 696:        STATUS     current
 697:        DESCRIPTION
 698:                "The entire UPS has shutdown as commanded."
 699:        ::= { upsWellKnownAlarms 12 }
 700: 
 701:    upsAlarmChargerFailed OBJECT-IDENTITY
 702:        STATUS     current
 703:        DESCRIPTION
 704:                "An uncorrected problem has been detected within the
 705:                UPS charger subsystem."
 706:        ::= { upsWellKnownAlarms 13 }
 707: 
 708:    upsAlarmUpsOutputOff OBJECT-IDENTITY
 709:        STATUS     current
 710:        DESCRIPTION
 711:                "The output of the UPS is in the off state."
 712:        ::= { upsWellKnownAlarms 14 }
 713: 
 714:    upsAlarmUpsSystemOff OBJECT-IDENTITY
 715:        STATUS     current
 716:        DESCRIPTION
 717:                "The UPS system is in the off state."
 718:        ::= { upsWellKnownAlarms 15 }
 719: 
 720:    upsAlarmFanFailure OBJECT-IDENTITY
 721:        STATUS     current
 722:        DESCRIPTION
 723:                "The failure of one or more fans in the UPS has been
 724:                detected."
 725:        ::= { upsWellKnownAlarms 16 }
 726: 
 727:    upsAlarmFuseFailure OBJECT-IDENTITY
 728:        STATUS     current
 729:        DESCRIPTION
 730:                "The failure of one or more fuses has been detected."
 731:        ::= { upsWellKnownAlarms 17 }
 732: 
 733:    upsAlarmGeneralFault OBJECT-IDENTITY
 734:        STATUS     current
 735:        DESCRIPTION
 736:                "A general fault in the UPS has been detected."
 737:        ::= { upsWellKnownAlarms 18 }
 738: 
 739:    upsAlarmDiagnosticTestFailed OBJECT-IDENTITY
 740:        STATUS     current
 741:        DESCRIPTION
 742:                "The result of the last diagnostic test indicates a
 743:                failure."
 744:        ::= { upsWellKnownAlarms 19 }
 745: 
 746:    upsAlarmCommunicationsLost OBJECT-IDENTITY
 747:        STATUS     current
 748:        DESCRIPTION
 749:                "A problem has been encountered in the communications
 750:                between the agent and the UPS."
 751:        ::= { upsWellKnownAlarms 20 }
 752: 
 753:    upsAlarmAwaitingPower OBJECT-IDENTITY
 754:        STATUS     current
 755:        DESCRIPTION
 756:                "The UPS output is off and the UPS is awaiting the
 757:                return of input power."
 758:        ::= { upsWellKnownAlarms 21 }
 759: 
 760:    upsAlarmShutdownPending OBJECT-IDENTITY
 761:        STATUS     current
 762:        DESCRIPTION
 763:                "A upsShutdownAfterDelay countdown is underway."
 764:        ::= { upsWellKnownAlarms 22 }
 765: 
 766:    upsAlarmShutdownImminent OBJECT-IDENTITY
 767:        STATUS     current
 768:        DESCRIPTION
 769:                "The UPS will turn off power to the load in less than
 770:                5 seconds; this may be either a timed shutdown or a
 771:                low battery shutdown."
 772:        ::= { upsWellKnownAlarms 23 }
 773: 
 774:    upsAlarmTestInProgress OBJECT-IDENTITY
 775:        STATUS     current
 776:        DESCRIPTION
 777:                "A test is in progress, as initiated and indicated by
 778:                the Test Group.  Tests initiated via other
 779:                implementation-specific mechanisms can indicate the
 780:                presence of the testing in the alarm table, if
 781:                desired, via a OBJECT-IDENTITY macro in the MIB
 782:                document specific to that implementation and are
 783:                outside the scope of this OBJECT-IDENTITY."
 784:        ::= { upsWellKnownAlarms 24 }
 785: 
 786: 
 787:    --
 788:    -- The Test Group
 789:    --
 790: 
 791:    upsTest               OBJECT IDENTIFIER ::= { upsObjects 7 }
 792: 
 793:    upsTestId OBJECT-TYPE
 794:        SYNTAX     OBJECT IDENTIFIER
 795:        MAX-ACCESS read-write
 796:        STATUS     current
 797:        DESCRIPTION
 798:                "The test is named by an OBJECT IDENTIFIER which
 799:                allows a standard mechanism for the initiation of
 800:                tests, including the well known tests identified in
 801:                this document as well as those introduced by a
 802:                particular implementation, i.e., as documented in the
 803:                private enterprise MIB definition for the device.
 804: 
 805:                Setting this variable initiates the named test. Sets
 806:                to this variable require the presence of
 807:                upsTestSpinLock in the same SNMP message.
 808: 
 809:                The set request will be rejected with an appropriate
 810:                error message if the requested test cannot be
 811:                performed, including attempts to start a test when
 812:                another test is already in progress.  The status of
 813:                the current or last test is maintained in
 814:                upsTestResultsSummary. Tests in progress may be
 815:                aborted by setting the upsTestId variable to
 816:                upsTestAbortTestInProgress.
 817: 
 818:                Read operations return the value of the name of the
 819:                test in progress if a test is in progress or the name
 820:                of the last test performed if no test is in progress,
 821:                unless no test has been run, in which case the well
 822:                known value upsTestNoTestsInitiated is returned."
 823:        ::= { upsTest 1 }
 824: 
 825:    -- see [6] for more information on the semantics of objects with
 826:    -- syntax of TestAndIncr
 827: 
 828:    upsTestSpinLock OBJECT-TYPE
 829:        SYNTAX     TestAndIncr
 830:        MAX-ACCESS read-write
 831:        STATUS     current
 832:        DESCRIPTION
 833:                "A spin lock on the test subsystem.  The spinlock is
 834:                used as follows.
 835: 
 836:                Before starting a test, a manager-station should make
 837:                sure that a test is not in progress as follows:
 838: 
 839:                    try_again:
 840:                      get (upsTestSpinLock)
 841:                      while (upsTestResultsSummary == inProgress) {
 842:                        /* loop while a test is running for another
 843:                manager */
 844:                        short delay
 845:                        get (upsTestSpinLock)
 846:                      }
 847:                      lock_value = upsTestSpinLock
 848:                      /* no test in progress, start the test */
 849:                      set (upsTestSpinLock = lock_value, upsTestId =
 850:                requested_test)
 851:                      if (error_index == 1) { /* (upsTestSpinLock
 852:                failed) */
 853:                        /* if problem is not access control, then
 854:                            some other manager slipped in ahead of us
 855:                */
 856:                        goto try_again
 857:                      }
 858:                      if (error_index == 2) { /* (upsTestId) */
 859:                        /* cannot perform the test */
 860:                        give up
 861:                      }
 862:                      /* test started ok */
 863:                      /* wait for test completion by polling
 864: 
 865:                upsTestResultsSummary */
 866:                      get (upsTestSpinLock, upsTestResultsSummary,
 867:                upsTestResultsDetail)
 868:                      while (upsTestResultsSummary == inProgress) {
 869:                        short delay
 870:                        get (upsTestSpinLock, upsTestResultsSummary,
 871:                upsTestResultsDetail)
 872:                      }
 873:                      /* when test completes, retrieve any additional
 874:                test results */
 875:                      /* if upsTestSpinLock == lock_value + 1, then
 876:                these are our test */
 877:                      /* results (as opposed to another manager's */
 878:                      The initial value of upsTestSpinLock at agent
 879:                initialization shall
 880:                      be 1."
 881:        ::= { upsTest 2 }
 882: 
 883:    upsTestResultsSummary OBJECT-TYPE
 884:        SYNTAX     INTEGER {
 885:            donePass(1),
 886:            doneWarning(2),
 887:            doneError(3),
 888:            aborted(4),
 889:            inProgress(5),
 890:            noTestsInitiated(6)
 891:        }
 892:        MAX-ACCESS read-only
 893:        STATUS     current
 894:        DESCRIPTION
 895:                "The results of the current or last UPS diagnostics
 896:                test performed.  The values for donePass(1),
 897:                doneWarning(2), and doneError(3) indicate that the
 898:                test completed either successfully, with a warning, or
 899:                with an error, respectively.  The value aborted(4) is
 900:                returned for tests which are aborted by setting the
 901:                value of upsTestId to upsTestAbortTestInProgress.
 902:                Tests which have not yet concluded are indicated by
 903:                inProgress(5).  The value noTestsInitiated(6)
 904:                indicates that no previous test results are available,
 905:                such as is the case when no tests have been run since
 906:                the last reinitialization of the network management
 907:                subsystem and the system has no provision for non-
 908:                volatile storage of test results."
 909:        ::= { upsTest 3 }
 910: 
 911:    upsTestResultsDetail OBJECT-TYPE
 912:        SYNTAX     DisplayString (SIZE (0..255))
 913:        MAX-ACCESS read-only
 914:        STATUS     current
 915:        DESCRIPTION
 916:                "Additional information about upsTestResultsSummary.
 917:                If no additional information available, a zero length
 918:                string is returned."
 919:        ::= { upsTest 4 }
 920: 
 921:    upsTestStartTime OBJECT-TYPE
 922:        SYNTAX     TimeStamp
 923:        MAX-ACCESS read-only
 924:        STATUS     current
 925:        DESCRIPTION
 926:                "The value of sysUpTime at the time the test in
 927:                progress was initiated, or, if no test is in progress,
 928:                the time the previous test was initiated.  If the
 929:                value of upsTestResultsSummary is noTestsInitiated(6),
 930:                upsTestStartTime has the value 0."
 931:        ::= { upsTest 5 }
 932: 
 933:    upsTestElapsedTime OBJECT-TYPE
 934:        SYNTAX     TimeInterval
 935:        MAX-ACCESS read-only
 936:        STATUS     current
 937:        DESCRIPTION
 938:                "The amount of time, in TimeTicks, since the test in
 939:                progress was initiated, or, if no test is in progress,
 940:                the previous test took to complete.  If the value of
 941:                upsTestResultsSummary is noTestsInitiated(6),
 942:                upsTestElapsedTime has the value 0."
 943:        ::= { upsTest 6 }
 944: 
 945:    --
 946:    -- Well known tests.
 947:    --
 948: 
 949:    upsWellKnownTests     OBJECT IDENTIFIER ::= { upsTest 7 }
 950: 
 951: 
 952:    upsTestNoTestsInitiated OBJECT-IDENTITY
 953:        STATUS     current
 954:        DESCRIPTION
 955:                "No tests have been initiated and no test is in
 956:                progress."
 957:        ::= { upsWellKnownTests  1 }
 958: 
 959:    upsTestAbortTestInProgress OBJECT-IDENTITY
 960:        STATUS     current
 961:        DESCRIPTION
 962:                "The test in progress is to be aborted / the test in
 963:                progress was aborted."
 964:        ::= { upsWellKnownTests  2 }
 965: 
 966:    upsTestGeneralSystemsTest OBJECT-IDENTITY
 967:        STATUS     current
 968:        DESCRIPTION
 969:                "The manufacturer's standard test of UPS device
 970:                systems."
 971:        ::= { upsWellKnownTests  3 }
 972: 
 973:    upsTestQuickBatteryTest OBJECT-IDENTITY
 974:        STATUS     current
 975:        DESCRIPTION
 976:                "A test that is sufficient to determine if the battery
 977:                needs replacement."
 978:        ::= { upsWellKnownTests  4 }
 979: 
 980:    upsTestDeepBatteryCalibration OBJECT-IDENTITY
 981:        STATUS     current
 982:        DESCRIPTION
 983:                "The system is placed on battery to a discharge level,
 984:                set by the manufacturer, sufficient to determine
 985:                battery replacement and battery run-time with a high
 986:                degree of confidence.  WARNING:  this test will leave
 987:                the battery in a low charge state and will require
 988:                time for recharging to a level sufficient to provide
 989:                normal battery duration for the protected load."
 990:        ::= { upsWellKnownTests  5 }
 991: 
 992: 
 993:    --
 994:    -- The Control group.
 995:    --
 996: 
 997:    upsControl            OBJECT IDENTIFIER ::= { upsObjects 8 }
 998: 
 999:    upsShutdownType OBJECT-TYPE
1000:        SYNTAX     INTEGER {
1001:            output(1),
1002:            system(2)
1003:        }
1004:        MAX-ACCESS read-write
1005:        STATUS     current
1006:        DESCRIPTION
1007:                "This object determines the nature of the action to be
1008:                taken at the time when the countdown of the
1009:                upsShutdownAfterDelay and upsRebootWithDuration
1010:                objects reaches zero.
1011: 
1012:                Setting this object to output(1) indicates that
1013:                shutdown requests should cause only the output of the
1014:                UPS to turn off.  Setting this object to system(2)
1015:                indicates that shutdown requests will cause the entire
1016:                UPS system to turn off."
1017:        ::= { upsControl 1 }
1018: 
1019:    upsShutdownAfterDelay OBJECT-TYPE
1020:        SYNTAX     INTEGER (-1..2147483648)
1020: warning - warning: use Integer32 instead of INTEGER in SMIv2
1020: error -
range limit exceeds underlying basetype

1020: error -
range limits must be `lower-bound .. upper-bound'
1021:        UNITS      "seconds"
1022:        MAX-ACCESS read-write
1023:        STATUS     current
1024:        DESCRIPTION
1025:                "Setting this object will shutdown (i.e., turn off)
1026:                either the UPS output or the UPS system (as determined
1027:                by the value of upsShutdownType at the time of
1028:                shutdown) after the indicated number of seconds, or
1029:                less if the UPS batteries become depleted. Setting
1030:                this object to 0 will cause the shutdown to occur
1031:                immediately.  Setting this object to -1 will abort the
1032:                countdown.  If the system is already in the desired
1033:                state at the time the countdown reaches 0, then
1034:                nothing will happen.  That is, there is no additional
1035:                action at that time if upsShutdownType = system and
1036:                the system is already off.  Similarly, there is no
1037:                additional action at that time if upsShutdownType =
1038:                output and the output is already off.  When read,
1039:                upsShutdownAfterDelay will return the number of
1040:                seconds remaining until shutdown, or -1 if no shutdown
1041:                countdown is in effect.  On some systems, if the agent
1042:                is restarted while a shutdown countdown is in effect,
1043:                the countdown may be aborted.  Sets to this object
1044:                override any upsShutdownAfterDelay already in effect."
1045:        ::= { upsControl 2 }
1046: 
1047:    upsStartupAfterDelay OBJECT-TYPE
1048:        SYNTAX     INTEGER (-1..2147483648)
1048: warning - warning: use Integer32 instead of INTEGER in SMIv2
1048: error -
range limit exceeds underlying basetype

1048: error -
range limits must be `lower-bound .. upper-bound'
1049:        UNITS      "seconds"
1050:        MAX-ACCESS read-write
1051:        STATUS     current
1052:        DESCRIPTION
1053:                "Setting this object will start the output after the
1054:                indicated number of seconds, including starting the
1055:                UPS, if necessary.  Setting this object to 0 will
1056:                cause the startup to occur immediately.  Setting this
1057:                object to -1 will abort the countdown.  If the output
1058:                is already on at the time the countdown reaches 0,
1059:                then nothing will happen.  Sets to this object
1060:                override the effect of any upsStartupAfterDelay
1061:                countdown or upsRebootWithDuration countdown in
1062:                progress.  When read, upsStartupAfterDelay will return
1063:                the number of seconds until startup, or -1 if no
1064:                startup countdown is in effect.  If the countdown
1065:                expires during a utility failure, the startup shall
1066:                not occur until the utility power is restored.  On
1067:                some systems, if the agent is restarted while a
1068:                startup countdown is in effect, the countdown is
1069:                aborted."
1070:        ::= { upsControl 3 }
1071: 
1072:    upsRebootWithDuration OBJECT-TYPE
1073:        SYNTAX     INTEGER (-1..300)
1073: warning - warning: use Integer32 instead of INTEGER in SMIv2
1074:        UNITS      "seconds"
1075:        MAX-ACCESS read-write
1076:        STATUS     current
1077:        DESCRIPTION
1078:                "Setting this object will immediately shutdown (i.e.,
1079:                turn off) either the UPS output or the UPS system (as
1080:                determined by the value of upsShutdownType at the time
1081:                of shutdown) for a period equal to the indicated
1082:                number of seconds, after which time the output will be
1083:                started, including starting the UPS, if necessary.  If
1084:                the number of seconds required to perform the request
1085:                is greater than the requested duration, then the
1086:                requested shutdown and startup cycle shall be
1087:                performed in the minimum time possible, but in no case
1088:                shall this require more than the requested duration
1089:                plus 60 seconds.  When read, upsRebootWithDuration
1090:                shall return the number of seconds remaining in the
1091:                countdown, or -1 if no countdown is in progress.  If
1092:                the startup should occur during a utility failure, the
1093:                startup shall not occur until the utility power is
1094:                restored."
1095:        ::= { upsControl 4 }
1096: 
1097:    upsAutoRestart OBJECT-TYPE
1098:        SYNTAX     INTEGER {
1099:            on(1),
1100:            off(2)
1101:        }
1102:        MAX-ACCESS read-write
1103:        STATUS     current
1104:        DESCRIPTION
1105:                "Setting this object to 'on' will cause the UPS system
1106:                to restart after a shutdown if the shutdown occurred
1107:                during a power loss as a result of either a
1108:                upsShutdownAfterDelay or an internal battery depleted
1109:                condition.  Setting this object to 'off' will prevent
1110:                the UPS system from restarting after a shutdown until
1111:                an operator manually or remotely explicitly restarts
1112:                it.  If the UPS is in a startup or reboot countdown,
1113:                then the UPS will not restart until that delay has
1114:                been satisfied."
1115:        ::= { upsControl 5 }
1116: 
1117: 
1118:    --
1119:    -- The Configuration group.
1120:    --
1121: 
1122:    upsConfig             OBJECT IDENTIFIER ::= { upsObjects 9 }
1123: 
1124:    upsConfigInputVoltage OBJECT-TYPE
1125:        SYNTAX     NonNegativeInteger
1126:        UNITS      "RMS Volts"
1127:        MAX-ACCESS read-write
1128:        STATUS     current
1129:        DESCRIPTION
1130:                "The magnitude of the nominal input voltage.  On those
1131:                systems which support read-write access to this
1132:                object, if there is an attempt to set this variable to
1133:                a value that is not supported, the request must be
1134:                rejected and the agent shall respond with an
1135:                appropriate error message, i.e., badValue for SNMPv1,
1136:                or inconsistentValue for SNMPv2."
1137:        ::= { upsConfig 1 }
1138: 
1139:    upsConfigInputFreq OBJECT-TYPE
1140:        SYNTAX     NonNegativeInteger
1141:        UNITS      "0.1 Hertz"
1142:        MAX-ACCESS read-write
1143:        STATUS     current
1144:        DESCRIPTION
1145:                "The nominal input frequency.  On those systems which
1146:                support read-write access to this object, if there is
1147:                an attempt to set this variable to a value that is not
1148:                supported, the request must be rejected and the agent
1149:                shall respond with an appropriate error message, i.e.,
1150:                badValue for SNMPv1, or inconsistentValue for SNMPv2."
1151:        ::= { upsConfig 2 }
1152: 
1153:    upsConfigOutputVoltage OBJECT-TYPE
1154:        SYNTAX     NonNegativeInteger
1155:        UNITS      "RMS Volts"
1156:        MAX-ACCESS read-write
1157:        STATUS     current
1158:        DESCRIPTION
1159:                "The magnitude of the nominal output voltage.  On
1160:                those systems which support read-write access to this
1161:                object, if there is an attempt to set this variable to
1162:                a value that is not supported, the request must be
1163:                rejected and the agent shall respond with an
1164:                appropriate error message, i.e., badValue for SNMPv1,
1165:                or inconsistentValue for SNMPv2."
1166:        ::= { upsConfig 3 }
1167: 
1168:    upsConfigOutputFreq OBJECT-TYPE
1169:        SYNTAX     NonNegativeInteger
1170:        UNITS      "0.1 Hertz"
1171:        MAX-ACCESS read-write
1172:        STATUS     current
1173:        DESCRIPTION
1174:                "The nominal output frequency.  On those systems which
1175:                support read-write access to this object, if there is
1176:                an attempt to set this variable to a value that is not
1177:                supported, the request must be rejected and the agent
1178:                shall respond with an appropriate error message, i.e.,
1179:                badValue for SNMPv1, or inconsistentValue for SNMPv2."
1180:        ::= { upsConfig 4 }
1181: 
1182:    upsConfigOutputVA OBJECT-TYPE
1183:        SYNTAX     NonNegativeInteger
1184:        UNITS      "Volt-Amps"
1185:        MAX-ACCESS read-only
1186:        STATUS     current
1187:        DESCRIPTION
1188:                "The magnitude of the nominal Volt-Amp rating."
1189:        ::= { upsConfig 5 }
1190: 
1191:    upsConfigOutputPower OBJECT-TYPE
1192:        SYNTAX     NonNegativeInteger
1193:        UNITS      "Watts"
1194:        MAX-ACCESS read-only
1195:        STATUS     current
1196:        DESCRIPTION
1197:                "The magnitude of the nominal true power rating."
1198:        ::= { upsConfig 6 }
1199: 
1200:    upsConfigLowBattTime OBJECT-TYPE
1201:        SYNTAX     NonNegativeInteger
1202:        UNITS      "minutes"
1203:        MAX-ACCESS read-write
1204:        STATUS     current
1205:        DESCRIPTION
1206:                "The value of upsEstimatedMinutesRemaining at which a
1207:                lowBattery condition is declared.  For agents which
1208:                support only discrete (discontinuous) values, then the
1209:                agent shall round up to the next supported value.  If
1210:                the requested value is larger than the largest
1211:                supported value, then the largest supported value
1212:                shall be selected."
1213:        ::= { upsConfig 7 }
1214: 
1215:    upsConfigAudibleStatus OBJECT-TYPE
1216:        SYNTAX     INTEGER {
1217:            disabled(1),
1218:            enabled(2),
1219:            muted(3)
1220:        }
1221:        MAX-ACCESS read-write
1222:        STATUS     current
1223:        DESCRIPTION
1224:                "The requested state of the audible alarm.  When in
1225:                the disabled state, the audible alarm should never
1226:                sound.  The enabled state is self-describing.  Setting
1227:                this object to muted(3) when the audible alarm is
1228:                sounding shall temporarily silence the alarm.  It will
1229:                remain muted until it would normally stop sounding and
1230:                the value returned for read operations during this
1231:                period shall equal muted(3).  At the end of this
1232:                period, the value shall revert to enabled(2).  Writes
1233:                of the value muted(3) when the audible alarm is not
1234:                sounding shall be accepted but otherwise shall have no
1235:                effect."
1236:        ::= { upsConfig 8 }
1237: 
1238:    upsConfigLowVoltageTransferPoint OBJECT-TYPE
1238: change recommended - warning: node `upsConfigLowVoltageTransferPoint' must be contained in at least one conformance group
1239:        SYNTAX     NonNegativeInteger
1240:        UNITS      "RMS Volts"
1241:        MAX-ACCESS read-write
1242:        STATUS     current
1243:        DESCRIPTION
1244:                "The minimum input line voltage allowed before the UPS
1245:                system transfers to battery backup."
1246:        ::= { upsConfig 9 }
1247: 
1248:    upsConfigHighVoltageTransferPoint OBJECT-TYPE
1248: change recommended - warning: node `upsConfigHighVoltageTransferPoint' must be contained in at least one conformance group
1249:        SYNTAX     NonNegativeInteger
1250:        UNITS      "RMS Volts"
1251:        MAX-ACCESS read-write
1252:        STATUS     current
1253:        DESCRIPTION
1254:                "The maximum line voltage allowed before the UPS
1255:                system transfers to battery backup."
1256:        ::= { upsConfig 10 }
1257: 
1258: 
1259:    --
1260:    -- notifications, i.e., traps
1261:    --
1262:    upsTraps              OBJECT IDENTIFIER ::= { upsMIB 2 }
1263: 
1264:    -- This section defines the well-known notifications sent by
1265:    -- UPS agents.
1266:    -- Care must be taken to insure that no particular notification
1267:    -- is sent to a single receiving entity more often than once
1268:    -- every five seconds.
1269: 
1270:    upsTrapOnBattery NOTIFICATION-TYPE
1270: warning - warning: notification `upsTrapOnBattery' is not reverse mappable
1270: change recommended -
warning: notification `upsTrapOnBattery' must be contained in at least one conformance group
1271:        OBJECTS { upsEstimatedMinutesRemaining, upsSecondsOnBattery,
1272:                  upsConfigLowBattTime }
1273:        STATUS  current
1274:        DESCRIPTION
1275:                "The UPS is operating on battery power.  This trap is
1276:                persistent and is resent at one minute intervals until
1277:                the UPS either turns off or is no longer running on
1278:                battery."
1279:      ::= { upsTraps 1 }
1280: 
1281:    upsTrapTestCompleted NOTIFICATION-TYPE
1281: warning - warning: notification `upsTrapTestCompleted' is not reverse mappable
1281: change recommended -
warning: notification `upsTrapTestCompleted' must be contained in at least one conformance group
1282:        OBJECTS { upsTestId, upsTestSpinLock,
1283:                  upsTestResultsSummary, upsTestResultsDetail,
1284:                  upsTestStartTime, upsTestElapsedTime }
1285:        STATUS  current
1286:        DESCRIPTION
1287:                "This trap is sent upon completion of a UPS diagnostic
1288:                test."
1289:      ::= { upsTraps 2 }
1290: 
1291:    upsTrapAlarmEntryAdded NOTIFICATION-TYPE
1291: warning - warning: notification `upsTrapAlarmEntryAdded' is not reverse mappable
1291: minor error - object `upsAlarmId' of notification `upsTrapAlarmEntryAdded' must not be `not-accessible'

1291: change recommended -
warning: notification `upsTrapAlarmEntryAdded' must be contained in at least one conformance group
1292:        OBJECTS { upsAlarmId, upsAlarmDescr }
1293:        STATUS  current
1294:        DESCRIPTION
1295:                "This trap is sent each time an alarm is inserted into
1296:                to the alarm table.  It is sent on the insertion of
1297:                all alarms except for upsAlarmOnBattery and
1298:                upsAlarmTestInProgress."
1299:      ::= { upsTraps 3 }
1300: 
1301:    upsTrapAlarmEntryRemoved NOTIFICATION-TYPE
1301: warning - warning: notification `upsTrapAlarmEntryRemoved' is not reverse mappable
1301: minor error - object `upsAlarmId' of notification `upsTrapAlarmEntryRemoved' must not be `not-accessible'

1301: change recommended -
warning: notification `upsTrapAlarmEntryRemoved' must be contained in at least one conformance group
1302:        OBJECTS { upsAlarmId, upsAlarmDescr }
1303:        STATUS  current
1304:        DESCRIPTION
1305:                "This trap is sent each time an alarm is removed from
1306:                the alarm table.  It is sent on the removal of all
1307:                alarms except for upsAlarmTestInProgress."
1308:      ::= { upsTraps 4 }
1309: 
1310: 
1311:    --
1312:    -- conformance information
1313:    --
1314:    upsConformance        OBJECT IDENTIFIER ::= { upsMIB 3 }
1315: 
1316:    upsCompliances        OBJECT IDENTIFIER ::= { upsConformance 1 }
1317: 
1318: 
1319:    --
1320:    -- compliance statements
1321:    --
1322: 
1323:    upsSubsetCompliance MODULE-COMPLIANCE
1324:        STATUS     current
1325:        DESCRIPTION
1326: 
1327:                "The compliance statement for UPSs that only support
1328:                the two-contact communication protocol."
1329:        MODULE -- this module
1330:            MANDATORY-GROUPS  { upsSubsetIdentGroup,
1331:                      upsSubsetBatteryGroup, upsSubsetInputGroup,
1332:                      upsSubsetOutputGroup, upsSubsetAlarmGroup,
1333:                      upsSubsetControlGroup, upsSubsetConfigGroup }
1334: 
1335:        OBJECT     upsBatteryStatus
1336:        SYNTAX     INTEGER {
1337:            batteryNormal(2),
1338:            batteryLow(3)
1339:        }
1340:        DESCRIPTION
1341:                "Support of the values unknown(1) and
1342:                batteryDepleted(4) is not required."
1343: 
1344:        OBJECT     upsAlarmDescr
1345:        DESCRIPTION
1346:                "Support of all `well known' alarm types is not
1347:                required.  The well known alarm types which must be
1348:                supported are: upsAlarmOnBattery, upsAlarmLowBattery,
1349:                upsAlarmInputBad, upsAlarmUpsOutputOff,
1350:                upsAlarmUpsSystemOff, and upsAlarmTestInProgress."
1351: 
1352:        OBJECT     upsOutputSource
1353:        SYNTAX     INTEGER {
1354:            normal(2),
1355:            battery(4)
1356:        }
1356: error - named number `normal(2)' illegal in sub-type
1356: error - named number `battery(4)' illegal in sub-type
1357:        DESCRIPTION
1358:                "Support of the values other(1), none(2), bypass(4),
1359:                booster(6) and reducer(7) is not required."
1360: 
1361:        OBJECT     upsShutdownType
1362:        MIN-ACCESS read-only
1363:        DESCRIPTION
1364:                "Read-write access is not required, i.e., compliant
1365:                systems need not support more than one shutdown type."
1366: 
1367:        OBJECT     upsAutoRestart
1368:        MIN-ACCESS read-only
1369:        DESCRIPTION
1370:                "Read-write access is not required, i.e., compliant
1371:                systems need not support more than one restart type."
1372: 
1373:        OBJECT     upsConfigInputVoltage
1374:        MIN-ACCESS read-only
1375:        DESCRIPTION
1376:                "Read-write access is not required."
1377: 
1378:        OBJECT     upsConfigInputFreq
1379:        MIN-ACCESS read-only
1380:        DESCRIPTION
1381:                "Read-write access is not required."
1382: 
1383:        OBJECT     upsConfigOutputVoltage
1384:        MIN-ACCESS read-only
1385:        DESCRIPTION
1386:                "Read-write access is not required."
1387: 
1388:        OBJECT     upsConfigOutputFreq
1389:        MIN-ACCESS read-only
1390:        DESCRIPTION
1391:                "Read-write access is not required."
1392:        ::= { upsCompliances 1 }
1393: 
1394:    upsBasicCompliance MODULE-COMPLIANCE
1395:        STATUS     current
1396:        DESCRIPTION
1397: 
1398:                "The compliance statement for UPSs that support
1399:                full-featured functions, such as control."
1400:        MODULE -- this module
1401:            MANDATORY-GROUPS { upsBasicIdentGroup,
1402:                      upsBasicBatteryGroup, upsBasicInputGroup,
1403:                      upsBasicOutputGroup, upsBasicAlarmGroup,
1404:                      upsBasicTestGroup, upsBasicControlGroup,
1405:                      upsBasicConfigGroup }
1406: 
1407: 
1408:        OBJECT     upsAlarmDescr
1409:        DESCRIPTION
1410:                "Support of all `well known' alarm types is not
1411:                required.  The well known alarm types which must be
1412:                supported are: upsAlarmOnBattery, upsAlarmLowBattery,
1413:                upsAlarmDepletedBattery, upsAlarmTempBad,
1414:                upsAlarmInputBad, upsAlarmOutputOverload,
1415:                upsAlarmOnBypass, upsAlarmBypassBad,
1416:                upsAlarmOutputOffAsRequested,
1417:                upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
1418:                upsAlarmUpsSystemOff, upsAlarmGeneralFault,
1419:                upsAlarmDiagnosticTestFailed,
1420:                upsAlarmCommunicationsLost, upsAlarmShutdownPending,
1421:                and upsAlarmTestInProgress."
1422: 
1423:        OBJECT     upsTestId
1424:        DESCRIPTION
1425:                "Support of all `well known' test types is not
1426:                required.  If no tests are supported, then the only
1427:                well known test type which must be supported is
1428:                upsTestNoTestsInitiated."
1429: 
1430:        OBJECT     upsOutputSource
1431:        SYNTAX     INTEGER {
1432:            normal(2),
1433:            battery(4)
1434:        }
1434: error - named number `normal(2)' illegal in sub-type
1434: error - named number `battery(4)' illegal in sub-type
1435:        DESCRIPTION
1436:                "Support of the values other(1), none(2), bypass(4),
1437:                booster(6) and reducer(7) is not required."
1438: 
1439:            GROUP upsBasicBypassGroup
1440:            DESCRIPTION
1441:                "The upsBasicBypassGroup is only required for UPSs
1442:                that have a Bypass present."
1443:        OBJECT     upsShutdownType
1444:        MIN-ACCESS read-only
1445:        DESCRIPTION
1446:                "Read-write access is not required, i.e., compliant
1447:                systems need not support more than one shutdown type."
1448: 
1449:        OBJECT     upsAutoRestart
1450:        MIN-ACCESS read-only
1451:        DESCRIPTION
1452:                "Read-write access is not required, i.e., compliant
1453:                systems need not support more than one restart type."
1454: 
1455:        OBJECT     upsConfigInputVoltage
1456:        MIN-ACCESS read-only
1457:        DESCRIPTION
1458:                "Read-write access is not required."
1459: 
1460:        OBJECT     upsConfigInputFreq
1461:        MIN-ACCESS read-only
1462:        DESCRIPTION
1463:                "Read-write access is not required."
1464: 
1465:        OBJECT     upsConfigOutputVoltage
1466:        MIN-ACCESS read-only
1467:        DESCRIPTION
1468:                "Read-write access is not required."
1469: 
1470:        OBJECT     upsConfigOutputFreq
1471:        MIN-ACCESS read-only
1472:        DESCRIPTION
1473:                "Read-write access is not required."
1474: 
1475:        OBJECT     upsConfigLowBattTime
1476:        DESCRIPTION
1477:                "Implementation of all possible values may be onerous
1478:                for some systems.  Consequently, not all possible
1479:                values must be supported.  However, at least two
1480:                different manufacturer-selected values must be
1481:                supported."
1482: 
1483:        ::= { upsCompliances 2 }
1484: 
1485:    upsFullCompliance MODULE-COMPLIANCE
1486:        STATUS     current
1487:        DESCRIPTION
1488:                "The compliance statement for UPSs that support
1489:                advanced full-featured functions."
1490:        MODULE -- this module
1491:            MANDATORY-GROUPS { upsFullIdentGroup, upsFullBatteryGroup,
1492:                      upsFullInputGroup, upsFullOutputGroup,
1493:                      upsFullAlarmGroup, upsFullTestGroup,
1494:                      upsFullControlGroup, upsFullConfigGroup }
1495: 
1496:        OBJECT     upsAlarmDescr
1497:        DESCRIPTION
1498:                "Support of all `well known' alarm types is not
1499:                required.  The well known alarm types which must be
1500:                supported are: upsAlarmBatteryBad, upsAlarmOnBattery,
1501:                upsAlarmLowBattery, upsAlarmDepletedBattery,
1502:                upsAlarmTempBad, upsAlarmInputBad, upsAlarmOnBypass,
1503:                upsAlarmBypassBad, upsAlarmOutputOffAsRequested,
1504:                upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
1505:                upsAlarmUpsSystemOff, upsAlarmGeneralFault,
1506:                upsAlarmDiagnosticTestFailed,
1507:                upsAlarmCommunicationsLost, upsAlarmShutdownPending,
1508:                and upsAlarmTestInProgress."
1509: 
1510:        OBJECT     upsTestId
1511:        DESCRIPTION
1512:                "Support of all `well known' test types is not
1513:                required.  The well known test types which must be
1514:                supported are: upsTestNoTestsInitiated,
1515:                upsTestGeneralSystemsTest, and
1516:                upsTestQuickBatteryTest."
1517: 
1518:        OBJECT     upsOutputSource
1519:        SYNTAX     INTEGER {
1520:            normal(2),
1521:            battery(4)
1522:        }
1522: error - named number `normal(2)' illegal in sub-type
1522: error - named number `battery(4)' illegal in sub-type
1523:        DESCRIPTION
1524:                "Support of the values other(1), none(2), bypass(4),
1525:                booster(6) and reducer(7) is not required."
1526: 
1527:            GROUP upsFullBypassGroup
1528:            DESCRIPTION
1529:                "The upsFullBypassGroup is only required for UPSs that
1530:                have a Bypass present."
1531: 
1532:        OBJECT     upsShutdownType
1533:        MIN-ACCESS read-only
1534:        DESCRIPTION
1535:                "Read-write access is not required, i.e., compliant
1536:                systems need not support more than one shutdown type."
1537: 
1538:        OBJECT     upsAutoRestart
1539:        MIN-ACCESS read-only
1540:        DESCRIPTION
1541:                "Read-write access is not required, i.e., compliant
1542:                systems need not support more than one restart type."
1543: 
1544:        OBJECT     upsConfigInputVoltage
1545:        MIN-ACCESS read-only
1546:        DESCRIPTION
1547:                "Read-write access is not required."
1548: 
1549:        OBJECT     upsConfigInputFreq
1550:        MIN-ACCESS read-only
1551:        DESCRIPTION
1552:                "Read-write access is not required."
1553: 
1554:        OBJECT     upsConfigOutputVoltage
1555:        MIN-ACCESS read-only
1556:        DESCRIPTION
1557:                "Read-write access is not required."
1558: 
1559:        OBJECT     upsConfigOutputFreq
1560:        MIN-ACCESS read-only
1561:        DESCRIPTION
1562:                "Read-write access is not required."
1563: 
1564:        OBJECT     upsConfigLowBattTime
1565:        DESCRIPTION
1566:                "Implementation of all possible values may be onerous
1567:                for some systems.  Consequently, not all possible
1568:                values must be supported.  However, at least two
1569:                different manufacturer-selected values must be
1570:                supported."
1571: 
1572:        ::= { upsCompliances 3 }
1573: 
1574: 
1575:    --
1576:    -- units of conformance
1577:    --
1578: 
1579:    -- summary at a glance:
1580: 
1581:    --                                      subset  basic   adv
1582:    --upsIdentManufacturer                  x       x       x
1583:    --upsIdentModel                         x       x       x
1584:    --upsIdentUPSSoftwareVersion                    x       x
1585:    --upsIdentAgentSoftwareVersion          x       x       x
1586:    --upsIdentName                          x       x       x
1587:    --upsIdentAttachedDevices               x               x
1588:    --
1589:    --upsBatteryStatus                      x       x       x  notes
1590:    --upsSecondsOnBattery                   x       x       x
1591:    --upsEstimatedMinutesRemaining                          x
1592:    --upsEstimatedChargeRemaining                           x
1593:    --upsBatteryVoltage
1594:    --upsBatteryCurrent
1595:    --upsBatteryTemperature
1596:    --
1597:    --upsInputLineBads                      x       x       x
1598:    --upsInputNumLines                              x       x
1599:    --upsInputFrequency                             x       x
1600:    --upsInputVoltage                               x       x
1601:    --upsInputCurrent
1602:    --upsInputTruePower
1603:    --
1604:    --upsOutputSource                       x       x       x  notes
1605:    --upsOutputFrequency                            x       x
1606:    --upsOutputNumLines                             x       x
1607:    --upsOutputVoltage                              x       x
1608:    --upsOutputCurrent                                      x
1609:    --upsOutputPower                                        x
1610:    --upsOutputPercentLoad                                  x
1611:    --
1612:    --
1613:    --upsBypassFrequency                            x       x  notes
1614:    --upsBypassNumLines                             x       x
1615:    --upsBypassVoltage                              x       x
1616:    --upsBypassCurrent
1617:    --upsBypassPower
1618:    --
1619:    --
1620:    --upsAlarmsPresent                      x       x       x
1621:    --upsAlarmDescr                         x       x       x  notes
1622:    --upsAlarmTime                          x       x       x
1623:    --
1624:    --upsTestId                                     x       x  notes
1625:    --upsTestSpinLock                               x       x
1626:    --upsTestResultsSummary                         x       x
1627:    --upsTestResultsDetail                          x       x
1628:    --upsTestStartTime                              x       x
1629:    --upsTestElapsedTime                            x       x
1630:    --
1631:    --upsShutdownType                       x       x       x  notes
1632:    --upsShutdownAfterDelay                 x       x       x
1633:    --upsStartupAfterDelay                          x       x
1634:    --upsRebootWithDuration                         x       x
1635:    --upsAutoRestart                        x       x       x  notes
1636:    --
1637:    --upsConfigInputVoltage                 x       x       x  notes
1638:    --upsConfigInputFreq                    x       x       x  notes
1639:    --upsConfigOutputVoltage                x       x       x  notes
1640:    --upsConfigOutputFreq                   x       x       x  notes
1641:    --upsConfigOutputVA                     x       x       x
1642:    --upsConfigOutputPower                  x       x       x
1643:    --upsConfigLowBattTime                          x       x  notes
1644:    --upsConfigAudibleStatus                        x       x
1645:    --upsConfigLowVoltageTransferPoint
1646:    --upsConfigHighVoltageTransferPoint
1647: 
1648: 
1649:    -- units of conformance
1650:    upsGroups             OBJECT IDENTIFIER ::= { upsConformance 2 }
1651: 
1652:    upsSubsetGroups       OBJECT IDENTIFIER ::= { upsGroups 1 }
1653: 
1654:    upsSubsetIdentGroup OBJECT-GROUP
1655:        OBJECTS { upsIdentManufacturer, upsIdentModel,
1656:                  upsIdentAgentSoftwareVersion, upsIdentName,
1657:                  upsIdentAttachedDevices }
1658:        STATUS  current
1659:        DESCRIPTION
1660:                "The upsSubsetIdentGroup defines objects which are
1661:                common across all UPSs which meet subset compliance.
1662:                Most devices which conform to the upsSubsetIdentGroup
1663:                will provide access to these objects via a proxy
1664:                agent.  If the proxy agent is compatible with multiple
1665:                UPS types, configuration of the proxy agent will
1666:                require specifying some of these values, either
1667:                individually, or as a group (perhaps through a table
1668:                lookup mechanism based on the UPS model number)."
1669:        ::= { upsSubsetGroups 1 }
1670: 
1671:    upsSubsetBatteryGroup OBJECT-GROUP
1672:        OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
1673:        STATUS  current
1674:        DESCRIPTION
1675:                "The upsSubsetBatteryGroup defines the objects that
1676:                are common to battery groups of two-contact UPSs."
1677:        ::= { upsSubsetGroups 2 }
1678: 
1679:    upsSubsetInputGroup OBJECT-GROUP
1680:        OBJECTS { upsInputLineBads }
1681:        STATUS  current
1682:        DESCRIPTION
1683:                "The upsSubsetInputGroup defines the objects that are
1684:                common to the Input groups of two-contact UPSs."
1685:        ::= { upsSubsetGroups 3 }
1686: 
1687:    upsSubsetOutputGroup OBJECT-GROUP
1688:        OBJECTS { upsOutputSource }
1689:        STATUS  current
1690:        DESCRIPTION
1691:                "The upsSubsetOutputGroup defines the objects that are
1692:                common to the Output groups of two-contact UPSs."
1693:        ::= { upsSubsetGroups 4 }
1694: 
1695: 
1696:    -- { upsSubsetGroups 5 } is reserved for
1697:    -- future use (upsSubsetBypassGroup)
1698: 
1699:    upsSubsetAlarmGroup OBJECT-GROUP
1700:        OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
1701:        STATUS  current
1702:        DESCRIPTION
1703:                "The upsSubsetAlarmGroup defines the objects that are
1704:                common to the Alarm groups of two-contact UPSs."
1705:        ::= { upsSubsetGroups 6 }
1706: 
1707:    -- { upsSubsetGroups 7 } is reserved for
1708:    -- future use (upsSubsetTestGroup)
1709: 
1710:    upsSubsetControlGroup OBJECT-GROUP
1711:        OBJECTS { upsShutdownType, upsShutdownAfterDelay,
1712:                      upsAutoRestart }
1713:        STATUS  current
1714:        DESCRIPTION
1715:                "The upsSubsetControlGroup defines the objects that
1716:                are common to the Control groups of two-contact UPSs."
1717:        ::= { upsSubsetGroups 8 }
1718: 
1719:    upsSubsetConfigGroup OBJECT-GROUP
1720:        OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
1721:                  upsConfigOutputVoltage, upsConfigOutputFreq,
1722:                  upsConfigOutputVA, upsConfigOutputPower }
1723:        STATUS  current
1724:        DESCRIPTION
1725:                "The upsSubsetConfigGroup defines the objects that are
1726:                common to the Config groups of two-contact UPSs."
1727:        ::= { upsSubsetGroups 9 }
1728: 
1729:    upsBasicGroups        OBJECT IDENTIFIER ::= { upsGroups 2 }
1730: 
1731:    upsBasicIdentGroup OBJECT-GROUP
1732:        OBJECTS { upsIdentManufacturer, upsIdentModel,
1733:                  upsIdentUPSSoftwareVersion,
1734:                  upsIdentAgentSoftwareVersion, upsIdentName }
1735:        STATUS  current
1736:        DESCRIPTION
1737:                "The upsBasicIdentGroup defines objects which are
1738:                common to the Ident group of compliant UPSs which
1739:                support basic functions."
1740:        ::= { upsBasicGroups 1 }
1741: 
1742:    upsBasicBatteryGroup OBJECT-GROUP
1743:        OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
1744:        STATUS  current
1745:        DESCRIPTION
1746:                "The upsBasicBatteryGroup defines the objects that are
1747:                common to the battery groups of compliant UPSs which
1748:                support basic functions."
1749:        ::= { upsBasicGroups 2 }
1750: 
1751:    upsBasicInputGroup OBJECT-GROUP
1752:        OBJECTS { upsInputLineBads, upsInputNumLines,
1753:                  upsInputFrequency, upsInputVoltage }
1754:        STATUS  current
1755:        DESCRIPTION
1756:                "The upsBasicInputGroup defines the objects that are
1757:                common to the Input groups of compliant UPSs which
1758:                support basic functions."
1759:        ::= { upsBasicGroups 3 }
1760: 
1761:    upsBasicOutputGroup OBJECT-GROUP
1762:        OBJECTS { upsOutputSource, upsOutputFrequency,
1763:                  upsOutputNumLines, upsOutputVoltage }
1764:        STATUS  current
1765:        DESCRIPTION
1766:                "The upsBasicOutputGroup defines the objects that are
1767:                common to the Output groups of compliant UPSs which
1768:                support basic functions."
1769:        ::= { upsBasicGroups 4 }
1770: 
1771:    upsBasicBypassGroup OBJECT-GROUP
1772:        OBJECTS { upsBypassFrequency, upsBypassNumLines,
1773:                  upsBypassVoltage }
1774:        STATUS  current
1775:        DESCRIPTION
1776:                "The upsBasicBypassGroup defines the objects that are
1777:                common to the Bypass groups of compliant UPSs which
1778:                support basic functions."
1779:        ::= { upsBasicGroups 5 }
1780: 
1781:    upsBasicAlarmGroup OBJECT-GROUP
1782:        OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
1783:        STATUS  current
1784:        DESCRIPTION
1785: 
1786:                "The upsBasicAlarmGroup defines the objects that are
1787:                common to the Alarm  groups of compliant UPSs which
1788:                support basic functions."
1789:        ::= { upsBasicGroups 6 }
1790: 
1791:    upsBasicTestGroup OBJECT-GROUP
1792:        OBJECTS { upsTestId, upsTestSpinLock,
1793:                  upsTestResultsSummary, upsTestResultsDetail,
1794:                  upsTestStartTime, upsTestElapsedTime }
1795:        STATUS  current
1796:        DESCRIPTION
1797:                "The upsBasicTestGroup defines the objects that are
1798:                common to the Test groups of compliant UPSs which
1799:                support basic functions."
1800:        ::= { upsBasicGroups 7 }
1801: 
1802:    upsBasicControlGroup OBJECT-GROUP
1803:        OBJECTS { upsShutdownType, upsShutdownAfterDelay,
1804:                  upsStartupAfterDelay, upsRebootWithDuration,
1805:                  upsAutoRestart }
1806:        STATUS  current
1807:        DESCRIPTION
1808:                "The upsBasicControlGroup defines the objects that are
1809:                common to the Control groups of compliant UPSs which
1810:                support basic functions."
1811:        ::= { upsBasicGroups 8 }
1812: 
1813:    upsBasicConfigGroup OBJECT-GROUP
1814:        OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
1815:                  upsConfigOutputVoltage, upsConfigOutputFreq,
1816:                  upsConfigOutputVA, upsConfigOutputPower,
1817:                  upsConfigLowBattTime, upsConfigAudibleStatus }
1818:        STATUS  current
1819:        DESCRIPTION
1820:                "The upsBasicConfigGroup defines the objects that are
1821:                common to the Config groups of UPSs which support
1822:                basic functions."
1823:        ::= { upsBasicGroups 9 }
1824: 
1825:    upsFullGroups         OBJECT IDENTIFIER ::= { upsGroups 3 }
1826: 
1827:    upsFullIdentGroup OBJECT-GROUP
1828:        OBJECTS { upsIdentManufacturer, upsIdentModel,
1829:                  upsIdentUPSSoftwareVersion,
1830:                  upsIdentAgentSoftwareVersion, upsIdentName,
1831:                  upsIdentAttachedDevices }
1832:        STATUS  current
1833:        DESCRIPTION
1834:                "The upsFullIdentGroup defines objects which are
1835:                common to the Ident group of fully compliant UPSs."
1836:        ::= { upsFullGroups 1 }
1837: 
1838:    upsFullBatteryGroup OBJECT-GROUP
1839:        OBJECTS { upsBatteryStatus, upsSecondsOnBattery,
1840:                  upsEstimatedMinutesRemaining,
1841:                  upsEstimatedChargeRemaining }
1842:        STATUS  current
1843:        DESCRIPTION
1844:                "The upsFullBatteryGroup defines the objects that are
1845:                common to the battery groups of fully compliant UPSs."
1846:        ::= { upsFullGroups 2 }
1847: 
1848:    upsFullInputGroup OBJECT-GROUP
1849:        OBJECTS { upsInputLineBads, upsInputNumLines,
1850:                  upsInputFrequency, upsInputVoltage }
1851:        STATUS  current
1852:        DESCRIPTION
1853:                "The upsFullInputGroup defines the objects that are
1854:                common to the Input groups of fully compliant UPSs."
1855:        ::= { upsFullGroups 3 }
1856: 
1857:    upsFullOutputGroup OBJECT-GROUP
1858:        OBJECTS { upsOutputSource, upsOutputFrequency,
1859:                  upsOutputNumLines, upsOutputVoltage,
1860:                  upsOutputCurrent, upsOutputPower,
1861:                  upsOutputPercentLoad }
1862:        STATUS  current
1863:        DESCRIPTION
1864:                "The upsFullOutputGroup defines the objects that are
1865:                common to the Output groups of fully compliant UPSs."
1866:        ::= { upsFullGroups 4 }
1867: 
1868:    upsFullBypassGroup OBJECT-GROUP
1869:        OBJECTS { upsBypassFrequency, upsBypassNumLines,
1870:                  upsBypassVoltage }
1871:        STATUS  current
1872:        DESCRIPTION
1873:                "The upsFullBypassGroup defines the objects that are
1874:                common to the Bypass groups of fully compliant UPSs."
1875:        ::= { upsFullGroups 5 }
1876: 
1877:    upsFullAlarmGroup OBJECT-GROUP
1878:        OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
1879:        STATUS  current
1880:        DESCRIPTION
1881: 
1882:                "The upsFullAlarmGroup defines the objects that are
1883:                common to the Alarm  groups of fully compliant UPSs."
1884:        ::= { upsFullGroups 6 }
1885: 
1886:    upsFullTestGroup OBJECT-GROUP
1887:        OBJECTS { upsTestId, upsTestSpinLock,
1888:                  upsTestResultsSummary, upsTestResultsDetail,
1889:                  upsTestStartTime, upsTestElapsedTime }
1890:        STATUS  current
1891:        DESCRIPTION
1892:                "The upsFullTestGroup defines the objects that are
1893:                common to the Test groups of fully compliant UPSs."
1894:        ::= { upsFullGroups 7 }
1895: 
1896:    upsFullControlGroup OBJECT-GROUP
1897:        OBJECTS { upsShutdownType, upsShutdownAfterDelay,
1898:                  upsStartupAfterDelay, upsRebootWithDuration,
1899:                  upsAutoRestart }
1900:        STATUS  current
1901:        DESCRIPTION
1902:    "The upsFullControlGroup defines the objects that are
1903:    common to the Control groups of fully compliant UPSs."
1904:        ::= { upsFullGroups 8 }
1905: 
1906:    upsFullConfigGroup OBJECT-GROUP
1907:        OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
1908:                  upsConfigOutputVoltage, upsConfigOutputFreq,
1909:                  upsConfigOutputVA, upsConfigOutputPower,
1910:                  upsConfigLowBattTime, upsConfigAudibleStatus }
1911:        STATUS  current
1912:        DESCRIPTION
1913:                "The upsFullConfigGroup defines the objects that are
1914:                common to the Config groups of fully compliant UPSs."
1915:        ::= { upsFullGroups 9 }
1916: 
1917:    END