-- EATON Environmental Rack Monitor MIB
-- MIB for Rack Monitor Environmental Monitoring System
--
-- { iso org(3) dod(6) internet(1) private(4) enterprises(1) powerware(534)
-- product(6) dataCenter(7) environmentalMonitor(1)
-- ==============================================================================================
---
---     Revision History
---
---     v1.00a1  05-Oct-2006     Kevin Lee
---                              Created
---     v1.00a2  17-Oct-2006     Kenneth Liu
---                              1. Renew the item, rmConfigDateFormat, to support 4 formats
---     v1.00a3  20-Oct-2006     Kenneth Liu
---                              1. "enterprises 536" -> "enterprises 534"
---     v1.00a4  27-Nov-2006     Kenneth Liu
---                              1. Updated file based on the MIB form EATON.
---     v1.00a5  05-Jan-2007     Kenneth Liu
---                              1. Fixed some wording errors, it can pass the verification (Level:4)
---                                 on the http://wwwsnmp.cs.utwente.nl/ietf/mibs/validate/
---     v1.00a6  19-Jan-2007     Kenneth Liu
---                              1. Replace "sensorConfig" with "sc".
---                              2. Replace "SensorConfig" with "Sc".
---                              3. Replace "rackMonitor" with "rm".
---                              4. Replace "RackMonitor" with "Rm".
---                              5. Replace "sensorMonitor" with "sm".
---                              6. Replace "SensorMonitor" with "Sm".
---     v1.00b6  05-Feb-2007     Kenneth Liu
---                              1. Version Change.
---     v2.00    10-May-2007     Kenneth Liu
---                              1. Version Change.
---

RackMonitor-MIB DEFINITIONS ::= BEGIN

IMPORTS
  enterprises
    FROM RFC1155-SMI
  OBJECT-TYPE
    FROM RFC-1212
  DisplayString
    FROM RFC1213-MIB
  TRAP-TYPE
    FROM RFC-1215;

powerware       		OBJECT IDENTIFIER ::= { enterprises 534 }
product         		OBJECT IDENTIFIER ::= { powerware 6 }
dataCenter      		OBJECT IDENTIFIER ::= { product 7 }
environmentalMonitor 		OBJECT IDENTIFIER ::= { dataCenter 1 }
insObjects      		OBJECT IDENTIFIER ::= { environmentalMonitor 1 }
rmTraps   			OBJECT IDENTIFIER ::= { environmentalMonitor 2 }
                			
rmIdent   			OBJECT IDENTIFIER ::= { insObjects 1 }
rmConfig  			OBJECT IDENTIFIER ::= { insObjects 2 }
sensorMonitor   		OBJECT IDENTIFIER ::= { insObjects 3 }
sensorConfig    		OBJECT IDENTIFIER ::= { insObjects 4 }

-- ===========================================================================
--
-- insIdentification
--
--     All objects in this group except for upsIdentName and
--     upsIdentAttachedDevices are set at device initialization
--     and remain static.
--
-- ===========================================================================

insIdentManufacturer OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..31))
       ACCESS read-only
       STATUS     mandatory
       DESCRIPTION
               "The name of the RackMonitor manufacturer."
       ::= { rmIdent 1 }

insIdentModel OBJECT-TYPE
      SYNTAX DisplayString (SIZE (0..63))
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
          "The RackMonitor Model designation."
      ::= { rmIdent 2 }

insIdentAgentSoftwareVersion OBJECT-TYPE
      SYNTAX DisplayString (SIZE(0..31))
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
               "The RackMonitor software/firmware version.  This variable may or
               may not have the same value as
               upsIdentUPSSoftwareVersion in some implementations."
      ::= { rmIdent 3 }

insIdentName OBJECT-TYPE
       SYNTAX     DisplayString (SIZE(0..31))
       ACCESS read-write
       STATUS     mandatory
       DESCRIPTION
               "A string identifying the RackMonitor.  This object should be
               set by the administrator."
       ::= { rmIdent 4 }

-- ===========================================================================
--
-- rmConfig
--
-- ===========================================================================

rmConfigMibVersion OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The version of MIB spec."
        ::= { rmConfig 1}

rmConfigNetwork   OBJECT IDENTIFIER ::= { rmConfig 2 }

rmConfigIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                " The ip address that NMS can identify the managed
                device"
        ::= { rmConfigNetwork 1 }

rmConfigGateway OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                " The default gateway that allow device managed
                through routers "
        ::= { rmConfigNetwork 2 }

rmConfigSubnetMask OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                " Internet address subnet mask"
        ::= { rmConfigNetwork 3 }

rmConfigDateTime   OBJECT IDENTIFIER ::= { rmConfig 3 }

rmConfigDate OBJECT-TYPE
        SYNTAX DisplayString (SIZE (10..10))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The date in Environmental Rack Monitor, format is (dd/mm/yyyy)"
        ::= { rmConfigDateTime 1}

rmConfigTime OBJECT-TYPE
        SYNTAX DisplayString (SIZE (8..8))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The time in Environmental Rack Monitor, format is (hh:mm:ss)"
        ::= { rmConfigDateTime 2}

rmConfigTimeFromNtp OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/disable update of the date and time from the NTP server."
        ::= { rmConfigDateTime 3}

rmConfigNtpIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "NTP IP address."
        ::= { rmConfigDateTime 4}

rmConfigNtpTimeZone OBJECT-TYPE
        SYNTAX INTEGER {
                gMT-1200(1),
                gMT-1100(2),
                gMT-1000(3),
                gMT-0900(4),
                gMT-0800(5),
                gMT-0700(6),
                gMT-0600(7),
                gMT-0500(8),
                gMT-0400(9),
                gMT-0330(10),
                gMT-0300(11),
                gMT-0200(12),
                gMT-0100(13),
                gMT-0000(14),
                gMT0100(15),
                gMT0200(16),
                gMT0300(17),
                gMT0330(18),
                gMT0400(19),
                gMT0500(20),
                gMT0530(21),
                gMT0600(22),
                gMT0700(23),
                gMT0800(24),
                gMT0900(25),
                gMT1000(26),
                gMT1100(27),
                gMT1200(28)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                " Enable/disable update of the date and time from the NTP server."
        ::= { rmConfigDateTime 5}

rmConfigDayLightSaving OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/disable daylight saving for NTP time, if enabled, the time 
                 obtained from the NTP will be set one hour in advance to reflect daylight saving status."
        ::= { rmConfigDateTime 6}

rmConfigLog   OBJECT IDENTIFIER ::= { rmConfig 4 }

rmConfigHistoryLogFrequency OBJECT-TYPE
        SYNTAX INTEGER (5..3600) -- in seconds
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The frequency of the history log update. The value
                 is in seconds"
        ::= { rmConfigLog 1}

rmConfigExtHistoryLogFrequency      OBJECT-TYPE
        SYNTAX INTEGER (1..1440) -- in minutes
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The frequency of the extended history log update.
                 The value is in seconds"
        ::= { rmConfigLog 2}

rmConfigConfigurationLog OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                " Enable/Disable Environmental Rack Monitor parameters change logging."
        ::= { rmConfigLog 3}

rmConfigDhcpStatue OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable or Disable DHCP/BootP capability"
        ::= { rmConfig 5}

rmConfigPingStatue OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable or Disable Ping Echo capability"
        ::= { rmConfig 6}

rmConfigTftpStatue OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable or Disable TFTP network upgrade capability"
        ::= { rmConfig 7}

rmConfigTelnet   OBJECT IDENTIFIER ::= { rmConfig 8 }

rmConfigTelnetStatue OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable or Disable telnet access"
        ::= { rmConfigTelnet 1}

rmConfigTelnetPortNumber            OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                 "Setting the server port for telnet."
        ::= { rmConfigTelnet 2}

rmConfigHttp   OBJECT IDENTIFIER ::= { rmConfig 9 }

rmConfigHttpStatue OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable or Disable HTTP access"
        ::= { rmConfigHttp 1}

rmConfigHttpPortNumber            OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                 "Setting the server port of HTTP."
        ::= { rmConfigHttp 2}

rmConfigHttpSecurity OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable HTTP access for read-only users"
        ::= { rmConfigHttp 3}


rmConfigSnmp   OBJECT IDENTIFIER ::= { rmConfig 10 }
rmConfigSnmpStatue OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable or Disable SNMP access"
        ::= { rmConfigSnmp 1}

rmConfigSnmpPortNumber            OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                 "Setting the server port for SNMP."
        ::= { rmConfigSnmp 2}

rmConfigControl   OBJECT IDENTIFIER ::= { rmConfig 11 }
rmConfigResetToDefault OBJECT-TYPE
        SYNTAX  INTEGER {
                reset(1),
                nothing(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Reset all parameters of Environmental Rack Monitor to default values"
        ::= { rmConfigControl 1}

rmConfigRestart OBJECT-TYPE
        SYNTAX  INTEGER {
                restart(1),
                nothing(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Restart rm"
        ::= { rmConfigControl 2}

rmConfigTrap   OBJECT IDENTIFIER ::= { rmConfig 12 }
rmConfigTrapRetryCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The count of repeat traps to send to NMS before trap
                 acknowledge received."
        ::= { rmConfigTrap 1}

rmConfigTrapRetryTime OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The time between retry traps sent to NMS."
        ::= { rmConfigTrap 2}

rmConfigTrapAckSignature OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The signature of trap acknowledge."
        ::= { rmConfigTrap 3}


rmConfigPollRate OBJECT-TYPE
        SYNTAX INTEGER (3..60)
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                " The frequency that the Rack Monitor will read from sensors
                (unit : second)."
        ::= { rmConfig 13}

rmConfigTrapsReceiversTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RmConfigTrapsReceiversEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of managers to send traps to.  The number of
                 entries is given by the value of rmConfigNumTrapReceivers"
        ::= { rmConfig 14}


rmConfigTrapsReceiversEntry OBJECT-TYPE
        SYNTAX RmConfigTrapsReceiversEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "The managers to send traps to."
        INDEX  { trapsIndex}
        ::= { rmConfigTrapsReceiversTable 1 }

RmConfigTrapsReceiversEntry ::=
        SEQUENCE {
                trapsIndex
                        INTEGER,
                trapsReceiverAddr
                        IpAddress,
                receiverCommunityString
                         DisplayString,
                receiverSeverityLevel
                        INTEGER,
                receiverDescription
                         DisplayString
        }

trapsIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2147483647)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The index to a trap receiver entry."
        ::= { rmConfigTrapsReceiversEntry 1 }

trapsReceiverAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The IP address of the manager to send a trap to."
        ::= { rmConfigTrapsReceiversEntry 2 }

receiverCommunityString OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..19))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The community name to use in the trap when
                 sent to the manager."
        ::= { rmConfigTrapsReceiversEntry 3 }

receiverSeverityLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                informational(1),
                warning(2),
                severe(3)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The severity level of traps to be received by this manager."
        ::= { rmConfigTrapsReceiversEntry 4 }

receiverDescription OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..31))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Description of trap receivers"
        ::= { rmConfigTrapsReceiversEntry 5 }

rmConfigAccessControlTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RmConfigAccessControlEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of managers which can access rm with private
                community string."
        ::= { rmConfig 15}

rmConfigAccessControlEntry OBJECT-TYPE
        SYNTAX RmConfigAccessControlEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "The managers."
        INDEX  { accessIndex}
        ::= { rmConfigAccessControlTable 1 }

RmConfigAccessControlEntry ::=
        SEQUENCE {
                accessIndex
                        INTEGER,
                accessControlAddr
                        IpAddress,
                accessCommunityString
                         DisplayString,
                accessControlMode
                        INTEGER
        }

accessIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2147483647)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The index to a access control entry."
        ::= { rmConfigAccessControlEntry 1 }

accessControlAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The IP address of the manager to access RackMonitor"
        ::= { rmConfigAccessControlEntry 2 }

accessCommunityString OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..19))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The community name to use in the manager when
                 access RackMonitor"
        ::= { rmConfigAccessControlEntry 3 }

accessControlMode OBJECT-TYPE
        SYNTAX  INTEGER {
                readOnly (1),
                read-write (2),
                notAccess (3)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Access type, only read/Write access type can change parameter
                 of RackMonitor"
        ::= { rmConfigAccessControlEntry 4 }

rmConfigTemperatureUnit OBJECT-TYPE
        SYNTAX  INTEGER {
                celsius(1),
                fahrenheit(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The temperature unit of the system, can be Celsius or Fahrenheit"
        ::= { rmConfig 16}

rmConfigDateFormat OBJECT-TYPE
        SYNTAX  INTEGER {
                mm-dd-yyyy(1),
                dd-mm-yyyy(2),
                yyyy-mm-dd(3),
                dd-mmm-yyyy(4)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The date format of the system, can be dd/mm/yyyy or mm/dd/yyyy"
        ::= { rmConfig 17}

-- Sensor Monitoring

smSensorNumber OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of sensors that can be monitored."
        ::= { sensorMonitor 1}

smSensorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SmSensorEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of sensor devices to be monitored."
        ::= { sensorMonitor 2}

smSensorEntry OBJECT-TYPE
        SYNTAX SmSensorEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "The sensor device."
        INDEX  { smDeviceIndex}
        ::= { smSensorTable 1 }

SmSensorEntry ::=
        SEQUENCE {
                smDeviceIndex
                        INTEGER,
                smDeviceStatus
                        INTEGER,
                smDeviceTemperature
                        INTEGER,
                smDeviceTemperatureAlarm
                        INTEGER,
                smDeviceHumidity
                        INTEGER,
                smDeviceHumidityAlarm
                        INTEGER,
                smAlarm1
                        INTEGER,
                smAlarm2
                        INTEGER
        }

smDeviceIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2147483647)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The index to a sensor device entry."
        ::= { smSensorEntry 1 }

smDeviceStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                unknow(1),
                disabled(2),
                eMD-HT(3),
                eMD-T(4)
                }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The device type plugged into RackMonitor."
        ::= { smSensorEntry 2 }

smDeviceTemperature OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The temperature of sensor on device RackMonitor, the unit is 0.1 degree."
        ::= { smSensorEntry 3 }

smDeviceTemperatureAlarm OBJECT-TYPE
        SYNTAX  INTEGER {
                unknow(1),
                disabled(2),
                normal(3),
                lowWarning(4),
                lowCritical(5),
                highWarning(6),
                highCritical(7)
                }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The status of temperature sensor on device RackMonitor."
        ::= { smSensorEntry 4 }

smDeviceHumidity OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The humidity of sensor on device RackMonitor, the unit is 0.1%."
        ::= { smSensorEntry 5 }

smDeviceHumidityAlarm OBJECT-TYPE
        SYNTAX  INTEGER {
                unknow(1),
                disabled(2),
                normal(3),
                lowWarning(4),
                lowCritical(5),
                highWarning(6),
                highCritical(7)
                }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The device type plugged into RackMonitor."
        ::= { smSensorEntry 6 }

smAlarm1 OBJECT-TYPE
        SYNTAX  INTEGER {
                unknow(1),
                disabled(2),
                active(3),
                inactive(4)
                }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The device type plugged into RackMonitor."
        ::= { smSensorEntry 7 }

smAlarm2 OBJECT-TYPE
        SYNTAX  INTEGER {
                unknow(1),
                disabled(2),
                active(3),
                inactive(4)
                }
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The device type plugged into RackMonitor."
        ::= { smSensorEntry 8 }

-- Sensor Configuration

scSensorNumber OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The number of sensors that can be plugged into RackMonitor."
        ::= { sensorConfig 1}

scSensorTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ScSensorEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "A list of sensor devices to be configured."
        ::= { sensorConfig 2}

scSensorEntry OBJECT-TYPE
        SYNTAX ScSensorEntry
        ACCESS not-accessible
        STATUS mandatory
        DESCRIPTION
                "The sensor device."
        INDEX  { scDeviceIndex}
        ::= { scSensorTable 1 }

ScSensorEntry ::=
        SEQUENCE {
                scDeviceIndex
                        INTEGER,
                scDeviceName
                         DisplayString,
                scDeviceState
                        INTEGER
        }

scDeviceIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2147483647)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "The index to a sensor device entry."
        ::= { scSensorEntry 1 }

scDeviceName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of the sensor device for identification."
        ::= { scSensorEntry 2 }

scDeviceState OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(1),
                auto(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The setup of sensor device type."
        ::= { scSensorEntry 3 }

scSensor1    OBJECT IDENTIFIER ::= { sensorConfig 3 }

scSensor1DeviceName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of sensor device."
        ::= { scSensor1 1}

scSensor1DeviceState OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(1),
                auto(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The setup of sensor device type."
        ::= { scSensor1 2 }

scSensor1Temperature    OBJECT IDENTIFIER ::= { scSensor1 3 }

scSensor1TemperatureName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The temperature sensor name."
        ::= { scSensor1Temperature 1 }

scSensor1TemperatureLowWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set point to trigger low warning alarm."
        ::= { scSensor1Temperature 2 }


scSensor1TemperatureLowCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger low critical alarm."
        ::= { scSensor1Temperature 3 }

scSensor1TemperatureHighWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high warning alarm."
        ::= { scSensor1Temperature 4 }

scSensor1TemperatureHighCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high critical alarm."
        ::= { scSensor1Temperature 5 }

scSensor1TemperatureHysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to prevent too many alarms when temperature is hovering around the
                 set threshold."
        ::= { scSensor1Temperature 6 }

scSensor1TemperatureCalibration OBJECT-TYPE
        SYNTAX INTEGER {
                temperatureIncrease0Point0(1),
                temperatureIncrease0Point5(2),
                temperatureIncrease1Point0(3),
                temperatureIncrease1Point5(4),
                temperatureIncrease2Point0(5),
                temperatureIncrease2Point5(6),
                temperatureIncrease3Point0(7),
                temperatureMinus0Point5(8),
                temperatureMinus1Point0(9),
                temperatureMinus1Point5(10),
                temperatureMinus2Point0(11),
                temperatureMinus2Point5(12),
                temperatureMinusPoint0(13)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to get the correct temperature according to the reference temperature."
        ::= { scSensor1Temperature 7 }

scSensor1TemperatureLowWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low warning alarm."
        ::= { scSensor1Temperature 8 }

scSensor1TemperatureLowCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low critical alarm."
        ::= { scSensor1Temperature 9 }

scSensor1TemperatureHighWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high warning alarm."
        ::= { scSensor1Temperature 10 }

scSensor1TemperatureHighCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/disable the set point to trigger high critical alarm."
        ::= { scSensor1Temperature 11 }

scSensor1Humidity    OBJECT IDENTIFIER ::= { scSensor1 4 }

scSensor1HumdityName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The humidity sensor name."
        ::= { scSensor1Humidity 1 }

scSensor1HumidityLowWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set point to trigger low warning alarm."
        ::= { scSensor1Humidity 2 }


scSensor1HumidityLowCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger low critical alarm."
        ::= { scSensor1Humidity 3 }

scSensor1HumidityHighWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high warning alarm."
        ::= { scSensor1Humidity 4 }

scSensor1HumidityHighCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high critical alarm."
        ::= { scSensor1Humidity 5 }

scSensor1HumidityHysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to prevent too many alarms when Humidity is hovering around the
                 set threshold."
        ::= { scSensor1Humidity 6 }

scSensor1HumidityCalibration OBJECT-TYPE
        SYNTAX INTEGER {
                humidityIncrease0Point0(1),
                humidityIncrease1Point0(2),
                humidityIncrease2Point0(3),
                humidityIncrease3Point0(4),
                humidityIncrease4Point0(5),
                humidityIncrease5Point0(6),
                humidityIncrease6Point0(7),
                humidityMinus1Point0(8),
                humidityMinus2Point0(9),
                humidityMinus3Point0(10),
                humidityMinus4Point0(11),
                humidityMinus5Point0(12),
                humidityMinus6Point0(13)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to get the correct temperature according to your reference temperature."
        ::= { scSensor1Humidity 7 }

scSensor1HumidityLowWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low warning alarm."
        ::= { scSensor1Humidity 8 }

scSensor1HumidityLowCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low critical alarm."
        ::= { scSensor1Humidity 9 }

scSensor1HumidityHighWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high warning alarm."
        ::= { scSensor1Humidity 10 }

scSensor1HumidityHighCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high critical alarm."
        ::= { scSensor1Humidity 11 }

scSensor1Alarm1    OBJECT IDENTIFIER ::= { scSensor1 5 }

scSensor1Alarm1Name OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of alarm-1."
        ::= { scSensor1Alarm1 1 }

scSensor1Alarm1State OBJECT-TYPE
        SYNTAX INTEGER {
                disabled(1),
                normalOpen(2),
                normalClose(3),
                highActive(4),
                lowActive(5)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Setup the signal type to trigger alarm."
        ::= { scSensor1Alarm1 2 }

scSensor1Alarm1Hysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to delay the alarm triggered when event occurs."
        ::= { scSensor1Alarm1 3 }

scSensor1Alarm2    OBJECT IDENTIFIER ::= { scSensor1 6 }

scSensor1Alarm2Name OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of alarm-1."
        ::= { scSensor1Alarm2 1 }

scSensor1Alarm2State OBJECT-TYPE
        SYNTAX INTEGER {
                disabled(1),
                normalOpen(2),
                normalClose(3),
                highActive(4),
                lowActive(5)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Setup the signal type to trigger alarm."
        ::= { scSensor1Alarm2 2 }

scSensor1Alarm2Hysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to delay the alarm triggered when event occurs."
        ::= { scSensor1Alarm2 3 }

scSensor2    OBJECT IDENTIFIER ::= { sensorConfig 4 }

scSensor2DeviceName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of sensor device."
        ::= { scSensor2 1}

scSensor2DeviceState OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(1),
                auto(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The setup of sensor device type."
        ::= { scSensor2 2 }

scSensor2Temperature    OBJECT IDENTIFIER ::= { scSensor2 3 }

scSensor2TemperatureName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The temperature sensor name."
        ::= { scSensor2Temperature 1 }

scSensor2TemperatureLowWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set point to trigger low warning alarm."
        ::= { scSensor2Temperature 2 }


scSensor2TemperatureLowCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger low critical alarm."
        ::= { scSensor2Temperature 3 }

scSensor2TemperatureHighWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high warning alarm."
        ::= { scSensor2Temperature 4 }

scSensor2TemperatureHighCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high critical alarm."
        ::= { scSensor2Temperature 5 }

scSensor2TemperatureHysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to prevent too many alarms when temperature is hovering around the
                 set threshold."
        ::= { scSensor2Temperature 6 }

scSensor2TemperatureCalibration OBJECT-TYPE
        SYNTAX INTEGER {
                temperatureIncrease0Point0(1),
                temperatureIncrease0Point5(2),
                temperatureIncrease1Point0(3),
                temperatureIncrease1Point5(4),
                temperatureIncrease2Point0(5),
                temperatureIncrease2Point5(6),
                temperatureIncrease3Point0(7),
                temperatureMinus0Point5(8),
                temperatureMinus1Point0(9),
                temperatureMinus1Point5(10),
                temperatureMinus2Point0(11),
                temperatureMinus2Point5(12),
                temperatureMinusPoint0(13)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to get the correct temperature according to your reference temperature."
        ::= { scSensor2Temperature 7 }

scSensor2TemperatureLowWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low warning alarm."
        ::= { scSensor2Temperature 8 }

scSensor2TemperatureLowCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low critical alarm."
        ::= { scSensor2Temperature 9 }

scSensor2TemperatureHighWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high warning alarm."
        ::= { scSensor2Temperature 10 }

scSensor2TemperatureHighCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high critical alarm."
        ::= { scSensor2Temperature 11 }

scSensor2Humidity    OBJECT IDENTIFIER ::= { scSensor2 4 }

scSensor2HumdityName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The humidity sensor name."
        ::= { scSensor2Humidity 1 }

scSensor2HumidityLowWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set point to trigger low warning alarm."
        ::= { scSensor2Humidity 2 }


scSensor2HumidityLowCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger low critical alarm."
        ::= { scSensor2Humidity 3 }

scSensor2HumidityHighWarning OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high warning alarm."
        ::= { scSensor2Humidity 4 }

scSensor2HumidityHighCritical OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The threshold to trigger high critical alarm."
        ::= { scSensor2Humidity 5 }

scSensor2HumidityHysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to prevent too many alarms when Humidity is hovering around the
                 set threshold."
        ::= { scSensor2Humidity 6 }

scSensor2HumidityCalibration OBJECT-TYPE
        SYNTAX INTEGER {
                humidityIncrease0Point0(1),
                humidityIncrease1Point0(2),
                humidityIncrease2Point0(3),
                humidityIncrease3Point0(4),
                humidityIncrease4Point0(5),
                humidityIncrease5Point0(6),
                humidityIncrease6Point0(7),
                humidityMinus1Point0(8),
                humidityMinus2Point0(9),
                humidityMinus3Point0(10),
                humidityMinus4Point0(11),
                humidityMinus5Point0(12),
                humidityMinus6Point0(13)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to get the correct temperature according to the reference temperature."
        ::= { scSensor2Humidity 7 }

scSensor2HumidityLowWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low warning alarm."
        ::= { scSensor2Humidity 8 }

scSensor2HumidityLowCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger low critical alarm."
        ::= { scSensor2Humidity 9 }

scSensor2HumidityHighWarningStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high warning alarm."
        ::= { scSensor2Humidity 10 }

scSensor2HumidityHighCriticalStatus OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Enable/Disable the set point to trigger high critical alarm."
        ::= { scSensor2Humidity 11 }

scSensor2Alarm1    OBJECT IDENTIFIER ::= { scSensor2 5 }

scSensor2Alarm1Name OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of alarm-1."
        ::= { scSensor2Alarm1 1 }

scSensor2Alarm1State OBJECT-TYPE
        SYNTAX INTEGER {
                disabled(1),
                normalOpen(2),
                normalClose(3),
                highActive(4),
                lowActive(5)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Setup the signal type to trigger alarm."
        ::= { scSensor2Alarm1 2 }

scSensor2Alarm1Hysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to delay the alarm triggered when event occurs."
        ::= { scSensor2Alarm1 3 }

scSensor2Alarm2    OBJECT IDENTIFIER ::= { scSensor2 6 }

scSensor2Alarm2Name OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The name of alarm-1."
        ::= { scSensor2Alarm2 1 }

scSensor2Alarm2State OBJECT-TYPE
        SYNTAX INTEGER {
                disabled(1),
                normalOpen(2),
                normalClose(3),
                highActive(4),
                lowActive(5)
        }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "Setup the signal type to trigger alarm."
        ::= { scSensor2Alarm2 2 }

scSensor2Alarm2Hysteresis OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The set value to delay the alarm triggered when event occurs."
        ::= { scSensor2Alarm2 3 }


-- ===========================================================================
-- upsTraps
--
-- Traps group
-- ===========================================================================

   -- This section defines the well-known notifications sent by
   -- Environmental Rack Monitor 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.

rmCommunicationRestored TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: Communication between RackMonitor and sensor had
                 established."
        ::= 1

rmCommunicationLost TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: Communication between RackMonitor and sensor had
                 lost."
        ::= 2

rmAlarm1Inactive TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: Alarm1 of sensor had return from active state."
        ::= 3

rmAlarm1Active TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: Alarm1 has become active."
        ::= 4

rmAlarm2Inactive TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: Alarm2 of sensor has returned to normal state."
        ::= 5

rmAlarm2Active TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: Alarm2 had became active."
        ::= 6

rmTemperatureNotHighWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The temperature of sensor had return from High warning to normal."
        ::= 7

rmTemperatureHighWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: The temperature of sensor was higher than High warning set point."
        ::= 8

rmTemperatureNotLowWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The temperature of sensor had return from low warning to normal."
        ::= 9

rmTemperatureLowWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: The temperature of sensor was lower than low warning set point."
        ::= 10

rmTemperatureNotHighCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The temperature of sensor lower than high critical set point."
        ::= 11

rmTemperatureHighCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "CRITICAL: The temperature of sensor was higher than high critical set point."
        ::= 12

rmTemperatureNotLowCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The temperature of sensor was higher than low critical set point."
        ::= 13

rmTemperatureLowCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "CRITICAL: The temperature of sensor was lower than low critical set point."
        ::= 14
rmHumidityNotHighWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The humidity of sensor had return from High warning to normal."
        ::= 15

rmHumidityHighWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: The humidity of sensor was higher than High warning set point."
        ::= 16

rmHumidityNotLowWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The humidity of sensor had return from low warning to normal."
        ::= 17

rmHumidityLowWarning TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "WARNING: The humidity of sensor was lower than low warning set point."
        ::= 18

rmHumidityNotHighCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The humidity of sensor lower than high critical set point."
        ::= 19

rmHumidityHighCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "CRITICAL: The humidity of sensor was higher than high critical set point."
        ::= 20

rmHumidityNotLowCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "INFORMATION: The humidity of sensor was higher than low critical set point."
        ::= 21

rmHumidityLowCritical TRAP-TYPE
        ENTERPRISE rmTraps
        DESCRIPTION
                "CRITICAL: The humidity of sensor was lower than low critical set point."
        ::= 22

END
