-- PSIM(============)
--IMPULS-MIB { iso(1) org(3) dod(6) internet(1) private(4)
-- enterprises(1) IMPULS(55814) }
-- PSIM(============)

-- Network Working Group										ksv@sstmk.ru
-- Request for Comments: 										IMPULS RnD
-- Category: Standards Track									July 2022
-- 
-- 
--                     UPS Management Information Base
-- 

IMPULS-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       OBJECT-IDENTITY, Counter32, Gauge32, Integer32
           FROM SNMPv2-SMI
       DisplayString, TimeStamp, TimeInterval, TestAndIncr,
         AutonomousType
           FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF
		TRAP-TYPE                                            
		   FROM RFC-1215
		enterprises
                FROM RFC1155-SMI;



   PositiveInteger ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
               "This data type is a non-zero and non-negative value."
       SYNTAX       INTEGER (1..2147483647)

   NonNegativeInteger ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
               "This data type is a non-negative value."
       SYNTAX       INTEGER (0..2147483647)
	   
   --
   -- The Device Identification group.
   --      All objects in this group except for upsIdentName and
   --      upsIdentAttachedDevices are set at device initialization
   --      and remain static.
   --
   IMPULS OBJECT IDENTIFIER ::= { enterprises 55814 }


   ups            OBJECT IDENTIFIER ::= { IMPULS 1 }


   upsIdent              OBJECT IDENTIFIER ::= { ups 1 }

   upsIdentManufacturer OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..31))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The name of the UPS manufacturer."
       ::= { upsIdent 1 }

   upsIdentModel OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..63))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The UPS Model designation."
       ::= { upsIdent 2 }

   upsIdentUPSSoftwareVersion OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..63))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The UPS firmware/software version(s).  This variable
               may or may not have the same value as
               upsIdentAgentSoftwareVersion in some implementations."
       ::= { upsIdent 3 }

   upsIdentAgentSoftwareVersion OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..63))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The UPS agent software version.  This variable may or
               may not have the same value as
               upsIdentUPSSoftwareVersion in some implementations."
       ::= { upsIdent 4 }


   upsIdentName OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..63))
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "A string identifying the UPS.  This object should be
               set by the administrator."
       ::= { upsIdent 5 }

   upsIdentAttachedDevices OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..63))
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "A string identifying the devices attached to the
               output(s) of the UPS.  This object should be set by
               the administrator."
       ::= { upsIdent 6 }

   --
   -- Battery Group
   --

   upsBattery            OBJECT IDENTIFIER ::= { ups 2 }

   upsBatteryStatus OBJECT-TYPE
       SYNTAX     INTEGER {
           unknown(1),
           batteryNormal(2),
           batteryLow(3),
           batteryDepleted(4)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The indication of the capacity remaining in the UPS
               system's batteries.   A value of batteryNormal
               indicates that the remaining run-time is greater than
               upsConfigLowBattTime.  A value of batteryLow indicates
               that the remaining battery run-time is less than or
               equal to upsConfigLowBattTime.  A value of
               batteryDepleted indicates that the UPS will be unable
               to sustain the present load when and if the utility
               power is lost (including the possibility that the
               utility power is currently absent and the UPS is
               unable to sustain the output)."
       ::= { upsBattery 1 }


   upsSecondsOnBattery OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "seconds"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "If the unit is on battery power, the elapsed time
               since the UPS last switched to battery power(in seconds[s]), or the
               time since the network management subsystem was last
               restarted, whichever is less.  Zero shall be returned
               if the unit is not on battery power."
       ::= { upsBattery 2 }

   upsEstimatedMinutesRemaining OBJECT-TYPE
       SYNTAX     PositiveInteger
       UNITS      "minutes"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "An estimate of the time to battery charge depletion
               under the present load conditions if the utility power
               is off and remains off, or if it were to be lost and
               remain off."
       ::= { upsBattery 3 }

   upsEstimatedChargeRemaining OBJECT-TYPE
       SYNTAX     INTEGER (0..100)
       UNITS      "percent"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "An estimate of the battery charge remaining expressed
               as a percent of full charge."
       ::= { upsBattery 4 }

   upsBatteryVoltage OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 Volt DC"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The magnitude of the present battery voltage[0.1 Volt]."
       ::= { upsBattery 5 }

   upsBatteryCurrent OBJECT-TYPE
       SYNTAX     Integer32
       UNITS      "0.1 Amp DC"
       MAX-ACCESS read-only


       STATUS     current
       DESCRIPTION
               "The present battery current[0.1 Amp]."
       ::= { upsBattery 6 }

   upsBatteryTemperature OBJECT-TYPE
       SYNTAX     Integer32
       UNITS      "degrees Centigrade"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The ambient temperature at or near the UPS Battery
               casing[degrees Centigrade]."
       ::= { upsBattery 7 }
	   
   upsEnvTemperature OBJECT-TYPE
       SYNTAX     Integer32
       UNITS      "degrees Centigrade"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The environment temperature near the UPS casing[degrees Centigrade]."
       ::= { upsBattery 8 }
	   
	upsBatteryCapacity
		OBJECT-TYPE
       SYNTAX     Integer32
       UNITS      "ampere*hour"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "Capacity of the battery set by web[ampere*hour]."
       ::= { upsBattery 9 }
	   
	upsBatterySetTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of battery set time from web interface[UNIX Timestamp]"
    ::= { upsBattery 10 }
	
	upsBatteryReplaceTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of battery replace time from web interface[UNIX Timestamp]"
    ::= { upsBattery 11 }

   --
   -- Input Group
   --

   upsInput              OBJECT IDENTIFIER ::= { ups 3 }

   upsInputLineBads OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "A count of the number of times the input entered an
               out-of-tolerance condition as defined by the
               manufacturer.  This count is incremented by one each
               time the input transitions from zero out-of-tolerance
               lines to one or more input lines out-of-tolerance."
       ::= { upsInput 1 }

   upsInputNumLines OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The number of input lines utilized in this device.
               This variable indicates the number of rows in the
               input table."
       ::= { upsInput 2 }


   upsInputFrequency OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 Hertz"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present input frequency[0.1 Hertz]."
       ::= { upsInput 3 }

   upsInputVoltage OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "RMS Volts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The magnitude of the present input voltage[0.1 Volts]."


       ::= { upsInput 4 }

   upsInputCurrent OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 RMS Amp"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The magnitude of the present input current[0.1 Amp]."
       ::= { upsInput 5 }

   upsInputTruePower OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The magnitude of the present input true power."
       ::= { upsInput 6 }

   --
   -- The Output group.
   --

   upsOutput             OBJECT IDENTIFIER ::= { ups 4 }

   upsOutputSource OBJECT-TYPE
       SYNTAX     INTEGER {
           other(1),
           none(2),
           normal(3),
           bypass(4),
           battery(5),
           booster(6),
           reducer(7)
       }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present source of output power.  The enumeration
               none(2) indicates that there is no source of output
               power (and therefore no output power), for example,
               the system has opened the output breaker."
       ::= { upsOutput 1 }

   upsOutputFrequency OBJECT-TYPE
       SYNTAX     NonNegativeInteger


       UNITS      "0.1 Hertz"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present output frequency[0.1 Hertz]"
       ::= { upsOutput 2 }

   upsOutputNumLines OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The number of output lines utilized in this device.
               This variable indicates the number of rows in the
               output table."
       ::= { upsOutput 3 }

   
   upsOutputVoltage OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "RMS Volts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present output voltage[0.1 Volts]."
       ::= { upsOutput 4 }

   upsOutputCurrent OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 RMS Amp"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present output current[0.1 Amp]."
       ::= { upsOutput 5}

   upsOutputPower OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present output true power[Watts]."
       ::= { upsOutput 6 }

   upsOutputPercentLoad OBJECT-TYPE
       SYNTAX     INTEGER (0..200)
       UNITS      "percent"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The percentage of the UPS power capacity presently
               being used on this output line, i.e., the greater of
               the percent load of true power capacity and the
               percent load of VA."
       ::= { upsOutput 7 }


   --
   -- The Bypass group.
   --

   upsBypass             OBJECT IDENTIFIER ::= { ups 5 }

   upsBypassFrequency OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 Hertz"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass frequency."
       ::= { upsBypass 1 }

   upsBypassNumLines OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The number of bypass lines utilized in this device.
               This entry indicates the number of rows in the bypass
               table."
       ::= { upsBypass 2 }


   upsBypassVoltage OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "RMS Volts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass voltage."
       ::= { upsBypass 3 }

   upsBypassCurrent OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 RMS Amp"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass current."
       ::= { upsBypass 4 }

   upsBypassPower OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present true power conveyed by the bypass."
       ::= { upsBypass 5 }


--
   -- The Alarm group.
   --

   upsAlarm              OBJECT IDENTIFIER ::= { ups 6 }

   upsAlarmsPresent OBJECT-TYPE
       SYNTAX     Gauge32
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present number of active alarm conditions."
       ::= { upsAlarm 1 }

   

   --
   -- Well known alarm conditions.
   --
   upsAlarmOnBattery OBJECT-TYPE
		SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The UPS is drawing power from the batteries."
       ::= { upsAlarm  2 }

   upsAlarmLowBattery OBJECT-TYPE
		SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The remaining battery run-time is less than or equal
               to upsConfigLowBattTime."
       ::= { upsAlarm  3 }

   upsAlarmDepletedBattery OBJECT-TYPE
		SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The UPS will be unable to sustain the present load
               when and if the utility power is lost."
       ::= { upsAlarm  4 }

   upsAlarmTempBad OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "A temperature is out of tolerance."
       ::= { upsAlarm  5 }

   upsAlarmInputBad OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "An input condition is out of tolerance."
       ::= { upsAlarm  6 }

   upsAlarmOutputBad OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "An output condition (other than OutputOverload) is
               out of tolerance."
       ::= { upsAlarm  7 }

   upsAlarmOutputOverload OBJECT-TYPE
SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The output load exceeds the UPS output capacity."
       ::= { upsAlarm  8 }

   upsAlarmOnBypass OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The Bypass is presently engaged on the UPS."
       ::= { upsAlarm  9 }

   upsAlarmBypassBad OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The Bypass is out of tolerance."
       ::= { upsAlarm 10 }

   upsAlarmOutputOffAsRequested OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The UPS has shutdown as requested, i.e., the output
               is off."
       ::= { upsAlarm 11 }

   upsAlarmUpsOffAsRequested OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The entire UPS has shutdown as commanded."
       ::= { upsAlarm 12 }

   upsAlarmChargerFailed OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "An uncorrected problem has been detected within the
               UPS charger subsystem."
       ::= { upsAlarm 13 }

   upsAlarmUpsOutputOff OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The output of the UPS is in the off state."
       ::= { upsAlarm 14 }

   upsAlarmUpsSystemOff OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The UPS system is in the off state."
       ::= { upsAlarm 15 }


   upsAlarmFanFailure OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The failure of one or more fans in the UPS has been
               detected."
       ::= { upsAlarm 16 }

   upsAlarmFuseFailure OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The failure of one or more fuses has been detected."
       ::= { upsAlarm 17 }

   upsAlarmGeneralFault OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "A general fault in the UPS has been detected."
       ::= { upsAlarm 18 }

   upsAlarmDiagnosticTestFailed OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The result of the last diagnostic test indicates a
               failure."
       ::= { upsAlarm 19 }

   upsAlarmCommunicationsLost OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "A problem has been encountered in the communications
               between the agent and the UPS."
       ::= { upsAlarm 20 }

   upsAlarmAwaitingPower OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The UPS output is off and the UPS is awaiting the
               return of input power."
       ::= { upsAlarm 21 }

   upsAlarmShutdownPending OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "A upsShutdownAfterDelay countdown is underway."
       ::= { upsAlarm 22 }

   upsAlarmShutdownImminent OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "The UPS will turn off power to the load in less than
               5 seconds; this may be either a timed shutdown or a
               low battery shutdown."
       ::= { upsAlarm 23 }

   upsAlarmTestInProgress OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "A test is in progress, as initiated and indicated by
               the Test Group.  Tests initiated via other
               implementation-specific mechanisms can indicate the
               presence of the testing in the alarm table, if
               desired, via a OBJECT-IDENTITY macro in the MIB
               document specific to that implementation and are
               outside the scope of this OBJECT-IDENTITY."
       ::= { upsAlarm 24 }
	   
   upsAlarmBatteryBad OBJECT-TYPE
   SYNTAX     NonNegativeInteger
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
               "One or more batteries have been determined to require
               replacement."
       ::= { upsAlarm  25 }
	   
	   
	   
	   
   --
   -- The Bypass group.
   --

   upsTest             OBJECT IDENTIFIER ::= { ups 7 }

   upsTestId OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 Hertz"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass frequency."
       ::= { upsTest 1 }

   upsTestSpinLock OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The number of bypass lines utilized in this device.
               This entry indicates the number of rows in the bypass
               table."
       ::= { upsTest 2 }


   upsTestResultsSummary OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "RMS Volts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass voltage."
       ::= { upsTest 3 }

   upsTestResultsDetail OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 RMS Amp"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass current."
       ::= { upsTest 4 }

   upsTestStartTime OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present true power conveyed by the bypass."
       ::= { upsTest 5 }
	   
   upsTestElapsedTime OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "Watts"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present true power conveyed by the bypass."
       ::= { upsTest 6 }
	   
	   
   --
   -- The Bypass group.
   --

   upsControl             OBJECT IDENTIFIER ::= { ups 8 }

   upsShutdownType OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 Hertz"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present bypass frequency."
       ::= { upsControl 1 }

   upsShutdownAfterDelay OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The number of bypass lines utilized in this device.
               This entry indicates the number of rows in the bypass
               table."
       ::= { upsControl 2 }


   upsStartupAfterDelay OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "RMS Volts"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present bypass voltage."
       ::= { upsControl 3 }

   upsRebootWithDuration OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "0.1 RMS Amp"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present bypass current."
       ::= { upsControl 4 }

   upsAutoRestart OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "Watts"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present true power conveyed by the bypass."
       ::= { upsControl 5 }
	   
	   
   --
   -- The Bypass group.
   --

   upsEnviroment             OBJECT IDENTIFIER ::= { ups 9 }

   upsEnvDiscreteInput1 OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "ON/OFF"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The present bypass frequency."
       ::= { upsEnviroment 1 }

   upsEnvDiscreteInput2 OBJECT-TYPE
       SYNTAX     NonNegativeInteger
	   UNITS      "ON/OFF"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The number of bypass lines utilized in this device.
               This entry indicates the number of rows in the bypass
               table."
       ::= { upsEnviroment 2 }


   upsEnvDry1 OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "ON/OFF"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present bypass voltage."
       ::= { upsEnviroment 3 }

   upsEnvDry2 OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "ON/OFF"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present bypass current."
       ::= { upsEnviroment 4 }

   upsEnvDry3 OBJECT-TYPE
       SYNTAX     NonNegativeInteger
       UNITS      "ON/OFF"
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "The present true power conveyed by the bypass."
       ::= { upsEnviroment 5 }
	   
   --
   -- The Bypass group.
   --


upsThreePhase            OBJECT IDENTIFIER ::= { IMPULS 2 }
   
upsThreePhaseBatteryGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 1 }

upsThreePhaseInputGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 2 }

upsThreePhaseOutputGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 3 }

upsThreePhaseBypassGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 4 }

upsThreePhaseDCandRectifierStatusGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 5 }

upsThreePhaseUPSStatusGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 6 }

upsThreePhaseFaultStatusGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 7 }

upsThreePhaseRatingGrp OBJECT IDENTIFIER 
   ::= { upsThreePhase 8 }

-----------------------
--ups ThreePhase group-
-----------------------
upsThreePhaseBatteryVoltage OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Battery Voltage"
   ::= { upsThreePhaseBatteryGrp 1 }


upsThreePhaseBatteryCapacityPercentage OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Battery Capacity Percentage"
   ::= { upsThreePhaseBatteryGrp 2 }


upsThreePhaseBatteryTimeRemain OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Battery Time Remain (unit is Minute)"
   ::= { upsThreePhaseBatteryGrp 3 }


upsThreePhaseBatteryCurrent OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Battery Electric Current"
   ::= { upsThreePhaseBatteryGrp 4 }


upsThreePhaseBatteryTemperature OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Battery Temperature"
   ::= { upsThreePhaseBatteryGrp 5 }


upsThreePhaseInputFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Input Frequency"
   ::= { upsThreePhaseInputGrp 1 }


upsThreePhaseInputVoltageR OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Input VoltageR"
   ::= { upsThreePhaseInputGrp 2 }


upsThreePhaseInputVoltageS OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Input VoltageS"
   ::= { upsThreePhaseInputGrp 3 }


upsThreePhaseInputVoltageT OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Input VoltageT"
   ::= { upsThreePhaseInputGrp 4 }


upsThreePhaseOutputFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output Frequency"
   ::= { upsThreePhaseOutputGrp 1 }


upsThreePhaseOutputVoltageR OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output VoltageR"
   ::= { upsThreePhaseOutputGrp 2 }


upsThreePhaseOutputVoltageS OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output VoltageS"
   ::= { upsThreePhaseOutputGrp 3 }


upsThreePhaseOutputVoltageT OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output VoltageT"
   ::= { upsThreePhaseOutputGrp 4 }


upsThreePhaseOutputLoadPercentageR OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Load PercentageR"
   ::= { upsThreePhaseOutputGrp 5 }


upsThreePhaseOutputLoadPercentageS OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Load PercentageS"
   ::= { upsThreePhaseOutputGrp 6 }


upsThreePhaseOutputLoadPercentageT OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Load PercentageT"
   ::= { upsThreePhaseOutputGrp 7 }


upsThreePhaseBypassSourceFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass Frequency"
   ::= { upsThreePhaseBypassGrp 1 }


upsThreePhaseBypssSourceVoltageR OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass VoltageR"
   ::= { upsThreePhaseBypassGrp 2 }


upsThreePhaseBypssSourceVoltageS OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass VoltageS"
   ::= { upsThreePhaseBypassGrp 3 }


upsThreePhaseBypssSourceVoltageT OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass VoltageT"
   ::= { upsThreePhaseBypassGrp 4 }


upsThreePhaseDCandRectifierStatusRecRotError OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Rectifier Rotation Error"
   ::= { upsThreePhaseDCandRectifierStatusGrp 1 }


upsThreePhaseDCandRectifierStatusLowBatteryShutdown OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Low Battery Shutdown"
   ::= { upsThreePhaseDCandRectifierStatusGrp 2 }


upsThreePhaseDCandRectifierStatusLowBattery OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Low Battery"
   ::= { upsThreePhaseDCandRectifierStatusGrp 3 }


upsThreePhaseDCandRectifierStatusInAndOut OBJECT-TYPE
        SYNTAX INTEGER {
                        threeInOneOut(2),
                        threeInThreeOut(3) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "In And Put"
   ::= { upsThreePhaseDCandRectifierStatusGrp 4 }


upsThreePhaseDCandRectifierStatusBatteryStatus OBJECT-TYPE
        SYNTAX INTEGER {
                        backup(4),
                        acnormal(5) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Back Status"
   ::= { upsThreePhaseDCandRectifierStatusGrp 5 }


upsThreePhaseDCandRectifierStatusChargeStatus OBJECT-TYPE
        SYNTAX INTEGER {
                        boost(6),
                        float(7),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Charge Status"
   ::= { upsThreePhaseDCandRectifierStatusGrp 6 }


upsThreePhaseDCandRectifierStatusRecOperating OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Rectifier Operating"
   ::= { upsThreePhaseDCandRectifierStatusGrp 7 }


upsThreePhaseUPSStatusBypassFreqFail OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass Status"
   ::= { upsThreePhaseUPSStatusGrp 1 }


upsThreePhaseUPSStatusManualBypassBreaker OBJECT-TYPE
        SYNTAX INTEGER {
                        close(8),
                        open(9) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Breaker Status"
   ::= { upsThreePhaseUPSStatusGrp 2 }


upsThreePhaseUPSStatusACStatus OBJECT-TYPE
        SYNTAX INTEGER {
                        normal(10),
                        abnormal(11) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "AC Status"
   ::= { upsThreePhaseUPSStatusGrp 3 }


upsThreePhaseUPSStaticSwitchMode OBJECT-TYPE
        SYNTAX INTEGER {
                        invermode(12),
                        bypassmode(13) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Switch Mode"
   ::= { upsThreePhaseUPSStatusGrp 4 }


upsThreePhaseUPSStatusInverterOperating OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Operating"
   ::= { upsThreePhaseUPSStatusGrp 5 }


upsThreePhaseFaultStatusEmergencyStop OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Emergency Stop"
   ::= { upsThreePhaseFaultStatusGrp 1 }


upsThreePhaseFaultStatusHighDCShutdown OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "High DC Shutdown"
   ::= { upsThreePhaseFaultStatusGrp 2 }


upsThreePhaseFaultStatusBypassBreaker OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass Breaker"
   ::= { upsThreePhaseFaultStatusGrp 3 }


upsThreePhaseFaultStatusOverLoad OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Over Load"
   ::= { upsThreePhaseFaultStatusGrp 4 }


upsThreePhaseFaultStatusInverterOutputFail OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output Fail"
   ::= { upsThreePhaseFaultStatusGrp 5 }


upsThreePhaseFaultStatusOverTemperature OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Over Temperature"
   ::= { upsThreePhaseFaultStatusGrp 6 }


upsThreePhaseFaultStatusShortCircuit OBJECT-TYPE
        SYNTAX INTEGER {
                        yes(14),
                        no(16) }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Short Circuit"
   ::= { upsThreePhaseFaultStatusGrp 7 }


upsThreePhaseRatingRectifierVoltage OBJECT-TYPE
        SYNTAX DisplayString
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Rectifier Voltage"
   ::= { upsThreePhaseRatingGrp 1 }


upsThreePhaseRatingRectifierFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Rectifier Frequency"
   ::= { upsThreePhaseRatingGrp 2 }


upsThreePhaseRatingBypassVoltage OBJECT-TYPE
        SYNTAX DisplayString
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass Voltage"
   ::= { upsThreePhaseRatingGrp 3 }


upsThreePhaseRatingBypassFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Bypass Frequency"
   ::= { upsThreePhaseRatingGrp 4 }


upsThreePhaseRatingOutputVoltage OBJECT-TYPE
        SYNTAX DisplayString
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output Voltage"
   ::= { upsThreePhaseRatingGrp 5 }


upsThreePhaseRatingOutputFrequency OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Output Frequency"
   ::= { upsThreePhaseRatingGrp 6 }


upsThreePhaseRatingBatteryVoltage OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Battery Voltage"
   ::= { upsThreePhaseRatingGrp 7 }


upsThreePhaseRatingPower OBJECT-TYPE
        SYNTAX DisplayString
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Power Rating"
   ::= { upsThreePhaseRatingGrp 8 }





   --
   -- notifications, i.e., traps
   --
   --upsTraps              OBJECT IDENTIFIER ::= { upsMIB 2 }

   -- This section defines the well-known notifications sent by
   -- UPS agents.
   -- Care must be taken to insure that no particular notification
   -- is sent to a single receiving entity more often than once
   -- every five seconds.
   


communicationLost TRAP-TYPE
        ENTERPRISE IMPULS
	DESCRIPTION
    "SEVERE: Communication to the UPS has been lost.  Steps
    to reestablish communication are in progress."
        --#TYPE "IMPULS UPS: Communication failure"
        --#SUMMARY "Communication to the UPS has been lost."
        --#ARGUMENTS { }
        --#SEVERITY CRITICAL
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE DEGRADED
	::=  1 
	 
	 

upsOverLoad TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "SEVERE: The UPS has sensed a load greater than 100 percent
                of its rated capacity."
        --#TYPE "IMPULS UPS: UPS overload"
        --#SUMMARY "The UPS has sensed a load greater than 100 percent of its rated capacity."
        --#ARGUMENTS { }
        --#SEVERITY CRITICAL
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE DEGRADED
::=  2 



upsOnBattery TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The UPS has switched to battery backup power."
        --#TYPE "IMPULS UPS: On battery"
        --#SUMMARY "The UPS has switched to battery backup power."
        --#ARGUMENTS { }
        --#SEVERITY MAJOR
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE OPERATIONAL
 ::=  3 
 
 
 
 upsLowBattery TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "SEVERE: The UPS batteries are low and will soon be exhausted.
                If utility power is not restored the UPS will put itself
                to 'sleep' and immediately cut power to the load."
        --#TYPE "IMPULS UPS: Low battery"
        --#SUMMARY "The UPS batteries are low and will soon be exhausted."
        --#ARGUMENTS { }
        --#SEVERITY CRITICAL
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE DEGRADED
 ::=  4 
 
 
 
communicationEstablished TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "INFORMATION: Communication with the UPS has been
                established."
        --#TYPE "IMPULS UPS: Communication established"
        --#SUMMARY "Communication with the UPS has been established."
        --#ARGUMENTS { }
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE OPERATIONAL
 ::=  5 
 
 
 
 powerRestored TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "INFORMATION: Utility power has been restored."
        --#TYPE "IMPULS UPS: Utility restored"
        --#SUMMARY "Normal power has been restored to the UPS."
        --#ARGUMENTS { }
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE OPERATIONAL
 ::=  6 
 
 
 
 returnFromLowBattery TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "INFORMATION: The UPS has returned from a low battery
                condition."
        --#TYPE "IMPULS UPS: Battery normal"
        --#SUMMARY "The UPS has returned from a low battery condition."
        --#ARGUMENTS { }
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE OPERATIONAL
 ::=  7 

 
 
 
envOverTemperature TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The environment temperature exceed the normal value."
 ::=  8 


envTemperatureNormal TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "INFORMATION: The environment temperature is normal."
 ::=  9 
 
 
 
upsOverTemperature TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: UPS Temperature Overrun"
 ::=  10 


upsLoadNormal TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: UPS Load Normal"
 ::=  11 


upsTempNormal TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: UPS temperature Normal"
 ::=  12 
 
 
 
 upsOnBypass TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The UPS is entering 'bypass' mode."
 ::=  13 
 
 
 
 upsBypassReturn TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "The UPS return from Bypass Mode"
 ::=   14 
 
 
 
 upsNoBattery TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "The UPS Battery voltage is 0"
 ::=  15 
 
upsBatteryPres TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "The UPS Battery voltage more than 0"
 ::=  16 
 
 
 
 upsTurnedOff TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The UPS has been turned 'off' by the
                management station."
        --#TYPE "IMPULS UPS: Switching off"
        --#SUMMARY "The UPS is being switched off by a management station."
        --#ARGUMENTS { }
        --#SEVERITY MAJOR
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE NONOPERATIONAL
 ::=  17 
 
 upsReturnFromTurnedOff TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The UPS has been turned 'off' by the
                management station."
        --#TYPE "IMPULS UPS: Switching off"
        --#SUMMARY "The UPS is being switched off by a management station."
        --#ARGUMENTS { }
        --#SEVERITY MAJOR
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE NONOPERATIONAL
 ::=  18
 
 LoadLevelOverLimit TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The UPS has been turned 'off' by the
                management station."
        --#TYPE "IMPULS UPS: Switching off"
        --#SUMMARY "The UPS is being switched off by a management station."
        --#ARGUMENTS { }
        --#SEVERITY MAJOR
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE NONOPERATIONAL
 ::=  19
 
 LoadLevelReturn TRAP-TYPE
        ENTERPRISE IMPULS
        DESCRIPTION 
                "WARNING: The UPS has been turned 'off' by the
                management station."
        --#TYPE "IMPULS UPS: Switching off"
        --#SUMMARY "The UPS is being switched off by a management station."
        --#ARGUMENTS { }
        --#SEVERITY MAJOR
        --#TIMEINDEX 1
        --#HELP ""
        --#HELPTAG 0
        --#STATE NONOPERATIONAL
 ::=  20
 
 
 

END