DKSF-57-1-X-X-1 DEFINITIONS ::= BEGIN
 
IMPORTS
        enterprises,
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        Integer32,
        Unsigned32,
        Gauge32,
        NOTIFICATION-TYPE
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        DisplayString
                FROM SNMPv2-TC
        snmpTraps
                FROM SNMPv2-MIB ;
                
 
netPingV4 MODULE-IDENTITY 
        LAST-UPDATED "202103110000Z"  
        ORGANIZATION "Alentis Electronics" 
        CONTACT-INFO 
                "developers@netping.ru" 
        DESCRIPTION 
                "Generic MIB for NetPing remote sensing and control" 
              

        REVISION "202103110000Z"
        DESCRIPTION
                "Initial release"

        ::= { lightcom 57 }



lightcom OBJECT IDENTIFIER::={enterprises 25728 }

FixedPoint1000 ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d-3"
        STATUS current
        DESCRIPTION "Fixed-point value as Integer, 3 decimal gigits after point (i.e. value*1000 rounded to Integer)"
        SYNTAX INTEGER


npRelay OBJECT IDENTIFIER::={ lightcom 5500 }

npRelayTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpRelayEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Relay control table"
    ::= { npRelay 5 }

npRelayEntry     OBJECT-TYPE
    SYNTAX     NpRelayEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Relay/outlet table row"
    INDEX     { npRelayN }
    ::= { npRelayTable 1 }

NpRelayEntry     ::= SEQUENCE {
    npRelayN               INTEGER,
    npRelayMode            INTEGER,
    npRelayStartReset      INTEGER,
    npRelayMemo            DisplayString,
    npRelayFlip            INTEGER,
    npRelayState           INTEGER
    }

npRelayN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The N of output relay"
    ::= { npRelayEntry 1 }

npRelayMode  OBJECT-TYPE
     SYNTAX     INTEGER {
                   flip(-1),
                   off(0),
                   on(1)
     }
     MAX-ACCESS     read-write
     STATUS     current
     DESCRIPTION     "Control of relay:
                     -1 - flip between on(1) and off(0)
                      0 - switch off
                      1 - switch on"
     ::={npRelayEntry  2}

npRelayStartReset  OBJECT-TYPE
     SYNTAX     INTEGER
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION     "Write 1 to start reset (switch relay off for some time)"
     ::={npRelayEntry 3}

npRelayMemo  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Relay memo"
     ::={npRelayEntry 6}

npRelayFlip  OBJECT-TYPE
     SYNTAX     INTEGER {
                   flip(-1)
     }
     MAX-ACCESS     read-write
     STATUS     current
     DESCRIPTION     "Write -1 to flip between manual on and manual off states of relay"
     ::={npRelayEntry  14}

npRelayState  OBJECT-TYPE
     SYNTAX     INTEGER {
                   off(0),
                   on(1)
     }
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Actual relay state at the moment,
                      regardless of source of control.
                      0 - relay is off
                      1 - relay is on"
     ::={npRelayEntry  15}

npRelayTrapData OBJECT IDENTIFIER::={ npRelay 3 }

npRelayTrapN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The N of output relay"
    ::= { npRelayTrapData 1 }

npRelayTrapMode  OBJECT-TYPE
     SYNTAX     INTEGER {
                   off(0),
                   on(1)
     }
     MAX-ACCESS     read-write
     STATUS     current
     DESCRIPTION     "Relay position, w/o effect of temporary switch (reset):
                      0 - off
                      1 - on"
     ::={npRelayTrapData  2}

npRelayTrapMemo  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Relay Memo"
     ::={npRelayTrapData 6}

npRelayTrapState  OBJECT-TYPE
     SYNTAX     INTEGER {
                   off(0),
                   on(1)
     }
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Actual relay state at the moment,
                      0 - relay is off
                      1 - relay is on"
     ::={npRelayTrapData  15}

npRelayTrapCmdSrc  OBJECT-TYPE
     SYNTAX     INTEGER {
                   unknown(-1),
                   webInterface(1),
                   snmp(2),
                   sms(3),
                   httpApi(4),
                   watchdog(5),
                   schedule(6),
                   logic(7)
     }
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Source of command to switch Relay"
     ::={npRelayTrapData  18}

npRelayTrapDateTime  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Textual timestamp of event"
     ::={npRelayTrapData 19}

npRelayTrap OBJECT IDENTIFIER::={npRelay 6}
npRelayTrapAllEvents OBJECT IDENTIFIER::={npRelayTrap 127}

npRelayTrapAllChannels NOTIFICATION-TYPE
    OBJECTS {
        npRelayTrapN,
        npRelayTrapMode,
        npRelayTrapMemo,
        npRelayTrapState,
        npRelayTrapCmdSrc,
        npRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Status of Humidity has changed!"
    ::= { npRelayTrapAllEvents 99 }

npRelayTrapOff NOTIFICATION-TYPE
    OBJECTS {
        npRelayTrapN,
        npRelayTrapMode,
        npRelayTrapMemo,
        npRelayTrapState,
        npRelayTrapCmdSrc,
        npRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay switched off"
    ::= { npRelayTrap 100 }

npRelayTrapOn NOTIFICATION-TYPE
    OBJECTS {
        npRelayTrapN,
        npRelayTrapMode,
        npRelayTrapMemo,
        npRelayTrapState,
        npRelayTrapCmdSrc,
        npRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay switched on"
    ::= { npRelayTrap 101 }

npRelayTrapModeChange NOTIFICATION-TYPE
    OBJECTS {
        npRelayTrapN,
        npRelayTrapMode,
        npRelayTrapMemo,
        npRelayTrapState,
        npRelayTrapCmdSrc,
        npRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay mode changed"
    ::= { npRelayTrap 102 }

npRelayTrapReset NOTIFICATION-TYPE
    OBJECTS {
        npRelayTrapN,
        npRelayTrapMode,
        npRelayTrapMemo,
        npRelayTrapState,
        npRelayTrapCmdSrc,
        npRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay reset started"
    ::= { npRelayTrap 103 }

      

npPwrWdog OBJECT IDENTIFIER::={ lightcom 5800 }

npPwrWdogTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpPwrWdogEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Watchdog Control Table"
    ::= { npPwrWdog 3 }

npPwrWdogEntry     OBJECT-TYPE
    SYNTAX     NpPwrWdogEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Watchdog Control Table Row"
    INDEX     { npPwrWdogChannelN }
    ::= { npPwrWdogTable 1 }

NpPwrWdogEntry     ::= SEQUENCE {
    npPwrWdogChannelN               INTEGER,
    npPwrWdogResetsCounter          INTEGER,
    npPwrWdogRepeatingResetsCounter INTEGER,
    npPwrWdogMemo                   DisplayString
    }

npPwrWdogChannelN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The N of watchdog/power channel"
    ::= { npPwrWdogEntry 1 }

npPwrWdogResetsCounter  OBJECT-TYPE
     SYNTAX     INTEGER (0..65535)
     MAX-ACCESS     read-write
     STATUS     current
     DESCRIPTION     "Counter of watchdog resets
                      Write 0 to clear."
     ::={npPwrWdogEntry 4}

npPwrWdogRepeatingResetsCounter  OBJECT-TYPE
     SYNTAX     INTEGER (0..65535)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION     "Counter of continous failed
                      watchdog resets"
     ::={npPwrWdogEntry 5}

npPwrWdogMemo  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Watchdog channel memo"
     ::={npPwrWdogEntry 6}


npPwrWdogTrapData OBJECT IDENTIFIER::={ npPwrWdog 2 }

npPwrWdogTrapN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "N of Watchdog channel"
    ::= { npPwrWdogTrapData 1 }

npPwrWdogTrapMemo  OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "Watchdog/Relay memo"
     ::={npPwrWdogTrapData 6}

npPwrWdogTrapFailBitmap OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Failed adresses, bit 0 - A, bit 1 - B, bit 2 - C"
    ::= { npPwrWdogTrapData 13 }

npPwrWdogTrap OBJECT IDENTIFIER::={npPwrWdog 6}

npPwrWdogTrapReset NOTIFICATION-TYPE
    OBJECTS {
        npPwrWdogTrapN,
        npPwrWdogTrapMemo,
        npPwrWdogTrapFailBitmap
        }
    STATUS  current
    DESCRIPTION
        "Watchdog reset started"
    ::= { npPwrWdogTrap 100 }

npPwrWdogTrapSuspended NOTIFICATION-TYPE
    OBJECTS {
        npPwrWdogTrapN,
        npPwrWdogTrapMemo
        }
    STATUS  current
    DESCRIPTION
        "Watchdog resets suspended because of no effect"
    ::= { npPwrWdogTrap 101 }

npPwrWdogTrapResumed NOTIFICATION-TYPE
    OBJECTS {
        npPwrWdogTrapN,
        npPwrWdogTrapMemo
        }
    STATUS  current
    DESCRIPTION
        "Watchdog normal operation resumed, successful ping after resets was suspended"
    ::= { npPwrWdogTrap 102 }
    


npThermo OBJECT IDENTIFIER::={lightcom 8800}

npThermoTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpThermoEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Thermo Sensors Table"
    ::= { npThermo 1 }

npThermoEntry       OBJECT-TYPE
    SYNTAX     NpThermoEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Thermo Sensors Table Row"
    INDEX     { npThermoSensorN }
    ::= { npThermoTable 1 }

NpThermoEntry     ::= SEQUENCE {
    npThermoSensorN INTEGER,
    npThermoValue   INTEGER,
    npThermoStatus  INTEGER,
    npThermoLow     INTEGER,
    npThermoHigh    INTEGER,
    npThermoMemo    DisplayString,
    npThermoValuePrecise FixedPoint1000
    }

npThermoSensorN          OBJECT-TYPE
    SYNTAX     INTEGER (1..8)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The id of temperature sensor, 1 to 8"
    ::= { npThermoEntry 1 }

npThermoValue     OBJECT-TYPE
    SYNTAX     INTEGER (-60..280)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature, deg.C"
    ::= { npThermoEntry 2 }

npThermoStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  failed(0),
                  low(1),
                  norm(2),
                  high(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature status (0=fault, 1=underheat, 2=normal, 3=overheat)"
    ::= { npThermoEntry 3 }

npThermoLow      OBJECT-TYPE
    SYNTAX     INTEGER (-60..280)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Bottom margin of normal temperature range, deg.C"
    ::= { npThermoEntry 4 }

npThermoHigh     OBJECT-TYPE
    SYNTAX     INTEGER (-60..280)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Top margin of normal temperature range, deg.C"
    ::= { npThermoEntry 5 }

npThermoMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "T channel memo"
    ::= { npThermoEntry 6 }

npThermoValuePrecise     OBJECT-TYPE
    SYNTAX     FixedPoint1000
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature, deg.C, with fractional part 3 digits after point"
    ::= { npThermoEntry 7 }

npThermoTraps      OBJECT IDENTIFIER::={npThermo 2}
npThermoTrapPrefix OBJECT IDENTIFIER::={npThermoTraps 0}

npThermoTrapSensorN          OBJECT-TYPE
    SYNTAX     INTEGER (1..8)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The id of temperature sensor, 1 to 8"
    ::= { npThermoTraps 1 }

npThermoTrapValue     OBJECT-TYPE
    SYNTAX     INTEGER (-60..280)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature, deg.C"
    ::= { npThermoTraps 2 }

npThermoTrapStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  failed(0),
                  low(1),
                  norm(2),
                  high(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature status (0=fault, 1=underheat, 2=normal, 3=overheat)"
    ::= { npThermoTraps 3 }

npThermoTrapLow      OBJECT-TYPE
    SYNTAX     INTEGER (-60..280)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Bottom margin of normal temperature range, deg.C"
    ::= { npThermoTraps 4 }

npThermoTrapHigh     OBJECT-TYPE
    SYNTAX     INTEGER (-60..280)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Top margin of normal temperature range, deg.C"
    ::= { npThermoTraps 5 }

npThermoTrapMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "T channel memo"
    ::= { npThermoTraps 6 }

npThermoTrap NOTIFICATION-TYPE
OBJECTS {
    npThermoTrapSensorN,
    npThermoTrapValue,
    npThermoTrapStatus,
    npThermoTrapLow,
    npThermoTrapHigh,
    npThermoTrapMemo
        }
STATUS  current
DESCRIPTION
        "Status of Thermo sensor is changed (crossing of normal temp. range)"
::= { npThermoTrapPrefix 1 }

    

npIo  OBJECT IDENTIFIER::={lightcom 8900}

npIoTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpIoEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Digital Input/output Table"
    ::= { npIo 1 }

npIoEntry        OBJECT-TYPE
    SYNTAX     NpIoEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Digital Input/output Table Row"
    INDEX     { npIoLineN }
    ::= { npIoTable 1 }

NpIoEntry   ::= SEQUENCE {
    npIoLineN    INTEGER,
    npIoLevelIn  INTEGER,
    npIoLevelOut INTEGER,
    npIoMemo     DisplayString,
    npIoLevelLegend DisplayString,
    npIoPulseCounter        Counter32,
    npIoSinglePulseDuration INTEGER,
    npIoSinglePulseStart    INTEGER
    }

npIoLineN      OBJECT-TYPE
    SYNTAX     INTEGER (1..20)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Number of IO line, from 1 to max supported"
    ::= { npIoEntry 1 }

npIoLevelIn    OBJECT-TYPE
    SYNTAX     INTEGER (0..1)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Input level, 0 or 1"
    ::= { npIoEntry 2 }

npIoLevelOut   OBJECT-TYPE
    SYNTAX     INTEGER {
                 flip(-1),
                 low(0),
                 high(1)
                 }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Output level, 0 or 1.
                  Write -1 to flip output."
    ::= { npIoEntry 3 }

npIoMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "IO line memo"
    ::= { npIoEntry 6 }
    
npIoLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Legend for current logic level on the IO line"
    ::= { npIoEntry 7 }    

npIoPulseCounter   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Pulse Counter on IO input line (counts positive fronts)
                  Write 0 to reset."
    ::= { npIoEntry 9 }

npIoSinglePulseDuration   OBJECT-TYPE
    SYNTAX     INTEGER (100..25500)
    MAX-ACCESS    read-write
    STATUS     current
    DESCRIPTION  "Set duration of single pulse on IO output line,
                  100ms to 25500ms, min. step is 100ms"
    ::= { npIoEntry 12 }

npIoSinglePulseStart    OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS    read-write
    STATUS     current
    DESCRIPTION  "Write 1 to start single pulse on IO output.
                  Output will be inverted for time, specified by npIoSinglePulseDuration"
    ::= { npIoEntry 13 }



npIn  OBJECT IDENTIFIER::={lightcom 8910}

npInTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpInEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Discrete Inputs Table"
    ::= { npIn 1 }

npInEntry        OBJECT-TYPE
    SYNTAX     NpInEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Discrete Inputs Table Row"
    INDEX     { npInLineN }
    ::= { npInTable 1 }

NpInEntry   ::= SEQUENCE {
    npInLineN    INTEGER,
    npInLevelIn  INTEGER,
    npInMemo     DisplayString,
    npInLevelLegend DisplayString,
    npInPulseCounter   Counter32
    }

npInLineN      OBJECT-TYPE
    SYNTAX     INTEGER (1..16)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Number of the Input, from 1 to max supported"
    ::= { npInEntry 1 }

npInLevelIn    OBJECT-TYPE
    SYNTAX     INTEGER (0..1)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Input level, 0 or 1"
    ::= { npInEntry 2 }

npInMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Input memo"
    ::= { npInEntry 6 }

npInLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Legend for current logic level on the Input"
    ::= { npInEntry 7 }    

npInPulseCounter   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Pulse Counter on the Input (counts positive fronts)
                  Write 0 to reset."
    ::= { npInEntry 9 }


npInTraps      OBJECT IDENTIFIER::={npIn 2}
npInTrapPrefix OBJECT IDENTIFIER::={npInTraps 0}

npInTrapLineN OBJECT-TYPE
    SYNTAX     INTEGER (1..16)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Number of the Input"
    ::= { npInTraps 1 }

npInTrapLevelIn OBJECT-TYPE
    SYNTAX     INTEGER (0..1)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, new Input level, 0 or 1"
    ::= { npInTraps 2 }

npInTrapMemo OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Input memo"
    ::= { npInTraps 6 }

npInTrapLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Legend for current logic level on the Input"
    ::= { npInTraps 7 }

npInTrap NOTIFICATION-TYPE
    OBJECTS {
          npInTrapLineN,
          npInTrapLevelIn,
          npInTrapMemo,
          npInTrapLevelLegend
        }
    STATUS  current
    DESCRIPTION
        "Input Level is changed"
    ::= { npInTrapPrefix 1 }

    
npOut  OBJECT IDENTIFIER::={lightcom 8920}

npOutTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpOutEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Discrete Output Table"
    ::= { npOut 1 }

npOutEntry        OBJECT-TYPE
    SYNTAX     NpOutEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Discrete Output Table Row"
    INDEX     { npOutLineN }
    ::= { npOutTable 1 }

NpOutEntry   ::= SEQUENCE {
    npOutLineN    INTEGER,
    npOutLevelOut INTEGER,
    npOutMemo     DisplayString,
    npOutLevelLegend DisplayString,
    npOutPulseCounter        Counter32,
    npOutSinglePulseDuration INTEGER,
    npOutSinglePulseStart    INTEGER
    }

npOutLineN      OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Number of the Output, from 1 to max supported"
    ::= { npOutEntry 1 }

npOutLevelOut   OBJECT-TYPE
    SYNTAX     INTEGER {
                 flip(-1),
                 low(0),
                 high(1)
                 }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Output level, 0 or 1.
                  Write -1 to flip output."
    ::= { npOutEntry 3 }

npOutMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Output line memo"
    ::= { npOutEntry 6 }
    
npOutLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Legend for current logic level on the Output"
    ::= { npOutEntry 7 }    

npOutPulseCounter   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Pulse Counter on the Output line (counts positive fronts)
                  Write 0 to reset."
    ::= { npOutEntry 9 }

npOutSinglePulseDuration   OBJECT-TYPE
    SYNTAX     INTEGER (100..25500)
    MAX-ACCESS    read-write
    STATUS     current
    DESCRIPTION  "Set duration of single pulse on the Output line,
                  100ms to 25500ms, min. step is 100ms"
    ::= { npOutEntry 12 }

npOutSinglePulseStart    OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS    read-write
    STATUS     current
    DESCRIPTION  "Write 1 to start single pulse on the Output.
                  Output will be inverted for time, specified by npOutSinglePulseDuration"
    ::= { npOutEntry 13 }    
    

npOutTraps      OBJECT IDENTIFIER::={npOut 2}
npOutTrapPrefix OBJECT IDENTIFIER::={npOutTraps 0}

npOutTrapLineN OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Number of the Output"
    ::= { npOutTraps 1 }

npOutTrapLevel   OBJECT-TYPE
    SYNTAX     INTEGER {
                 low(0),
                 high(1)
                 }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Output level, 0 or 1"
    ::= { npOutTraps 2 }
    
npOutTrapMemo OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Output Memo"
    ::= { npOutTraps 6 }

npOutTrapLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Legend for current logic level on the Output"
    ::= { npOutTraps 7 }

npOutTrap NOTIFICATION-TYPE
    OBJECTS {
          npOutTrapLineN,
          npOutTrapLevel,
          npOutTrapMemo,
          npOutTrapLevelLegend
        }
    STATUS  current
    DESCRIPTION
        "Output Level is changed"
    ::= { npOutTrapPrefix 1 }
    


npRelHumidity OBJECT IDENTIFIER::={lightcom 8400}

npRelHumTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpRelHumEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Humidity+Temperature Sensors Table"
    ::= { npRelHumidity 1 }

npRelHumEntry       OBJECT-TYPE
    SYNTAX     NpRelHumEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Humidity+Temperature Sensors Table Row"
    INDEX     { npRelHumN }
    ::= { npRelHumTable 1 }

NpRelHumEntry     ::= SEQUENCE {
    npRelHumN             INTEGER,
    npRelHumValue         INTEGER,
    npRelHumStatus        INTEGER,
    npRelHumTempValue     INTEGER,
    npRelHumTempStatus    INTEGER,
    npRelHumMemo          DisplayString,
    npRelHumSafeRangeHigh INTEGER,
    npRelHumSafeRangeLow  INTEGER,
    npRelHumTempSafeRangeHigh INTEGER,
    npRelHumTempSafeRangeLow  INTEGER
    }

npRelHumN          OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Index of Humidity+Temperature sensor, 1 to max supported"
    ::= { npRelHumEntry 1 }

npRelHumValue    OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Relative humidity value, %"
    ::= { npRelHumEntry 2 }

npRelHumStatus     OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  belowSafeRange(1),
                  inSafeRange(2),
                  aboveSafeRange(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of Relative Humiduty"
    ::= { npRelHumEntry 3 }

npRelHumTempValue     OBJECT-TYPE
    SYNTAX     INTEGER (-60..200)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Sensor temperature, deg.C"
    ::= { npRelHumEntry 4 }

npRelHumTempStatus     OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  belowSafeRange(1),
                  inSafeRange(2),
                  aboveSafeRange(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of Relative Humiduty"
    ::= { npRelHumEntry 5 }

npRelHumMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Sensor Memo/Location"
    ::= { npRelHumEntry 6 }

npRelHumSafeRangeHigh    OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Relative Humidity safe range, top margin, %RH"
    ::= { npRelHumEntry 7 }

npRelHumSafeRangeLow    OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Relative Humidity safe range, bottom margin, %RH"
    ::= { npRelHumEntry 8 }

npRelHumTempSafeRangeHigh    OBJECT-TYPE
    SYNTAX     INTEGER (-55..150)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature safe range, top margin, deg.C"
    ::= { npRelHumEntry 9 }

npRelHumTempSafeRangeLow    OBJECT-TYPE
    SYNTAX     INTEGER (-55..150)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Temperature safe range, bottom margin, deg.C"
    ::= { npRelHumEntry 10 }

npRelHumTrapData OBJECT IDENTIFIER::={npRelHumidity 3}

npRelHumTrapDataN          OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Index of Humidity+Temperature sensor, 1 to max supported"
    ::= { npRelHumTrapData 1 }

npRelHumTrapDataValue     OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Sensor humidity, %RH, or temperature, deg.C"
    ::= { npRelHumTrapData 2 }

npRelHumTrapDataStatus     OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  belowSafeRange(1),
                  inSafeRange(2),
                  aboveSafeRange(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of humidity or temperature"
    ::= { npRelHumTrapData 4 }

npRelHumTrapDataMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Sensor Memo/Location"
    ::= { npRelHumTrapData 6 }

npRelHumTrapDataSafeRangeHigh    OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Relative Humidity safe range, top margin, %RH or deg.C"
    ::= { npRelHumTrapData 7 }

npRelHumTrapDataSafeRangeLow    OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Relative Humidity safe range, bottom margin, %RH or deg.C"
    ::= { npRelHumTrapData 8 }

npRelHumTrap OBJECT IDENTIFIER::={npRelHumidity 6}
npRelHumTrapAllEvents OBJECT IDENTIFIER::={npRelHumTrap 127}
npRelHumTrapTemp OBJECT IDENTIFIER::={npRelHumidity 7}
npRelHumTrapTempAllEvents OBJECT IDENTIFIER::={npRelHumTrapTemp 127}

npRelHumTrapAllChannels NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Status of Humidity has changed!"
    ::= { npRelHumTrapAllEvents 99 }

npRelHumTrapAboveSafe NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Humidity above the Safe range"
    ::= { npRelHumTrap 103 }

npRelHumTrapSafe NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Humidity in the Safe range"
    ::= { npRelHumTrap 102 }

npRelHumTrapBelowSafe NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Humidity below the Safe range"
    ::= { npRelHumTrap 101 }

npRelHumTrapFail NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Rel.Humidity sensor failed!"
    ::= { npRelHumTrap 100 }

npRelHumTrapTempAllChannels NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Status of Temperature has changed!"
    ::= { npRelHumTrapTempAllEvents 99 }

npRelHumTrapTempAboveSafe NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Temperature above the Safe range"
    ::= { npRelHumTrapTemp 103 }

npRelHumTrapTempSafe NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Temperature in the Safe range"
    ::= { npRelHumTrapTemp 102 }

npRelHumTrapTempBelowSafe NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Temperature below the Safe range"
    ::= { npRelHumTrapTemp 101 }

npRelHumTrapTempFail NOTIFICATION-TYPE
    OBJECTS {
  npRelHumTrapDataN,
  npRelHumTrapDataStatus,
  npRelHumTrapDataValue,
  npRelHumTrapDataMemo,
  npRelHumTrapDataSafeRangeHigh,
  npRelHumTrapDataSafeRangeLow
        }
    STATUS  current
    DESCRIPTION
        "Sensor failed!"
    ::= { npRelHumTrapTemp 100 }


    
    
npElecMeter  OBJECT IDENTIFIER::={lightcom 9700}
     
npElecTable       OBJECT-TYPE 
    SYNTAX     SEQUENCE OF NpElecEntry 
    MAX-ACCESS     not-accessible 
    STATUS     current 
    DESCRIPTION  "Electricity Meter Table"     
    ::= { npElecMeter 1 } 

npElecEntry        OBJECT-TYPE 
    SYNTAX     NpElecEntry
    MAX-ACCESS     not-accessible 
    STATUS     current 
    DESCRIPTION  "Electricity Meter Table Table Row"     
    INDEX     { npElecIndex } 
    ::= { npElecTable 1 } 

NpElecEntry   ::= SEQUENCE { 
    npElecIndex           INTEGER,
    npElecPulsesPerKwh    INTEGER,
    npElecPower           Gauge32,
    npElecEnergy          Counter32, 
    npElecEnergy100       Counter32    
    } 

npElecIndex      OBJECT-TYPE 
    SYNTAX     INTEGER (1..16)
    MAX-ACCESS     read-only 
    STATUS     current 
    DESCRIPTION  "Number of elec.meter, associated with IO line" 
    ::= { npElecEntry 1 }

npElecPulsesPerKwh      OBJECT-TYPE 
    SYNTAX     INTEGER
    MAX-ACCESS     read-write 
    STATUS     current 
    DESCRIPTION  "Pulses on IO line input per 1 kWh of consumed energy" 
    ::= { npElecEntry 2 }    
    
npElecPower    OBJECT-TYPE 
    SYNTAX     Gauge32
    MAX-ACCESS     read-only 
    STATUS     current 
    DESCRIPTION  "Power, Watts, based on pulse rate/interval, 5 minute average" 
    ::= { npElecEntry 3 }      
    
npElecEnergy    OBJECT-TYPE 
    SYNTAX     Counter32
    MAX-ACCESS     read-write 
    STATUS     current 
    DESCRIPTION  "Energy counter, kWh, based on pulse count" 
    ::= { npElecEntry 4 } 
 
npElecEnergy100    OBJECT-TYPE 
    SYNTAX     Counter32
    MAX-ACCESS     read-write 
    STATUS     current 
    DESCRIPTION  "Energy counter, kWh*100, based on pulse count"
    ::= { npElecEntry 5 } 
    
 

npReboot OBJECT IDENTIFIER::={ lightcom 911 }

npSoftReboot OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION  "Write 1 to reboot device after
                  current operations completition"
    ::= { npReboot 1 }

npResetStack OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION  "Write 1 to re-initialize network
                  stack"
    ::= { npReboot 2 }

npForcedReboot OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION  "Write 1 to immediate forced reboot"
    ::= { npReboot 3 }

END
