From Shawn, 2 Years ago, written in Plain Text.
Embed
  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, mib-2
  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 }
  36.  
  37.    PositiveInteger ::= TEXTUAL-CONVENTION
  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)
  43.  
  44.    NonNegativeInteger ::= TEXTUAL-CONVENTION
  45.        DISPLAY-HINT "d"
  46.        STATUS       current
  47.        DESCRIPTION
  48.                "This data type is a non-negative value."
  49.        SYNTAX       INTEGER (0..2147483647)
  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)
  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
  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
  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
  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
  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
  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)
  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
  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
  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)
  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)
  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)
  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
  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
  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
  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
  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
  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
  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.        }
  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.        }
  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.        }
  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
  1918.