-- ****************************************************************************
-- *
-- * Module Name:   HMS033R8.MIB
-- *
-- * Description:   Implements SCTE-HMS-GEN-MIB for Outside Plant Generators
-- *
-- * Revision History:
-- *
-- * Date           Person         Company        Notes
-- * ==================================================  
-- * 2003-Jun-11    J. Ostrosky    Tollgrade
-- *                - New oil objects reordered to
-- *                end of section (standard MIB
-- *                editing)
-- *                - Added minor & major "generic"
-- *                alarm variables
-- *                - Added vendor OID for extensions
-- *                - Changed alarm object enumerations
-- *                to "noAlarm" and "alarm for
-- *                consistency with HMS 027
-- *                - Changed genGeneratorStatus
-- *                enumeration from runningExerciser
-- *                to runningTest (matches 022)
-- *                - Changed genEquipmentControl
-- *                description for clarity
-- *                - Edited for 80 columns
-- *                - Final planned edits:
-- *                (a) remove this revision history
-- *
-- * 2003-Jan-21    T. Brillhart   Acterna
-- *                Removed SYNTAX INTEGER { ...,
-- *                [startOverride(4)] } and
-- *                associated behavioral
-- *                description from
-- *                genEquipmentControl
-- *
-- *  2003-Jan-21   T. Brillhart   Acterna       
-- *                removed genEquipmentControlAccess
-- *
-- *  2003-Jan-21   T. Brillhart   Acterna
-- *                added new genOilLevel object
-- *
-- * 2002-Nov-05    T. Brillhart   Acterna
-- *                changed file description from
-- *                ...Generators to ...Outside
-- *                Plant Generators
-- *
-- * 2002-Nov-05    T. Brillhart   Acterna
-- *                genNumberOfGenerators,
-- *                SYNTAX INTEGER changed from 
-- *                (1..15 )to( 1..8 )
-- *
-- * 2002-Nov-05    T. Brillhart   Acterna
-- *                added the following note
-- *                where appropriate 
-- *                This item requires entries in
-- *                the discrete property table."
-- *
-- * 2002-Nov-05    T. Brillhart   Acterna
-- *                proposal by J. Ostrosky (Tollgrade)
-- *                added to include
-- *                SYNTAX INTEGER { ..., [startOverride(4)] }
-- *                and associated behavioral description to
-- *                genEquipmentControl { genDeviceEntry 22 }
-- *
-- * 2002-Nov-05    T. Brillhart   Acterna
-- *                added genEquipmentControlAccess { genDeviceEntry 23 }
-- *                as proposed by J. Ostrosky (Tollgrade)
-- *
-- * 2001-Jan-15    Luis Guzman    Acterna
-- *                genDeviceAddress ACCESS changed from not-accessible
-- *                to read-only in conformance with SNMPV1
-- *                genEnclosureTemperature range changed 
-- *                from 0..65535 to-40..80
-- *
-- * 2001-Jan-15    Luis Guzman    Acterna
-- *                genDeviceAddress ACCESS changed from read-only to
-- *                not-accessible
-- *
-- * 2000-Aug-24    Luis Guzman    Acterna
-- *                Changed comments in genVBatIgnition and
-- *                genEnclosureTemperature
-- *                to indicate that measurements are reported
-- *                in 1/100 engineering units.
-- *
-- * 2000-Aug-24    Luis Guzman    Acterna
-- *                Moved definition of genIdent to SCTE-HMS-ROOTS.
-- *                Removed genControlMode.
-- *
-- * 2000-Jun-13    Luis Guzman    Cheetah Tech.
-- *                Removed genDeviceNumber
-- *                Made genDeviceAddress the index for genDeviceTable.
-- *
-- * 2000-Mar-03    Luis Guzman    Cheetah Tech.
-- *                Removed genDeviceType
-- *
-- * 1999-Jan-20    Luis Guzman    Cheetah Tech.
-- *                Original version
-- *
-- ****************************************************************************

SCTE-HMS-GEN-MIB DEFINITIONS ::= BEGIN


IMPORTS
     OBJECT-TYPE
          FROM RFC-1212
     genIdent
          FROM SCTE-HMS-ROOTS
    ;

-- /*************************************
-- * The Generator Group             *
-- *************************************/


genNumberOfGenerators OBJECT-TYPE
     SYNTAX INTEGER ( 1..8 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Number of generators connected to this NE."
     ::= { genIdent 1 }


genDeviceTable OBJECT-TYPE
     SYNTAX SEQUENCE OF GenDeviceEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "Table containing information about the individual 
           generators being monitored"
     ::= { genIdent 2 }
     
genDeviceEntry  OBJECT-TYPE
     SYNTAX GenDeviceEntry
     ACCESS not-accessible
     STATUS mandatory
     DESCRIPTION
          "List of information about each generator being monitored."
     INDEX { genDeviceAddress }
     ::= { genDeviceTable 1 }

GenDeviceEntry ::=
     SEQUENCE
     {
          genDeviceAddress
               INTEGER,

          genProtocolVersion
               INTEGER,

          genSoftwareVersion       
               OCTET STRING,

          genDeviceId
               OCTET STRING,

          genGasHazardOption
               INTEGER,

          genWaterIntrusionOption
               INTEGER,

          genPadShearOption
               INTEGER,

          genDoorOption
               INTEGER,

          genChargerOption
               INTEGER,

          genFuelOption
               INTEGER,

          genVBatIgnitionOption
               INTEGER,

          genTempOption
               INTEGER,

          genGeneratorStatus
               INTEGER,

          genGasHazard
               INTEGER,

          genWaterIntrusion
               INTEGER,

          genPadShear
               INTEGER,

          genEnclosureDoor
               INTEGER,

          genCharger
               INTEGER,

          genFuel
               INTEGER,

          genVBatIgnition
               INTEGER,

          genEnclosureTemperature
               INTEGER,
               
          genEquipmentControl
               INTEGER,     

          genOilOption
               INTEGER,

          genMinorAlarmSupport
               INTEGER,

          genMajorAlarmSupport
               INTEGER,

          genOil
               INTEGER,

          genMinorAlarm
               INTEGER,

          genMajorAlarm
               INTEGER,

          genVendorOID
               OBJECT IDENTIFIER

     }

genDeviceAddress OBJECT-TYPE
     SYNTAX INTEGER ( 1..15 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Index into the psDeviceTable.
           Address of Generator on the RS-485 Path"
     ::= { genDeviceEntry 1 }
     
-- * Generator Configuration                      
                      
genProtocolVersion OBJECT-TYPE
     SYNTAX INTEGER ( 0..255 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Version of the SCTE HMS protocol implemented in the monitored
          equipment.  The 'Protocol Version' implementation will comply 
          with the defined protocol in the HMS022 document with the 
          corresponding revision number.  Example:  A power supply 
          implementing all commands and responses defined in HMS022 Rev 4 
          would return a value of '0x04' in this field."
     ::= { genDeviceEntry 2 }

genSoftwareVersion OBJECT-TYPE
     SYNTAX OCTET STRING (SIZE(8))
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "The contents of this field are vendor specific. The intent
          is to provide a text representation of the power supply or
          generator system software version. Any printable ASCII
          characters ca be  included in this field. NULL (0x00)
          characters are non-printable and are used to fill any unused
          locations following the text data"
           
     ::= { genDeviceEntry 3 }                     
     
genDeviceId OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE(32))
      ACCESS      read-only
      STATUS mandatory
      DESCRIPTION
          "The content of this field is vendor specific. The intent is
          to provide manufacturer and/or product specific ASCII text
          information that will propagate to the manager's  console
          verbatim. The following special characters are defined in
          association with this  field:

          '\'  Used to cause a new line on the console display.
          Example: 'ALPHA\XM2 9015' would appear at the monitoring
          station as :
                   ALPHA
                   XM2 9015"
     ::= { genDeviceEntry 4 }                     

genGasHazardOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if gas hazard sensor is installed."

     ::= { genDeviceEntry 5 }  
     
genWaterIntrusionOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if water intrusion sensor is installed."

     ::= { genDeviceEntry 6 }   

genPadShearOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if pad shear sensor is installed."

     ::= { genDeviceEntry 7 }

genDoorOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if separate generator door is installed."

     ::= { genDeviceEntry 8 }
        
genChargerOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if charger fail signal is supported."

     ::= { genDeviceEntry 9 }
       
genFuelOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if low fuel detection is supported."

     ::= { genDeviceEntry 10 }

genVBatIgnitionOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if engine ignition battery voltage is monitored."

     ::= { genDeviceEntry 11 }   

genTempOption   OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if engine enclosure temperature is monitored."

     ::= { genDeviceEntry 12 }
            
-- * Generator Data
            
genGeneratorStatus OBJECT-TYPE
     SYNTAX INTEGER { off(1), runningTest (2), running(3), fail(4) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines the current state of generator operation.
              1 = Off
              2 = Running(test)
              3 = Running
              4 = Fail (A condition preventing the generator
                          from functioning)

            This item requires entries in the discrete property table."

     ::= { genDeviceEntry 13 }
             
             
genGasHazard OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "The concentration of hydrocarbon fuel in the 
           generator enclosure has exceeded safe limits. 
           Generator operation is suspended. The alarm 
           is cleared when the sensor is reset via the 
           'Reset Latched Generator Alarms' command.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 14 }
        
genWaterIntrusion OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Water level within the generator or fuel enclosure
           has exceeded safe limits for generator operation.
           Generator operation is suspended while this alarm 
           is active. The alarm is reset when the water returns
           to a safe level.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 15 }

genPadShear OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Indicates that the generator or fuel enclosure
           has shifted from its mounting position. Generator 
           operation is suspended. The alarm is reset when
           the unit its returned to its original position.

     This item requires entries in the discrete property table."
            
     ::= { genDeviceEntry 16 }

genEnclosureDoor OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Indicates current status of the generator
           and/or auxiliary fuel enclosure door.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 17 }
        
genCharger OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Indicates if the ignition battery charger is operating.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 18 }
        
genFuel OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Indicates if the engine's fuel supply is sufficient
           for extended operation. Alarm is reset when fuel is
           replenished.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 19 }

genVBatIgnition OBJECT-TYPE
     SYNTAX INTEGER ( 0..65535 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Scaled representation of the generator's
          ignition battery in 1/100 Volts.

     This item requires entries in the discrete property table."
     
     ::= { genDeviceEntry 20 }

genEnclosureTemperature OBJECT-TYPE
     SYNTAX INTEGER ( -40..80 )
     ACCESS read-only
     STATUS mandatory
     DESCRIPTION
          "Temperature inside generator's enclosure in degrees C. 

     This item requires entries in the discrete property table."
     
     ::= { genDeviceEntry 21 }

genEquipmentControl OBJECT-TYPE
     SYNTAX INTEGER {
          stopGenerator(1),
          startGenerator(2),
          resetLatchedAlarms(3) }
     ACCESS read-write
     STATUS optional
     DESCRIPTION
          "When written, the appropriate corresponding command action
          is sent to the generator.

          1 = End generator test
          2 = Start generator test
          3 = Reset latched generator alarms which 
          may be preventing a generator start

          This object is intentionally simplistic to allow for maximum
          flexibility.   It IS assumed that the generator has
          sufficient intelligence to prevent an overcrank condition.

          Example 1: From a single SET and corresponding single
          'start' command,  the generator may automatically attempt
          starting 'n' times before giving up.

          Example 2: The transponder may be simple and send only the
          single 'start' command, and the EMS/end user is responsible
          for making 'n' attempts (by performing additional SETs to
          this object.)

          The choice between the methods depends on the specific
          application and vendor equipment."

     ::= { genDeviceEntry 22 }

genOilOption OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if oil pressure is monitored."

     ::= { genDeviceEntry 23 }

genMinorAlarmSupport OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if the minor alarm indicator is supported."

     ::= { genDeviceEntry 24 }

genMajorAlarmSupport OBJECT-TYPE
     SYNTAX INTEGER { notInstalled(1), installed(2) }
     ACCESS read-only              
     STATUS mandatory
     DESCRIPTION
          "Defines if the major alarm indicator is supported."

     ::= { genDeviceEntry 25 }

genOil OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS optional
     DESCRIPTION
          "Indicates if the engine's oil is adequate for safe operation. 
          Alarm is reset when the condition returns to normal.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 26 }

genMinorAlarm OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS optional
     DESCRIPTION
          "Indicates if the generator is indicating a minor alarm.
          The generator requires attention, but does not require an immediate
          visit to the generator.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 27 }

genMajorAlarm OBJECT-TYPE
     SYNTAX INTEGER { noAlarm(1), alarm(2) }
     ACCESS read-only              
     STATUS optional
     DESCRIPTION
          "Indicates if the generator is indicating a major alarm.
          The generator requires immediate attention, and should be visited
          immediately to remedy the situation.

     This item requires entries in the discrete property table."

     ::= { genDeviceEntry 28 }

genVendorOID OBJECT-TYPE
     SYNTAX OBJECT IDENTIFIER
     ACCESS read-only
     STATUS optional
     DESCRIPTION 
           "This object provides a means for a vendor to
           point to a vendor specific extension of this MIB."

     ::= { genDeviceEntry 29 }

END 

