--
-- DCP-ENV-MON-MIB.mib
-- Smartoptics DCP Environment Monitoring Enterprise Specific MIB.
--
-- Copyright (c) 2023, Smartoptics
-- All rights reserved
--

DCP-ENV-MON-MIB DEFINITIONS ::= BEGIN

IMPORTS
    dcpGeneric
        FROM DCP-MIB
    FanMode, FanStatus, DcpTenths
        FROM SO-TC-MIB
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    DisplayString, TEXTUAL-CONVENTION
        FROM SNMPv2-TC;


-- 1.3.6.1.4.1.30826.2.2.6
dcpEnv MODULE-IDENTITY
    LAST-UPDATED "202303301800Z"
    ORGANIZATION "Smartoptics."
    CONTACT-INFO "http://www.smartoptics.com"
    DESCRIPTION "This is the enterprise specific DCP ENV MON MIB for Smartoptics"

    REVISION "202303301800Z"
    DESCRIPTION "The initial revision"
::= { dcpGeneric 6 }


-- 
-- Node definitions
-- 

-- 1.3.6.1.4.1.30826.2.2.6.1
dcpEnvMon OBJECT IDENTIFIER ::= { dcpEnv 1 }


-- Temperature

-- 1.3.6.1.4.1.30826.2.2.6.1.1
dcpEnvMonTemperature OBJECT IDENTIFIER ::= { dcpEnvMon 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.1.1
dcpEnvMonTemperatureObjects OBJECT IDENTIFIER ::= { dcpEnvMonTemperature 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.1.1.1
dcpEnvMonTemperatureTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DcpEnvMonTemperatureEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Table of temperatures."
::= { dcpEnvMonTemperatureObjects 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.1.1.1.1
dcpEnvMonTemperatureEntry OBJECT-TYPE
    SYNTAX DcpEnvMonTemperatureEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Entry in table of temperatures."
    INDEX { dcpEnvMonTemperatureIndex }
::= { dcpEnvMonTemperatureTable 1 }

-- type used in dcpEnvMonTemperatureEntry
DcpEnvMonTemperatureEntry ::=
    SEQUENCE {
        dcpEnvMonTemperatureIndex
            Unsigned32,
        dcpEnvMonTemperatureDescription
            DisplayString,
        dcpEnvMonTemperatureValue
            DcpTenths
    }

-- 1.3.6.1.4.1.30826.2.2.6.1.1.1.1.1.1
dcpEnvMonTemperatureIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Unique index assigned to each temperature sensor."
::= { dcpEnvMonTemperatureEntry 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.1.1.1.1.2
dcpEnvMonTemperatureDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The name of the temperature sensor."
::= { dcpEnvMonTemperatureEntry 2 }

-- 1.3.6.1.4.1.30826.2.2.6.1.1.1.1.1.3
dcpEnvMonTemperatureValue OBJECT-TYPE
    SYNTAX DcpTenths
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The temperature measured by the sensor in units of 0.1 degree Celsius."
::= { dcpEnvMonTemperatureEntry 3 }


-- Power consumption

-- 1.3.6.1.4.1.30826.2.2.6.1.2
dcpEnvMonPowerConsumption OBJECT IDENTIFIER ::= { dcpEnvMon 2 }

-- 1.3.6.1.4.1.30826.2.2.6.1.2.1
dcpEnvMonPowerConsumptionObjects OBJECT IDENTIFIER ::= { dcpEnvMonPowerConsumption 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.2.1.1
dcpEnvMonPowerConsumptionTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DcpEnvMonPowerConsumptionEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Table of power consumption."
::= { dcpEnvMonPowerConsumptionObjects 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.2.1.1.1
dcpEnvMonPowerConsumptionEntry OBJECT-TYPE
    SYNTAX DcpEnvMonPowerConsumptionEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Entry in table of power consumption."
    INDEX { dcpEnvMonPowerConsumptionIndex }
::= { dcpEnvMonPowerConsumptionTable 1 }

-- type used in dcpEnvMonPowerConsumptionEntry
DcpEnvMonPowerConsumptionEntry ::=
    SEQUENCE {
        dcpEnvMonPowerConsumptionIndex
            Unsigned32,
        dcpEnvMonPowerConsumptionDescription
            DisplayString,
        dcpEnvMonPowerConsumptionValue
            Integer32
    }

-- 1.3.6.1.4.1.30826.2.2.6.1.2.1.1.1.1
dcpEnvMonPowerConsumptionIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Unique index assigned to each power consumption sensor."
::= { dcpEnvMonPowerConsumptionEntry 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.2.1.1.1.2
dcpEnvMonPowerConsumptionDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The name of the power consumption sensor."
::= { dcpEnvMonPowerConsumptionEntry 2 }

-- 1.3.6.1.4.1.30826.2.2.6.1.2.1.1.1.3
dcpEnvMonPowerConsumptionValue OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The power consumption in Watt measured by the sensor."
::= { dcpEnvMonPowerConsumptionEntry 3 }


-- Fan mode

-- 1.3.6.1.4.1.30826.2.2.6.1.3
dcpEnvMonFan OBJECT IDENTIFIER ::= { dcpEnvMon 3 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1
dcpEnvMonFanObjects OBJECT IDENTIFIER ::= { dcpEnvMonFan 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1
dcpEnvMonFanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DcpEnvMonFanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Table of fan modes."
::= { dcpEnvMonFanObjects 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1.1
dcpEnvMonFanEntry OBJECT-TYPE
    SYNTAX DcpEnvMonFanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Entry in table of fan modes."
    INDEX { dcpEnvMonFanIndex }
::= { dcpEnvMonFanTable 1 }

-- type used in dcpEnvMonFanEntry
DcpEnvMonFanEntry ::=
    SEQUENCE {
        dcpEnvMonFanIndex
            Unsigned32,
        dcpEnvMonFanDescription
            DisplayString,
        dcpEnvMonFanStatus
            FanStatus,
        dcpEnvMonFanMode
            FanMode,
        dcpEnvMonFanSpeed
            Unsigned32
    }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1.1.1
dcpEnvMonFanIndex OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Unique index assigned to each fan."
::= { dcpEnvMonFanEntry 1 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1.1.2
dcpEnvMonFanDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The name of the fan."
::= { dcpEnvMonFanEntry 2 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1.1.3
dcpEnvMonFanStatus OBJECT-TYPE
    SYNTAX FanStatus
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The status of the fan."
::= { dcpEnvMonFanEntry 3 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1.1.4
dcpEnvMonFanMode OBJECT-TYPE
    SYNTAX FanMode
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The fan mode."
::= { dcpEnvMonFanEntry 4 }

-- 1.3.6.1.4.1.30826.2.2.6.1.3.1.1.1.5
dcpEnvMonFanSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The fan speed (rpm)."
::= { dcpEnvMonFanEntry 5 }


END

-- 
-- DCP-ENV-MON-MIB.mib
-- 
