DKSF-70-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
        enterprises,
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        Integer32,
        Unsigned32,
        NOTIFICATION-TYPE
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        DisplayString
                FROM SNMPv2-TC
        snmpTraps
                FROM SNMPv2-MIB ;
                
 
uniPingServerSolutionV3 MODULE-IDENTITY 

        LAST-UPDATED "202008190000Z"  
        ORGANIZATION "Alentis Electronics" 
        CONTACT-INFO 
                "developers@netping.ru" 
        DESCRIPTION 
                "Generic MIB for NetPing remote sensing and control" 
              
        REVISION "202207010000Z"
	DESCRIPTION
		"Renamed by Observium Developers for unify"

        REVISION "202008190000Z"
        DESCRIPTION
                "npExtRelay branch added"
                
        REVISION "202006120000Z"
        DESCRIPTION
                "npSmoke branch (.1.3.6.1.4.1.25728.8200) renamed to npInputAnalog
                 and repurposed for 1Wire Current Loop Adapter"

        REVISION "201910130000Z"
        DESCRIPTION
                "npVoltage branch added"

        REVISION "201807010000Z"        
        DESCRIPTION                
                "npGsm branch appended (for DKSF70.7)
                 npRelayMode values restricted to on, off, flip" 
                 
        REVISION "201608240000Z"        
        DESCRIPTION                
                "npThermoValuePrecise added
                 npGsmSendSms renamed to npGsmSendSmsUtf8
                 npGsmSendWin1251 added"

        REVISION "201507140000Z"
        DESCRIPTION
                "npSmoke branch added, npRelHum branch extended"

        REVISION "201505290000Z"
        DESCRIPTION
                "npIoTrapLevelLegend added, npIrStatus values redefined"

        REVISION "201412030000Z"
        DESCRIPTION
                "npRelayMode, npIoLevelOut values changed"

        REVISION "201411260000Z"
        DESCRIPTION
                "npRelayN, npRelayMode, npIoLineN, npRelHumSensorStatusH, npRelHumSensorStatus values changed"

        REVISION "201402020000Z"
        DESCRIPTION
                "npRelayMode valid values changed, (3) excluded "

        REVISION "201401290000Z"
        DESCRIPTION
                "npCurLoop, npRelHumidity, npIr branches has added"

        REVISION "201401210000Z"
        DESCRIPTION
                "partial rewrite for DKSF 70"

        REVISION "201304110000Z"
        DESCRIPTION
                "partial rewrite for DKSF 48"

        REVISION "201205310000Z"
        DESCRIPTION
                "npPwrRelayState branch was added"

        REVISION "201204170000Z"
        DESCRIPTION
                "npReboot branch was added"

    REVISION "201203230000Z"
        DESCRIPTION
                "Minor changes to IR module for IRC-TRv2"

        REVISION "201109230000Z"
        DESCRIPTION
                "4 IO lines,
                 Identification is changed from DKSF 52.4 to DKSF 52.5"

        REVISION "201103240000Z"
        DESCRIPTION
                "npIoPulseCounter, npIoSinglePulseDuration, npIoSinglePulseStart is added
                 Identification is changed from DKSF 52.3 to DKSF 52.4"

        REVISION "201010140000Z"
        DESCRIPTION
                "IR module support"

        REVISION "201009200000Z"
        DESCRIPTION
                "dksf 52.3 subversion"

        REVISION "201005310000Z"
        DESCRIPTION
                "dksf 51.3 subversion"

        REVISION "201004140000Z"
        DESCRIPTION
                "SMIv2-style rewrite"

        ::= { lightcom 70 }



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

npTrapInfo OBJECT IDENTIFIER::={lightcom 90}

npTrapEmailTo OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION     "user-specified e-mail for NetPing Trap Forwarding Service"
     ::={npTrapInfo 1}


npRelay OBJECT IDENTIFIER::={ lightcom 5500 }

npRelayTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpRelayEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Watchdog and outlet/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
-- not in dksf70 npRelayPowered INTEGER
    }

npRelayN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..1)
    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}

-- npRelayPowered OBJECT-TYPE
--     SYNTAX     INTEGER {
--                   no(0),
--                 yes(1)
--     }
--     MAX-ACCESS     read-only
--     STATUS     current
--     DESCRIPTION     "AC presence on output.
--                      0 - no AC dew to relay switched off or no ac on input
--                      1 - AC is present"
--     ::={npRelayEntry  16}


npRelayTrapData OBJECT IDENTIFIER::={ npRelay 3 }

npRelayTrapN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..2)
    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 }


    
    
npExtRelay OBJECT IDENTIFIER::={ lightcom 5600 }

npExtRelayTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpExtRelayEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Watchdog and outlet/relay control table"
    ::= { npExtRelay 5 }

npExtRelayEntry     OBJECT-TYPE
    SYNTAX     NpExtRelayEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Relay/outlet table row"
    INDEX     { npExtRelayN }
    ::= { npExtRelayTable 1 }

NpExtRelayEntry     ::= SEQUENCE {
    npExtRelayN               INTEGER,
    npExtRelayMode            INTEGER,
    npExtRelayStartReset      INTEGER,
    npExtRelayMemo            DisplayString,
    npExtRelayFlip            INTEGER,
    npExtRelayState           INTEGER
    }

npExtRelayN  OBJECT-TYPE
    SYNTAX     INTEGER  (1..8)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The N of external relay"
    ::= { npExtRelayEntry 1 }

npExtRelayMode  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"
     ::={npExtRelayEntry  2}

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

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

npExtRelayFlip  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"
     ::={npExtRelayEntry  14}

npExtRelayState  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"
     ::={npExtRelayEntry  15}


npExtRelayTrapData OBJECT IDENTIFIER::={ npExtRelay 3 }

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

npExtRelayTrapMode  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"
     ::={npExtRelayTrapData  2}

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

npExtRelayTrapState  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"
     ::={npExtRelayTrapData  15}

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

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

npExtRelayTrap OBJECT IDENTIFIER::={npExtRelay 6}
npExtRelayTrapAllEvents OBJECT IDENTIFIER::={npExtRelayTrap 127}

npExtRelayTrapAllChannels NOTIFICATION-TYPE
    OBJECTS {
        npExtRelayTrapN,
        npExtRelayTrapMode,
        npExtRelayTrapMemo,
        npExtRelayTrapState,
        npExtRelayTrapCmdSrc,
        npExtRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Status of Humidity has changed!"
    ::= { npExtRelayTrapAllEvents 99 }

npExtRelayTrapOff NOTIFICATION-TYPE
    OBJECTS {
        npExtRelayTrapN,
        npExtRelayTrapMode,
        npExtRelayTrapMemo,
        npExtRelayTrapState,
        npExtRelayTrapCmdSrc,
        npExtRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay switched off"
    ::= { npExtRelayTrap 100 }

npExtRelayTrapOn NOTIFICATION-TYPE
    OBJECTS {
        npExtRelayTrapN,
        npExtRelayTrapMode,
        npExtRelayTrapMemo,
        npExtRelayTrapState,
        npExtRelayTrapCmdSrc,
        npExtRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay switched on"
    ::= { npExtRelayTrap 101 }

npExtRelayTrapModeChange NOTIFICATION-TYPE
    OBJECTS {
        npExtRelayTrapN,
        npExtRelayTrapMode,
        npExtRelayTrapMemo,
        npExtRelayTrapState,
        npExtRelayTrapCmdSrc,
        npExtRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay mode changed"
    ::= { npExtRelayTrap 102 }

npExtRelayTrapReset NOTIFICATION-TYPE
    OBJECTS {
        npExtRelayTrapN,
        npExtRelayTrapMode,
        npExtRelayTrapMemo,
        npExtRelayTrapState,
        npExtRelayTrapCmdSrc,
        npExtRelayTrapDateTime
        }
    STATUS  current
    DESCRIPTION
        "Relay reset started"
    ::= { npExtRelayTrap 103 }

    
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,
    npIoPulseCounter        Counter32,
    npIoSinglePulseDuration INTEGER,
    npIoSinglePulseStart    INTEGER
    }

npIoLineN      OBJECT-TYPE
    SYNTAX     INTEGER (1..8)
    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 }

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 }

npIoTraps      OBJECT IDENTIFIER::={npIo 2}
npIoTrapPrefix OBJECT IDENTIFIER::={npIoTraps 0}

npIoTrapLineN OBJECT-TYPE
    SYNTAX     INTEGER (1..2)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, Number of IO line"
    ::= { npIoTraps 1 }

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

npIoTrapMemo OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Trap data, IO line memo"
    ::= { npIoTraps 6 }

npIoTrapLevelLegend OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Legend for current logic level on the IO line"
    ::= { npIoTraps 7 }

npIoTrap NOTIFICATION-TYPE
    OBJECTS {
          npIoTrapLineN,
          npIoTrapLevelIn,
          npIoTrapMemo,
          npIoTrapLevelLegend
        }
    STATUS  current
    DESCRIPTION
        "Input state of IO line is changed"
    ::= { npIoTrapPrefix 1 }



npCurLoop OBJECT IDENTIFIER::={lightcom 8300}

npCurLoopTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpCurLoopEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Current loop sensors Table"
    ::= { npCurLoop 1 }

npCurLoopEntry       OBJECT-TYPE
    SYNTAX     NpCurLoopEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Current loop sensors Table Row"
    INDEX     { npCurLoopN }
    ::= { npCurLoopTable 1 }

NpCurLoopEntry     ::= SEQUENCE {
    npCurLoopN       INTEGER,
    npCurLoopStatus  INTEGER,
    npCurLoopI       INTEGER,
    npCurLoopV       INTEGER,
    npCurLoopR       INTEGER,
    npCurLoopPower   INTEGER
    }

npCurLoopN          OBJECT-TYPE
    SYNTAX     INTEGER (1..8)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Index of current loop, 1 to max supported"
    ::= { npCurLoopEntry 1 }

npCurLoopStatus     OBJECT-TYPE
    SYNTAX     INTEGER {
        ok(0),
        alert(1),
        cut(2),
        short(3),
        notPowered(4)
        }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of the loop
                  0=Normal, 1=Alert, 2=Cut, 3=Short, 4=Not Powered"
    ::= { npCurLoopEntry 2 }

npCurLoopI     OBJECT-TYPE
    SYNTAX     INTEGER (0..99999)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Loop current, mA"
    ::= { npCurLoopEntry 3 }

npCurLoopV     OBJECT-TYPE
    SYNTAX     INTEGER (0..99999)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Voltage drop on the loop, mV"
    ::= { npCurLoopEntry 4 }

npCurLoopR     OBJECT-TYPE
    SYNTAX     INTEGER (0..99999)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Resistance of the loop, Ohm"
    ::= { npCurLoopEntry 5 }

npCurLoopPower     OBJECT-TYPE
    SYNTAX     INTEGER  {
           off(0),
           on(1),
           cyclePower(2)
           }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Control of loop power
                  0=Off, 1=On, 2=reset by off/on power"
    ::= { npCurLoopEntry 7 }

npCurLoopTraps   OBJECT IDENTIFIER::={npCurLoop 2}
npCurLoopTrapPrefix OBJECT IDENTIFIER::={npCurLoopTraps 0}

npCurLoopTrapN          OBJECT-TYPE
    SYNTAX     INTEGER (1..8)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Index of current loop, which status has changed"
    ::= { npCurLoopTraps 1 }

npCurLoopTrapStatus     OBJECT-TYPE
    SYNTAX     INTEGER {
        ok(0),
        alert(1),
        cut(2),
        short(3),
        notPowered(4)
        }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of the loop
                  0=Normal, 1=Alert, 2=Cut, 3=Short, 4=Not Powered"
    ::= { npCurLoopTraps 2 }

npCurLoopTrapI     OBJECT-TYPE
    SYNTAX     INTEGER (0..99999)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Loop current, mA"
    ::= { npCurLoopTraps 3 }

npCurLoopTrapV     OBJECT-TYPE
    SYNTAX     INTEGER (0..99999)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Voltage drop on the loop, mV"
    ::= { npCurLoopTraps 4 }

npCurLoopTrapR     OBJECT-TYPE
    SYNTAX     INTEGER (0..99999)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Resistance of the loop, Ohm"
    ::= { npCurLoopTraps 5 }

npCurLoopTrapPower     OBJECT-TYPE
    SYNTAX     INTEGER  {
           off(0),
           on(1)
           }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Status of loop power
                  0=Off, 1=On"
    ::= { npCurLoopTraps 7 }

npCurLoopTrap NOTIFICATION-TYPE
    OBJECTS {
    npCurLoopTrapN,
    npCurLoopTrapStatus,
    npCurLoopTrapI,
    npCurLoopTrapV,
    npCurLoopTrapR,
    npCurLoopTrapPower,
  npTrapEmailTo
        }
    STATUS  current
    DESCRIPTION
        "Status of current loop N has changed!"
    ::= { npCurLoopTrapPrefix 1 }
    

    
npVoltage OBJECT IDENTIFIER::={lightcom 9000}

npVoltageTable     OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpVoltageEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Voltage Monitoring Sensors Table"
    ::= { npVoltage 1 }

npVoltageEntry       OBJECT-TYPE
    SYNTAX     NpVoltageEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "Voltage Monitoring Sensors Table Row"
    INDEX     { npVoltageN }
    ::= { npVoltageTable 1 }

NpVoltageEntry     ::= SEQUENCE {
    npVoltageN                 INTEGER,
    npVoltageRMS               INTEGER,
    npVoltageStatus            INTEGER,
    npVoltageFreq              INTEGER,
    npVoltageFreqStatus        INTEGER,
    npVoltageMemo              DisplayString,
    npVoltageSagCounter        Counter32,
    npVoltageSagStatus         INTEGER,
    npVoltageSagSmallThreshold  INTEGER,
    npVoltageSagMediumThreshold INTEGER,
    npVoltageSagBigThreshold    INTEGER,
    npVoltageStandard          INTEGER,
    npVoltagePeak              INTEGER,
    npVoltagePeakStatus        INTEGER
    }

npVoltageN         OBJECT-TYPE
    SYNTAX     INTEGER (1..3)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The ID of Voltage Monitoring sensor, 1 to 3"
    ::= { npVoltageEntry 1 }

npVoltageRMS       OBJECT-TYPE
    SYNTAX     INTEGER (0..1000)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Voltage value, V"
    ::= { npVoltageEntry 2 }

npVoltageStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  bad(2),
                  warn(3),
                  good(4)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of voltage"
    ::= { npVoltageEntry 3 }

npVoltageFreq      OBJECT-TYPE
    SYNTAX     INTEGER (0..10000)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Frequency value in units of .01 Hz"
    ::= { npVoltageEntry 4 }

npVoltageFreqStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  bad(2),
                  warn(3),
                  good(4)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of frequency"
    ::= { npVoltageEntry 5 }

npVoltageMemo      OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Voltage Monitoring sensor memo"
    ::= { npVoltageEntry 6 }

npVoltageSagCounter    OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Counter of voltage sags"
    ::= { npVoltageEntry 10 }

npVoltageSagStatus     OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  high(2),
                  medium(3),
                  small(4),
                  noSags(5)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of voltage sag"
    ::= { npVoltageEntry 11 }

npVoltageSagSmallThreshold  OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "The margin between No Sags and Small Sags, % of Nominal Voltage
                  Usually 90%"
    ::= { npVoltageEntry 12 }

npVoltageSagMediumThreshold  OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "The margin between Small Sags and Medium Sags, % of Nominal Voltage
                 Usually 70%"
    ::= { npVoltageEntry 13 }

npVoltageSagBigThreshold  OBJECT-TYPE
    SYNTAX     INTEGER (0..100)
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "The margin between Medium Sags and Big Sags, % of Nominal Voltage
                  Usually 50%"
    ::= { npVoltageEntry 14 }

npVoltageStandard  OBJECT-TYPE
    SYNTAX     INTEGER (100..240)
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Nominal voltage, V"
    ::= { npVoltageEntry 20 }

npVoltagePeak      OBJECT-TYPE
    SYNTAX     INTEGER (0..1000)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Peak voltage, V"
    ::= { npVoltageEntry 30 }

npVoltagePeakStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  dangerous(2),
                  noPeaks(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of peak voltage"
    ::= { npVoltageEntry 31 }

npVoltageTraps      OBJECT IDENTIFIER::={npVoltage 2}
npVoltageTrapPrefix OBJECT IDENTIFIER::={npVoltageTraps 0}

npVoltageTrapN     OBJECT-TYPE
    SYNTAX     INTEGER (1..3)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "The ID of Voltage Monitoring sensor, 1 to 3"
    ::= { npVoltageTraps 1 }

npVoltageTrapRMS   OBJECT-TYPE
    SYNTAX     INTEGER (0..1000)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Voltage value, V"
    ::= { npVoltageTraps 2 }

npVoltageTrapStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  bad(2),
                  warn(3),
                  good(4)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of voltage"
    ::= { npVoltageTraps 3 }

npVoltageTrapFreq   OBJECT-TYPE
    SYNTAX     INTEGER (0..10000)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Frequency value in units of .01 Hz"
    ::= { npVoltageTraps 4 }

npVoltageTrapFreqStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  bad(2),
                  warn(3),
                  good(4)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of frequency"
    ::= { npVoltageTraps 5 }

npVoltageTrapMemo  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Voltage Monitoring sensor memo"
    ::= { npVoltageTraps 6 }

npVoltageTrapSagCounter   OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Counter of voltage sags"
    ::= { npVoltageTraps 10 }

npVoltageTrapSagStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  high(2),
                  medium(3),
                  small(4),
                  noSags(5)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of voltage sag"
    ::= { npVoltageTraps 11 }

npVoltageTrapPeak  OBJECT-TYPE
    SYNTAX     INTEGER (0..1000)
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Peak voltage, V"
    ::= { npVoltageTraps 30 }

npVoltageTrapPeakStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
                  sensorFailed(0),
                  noVoltage(1),
                  dangerous(2),
                  noPeaks(3)
                }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Status of peak voltage"
    ::= { npVoltageTraps 31 }

npVoltageTrap NOTIFICATION-TYPE
    OBJECTS {
        npVoltageTrapN,
        npVoltageTrapRMS,
        npVoltageTrapStatus,
        npVoltageTrapFreq,
        npVoltageTrapFreqStatus,
        npVoltageTrapMemo,
        npVoltageTrapSagCounter,
        npVoltageTrapSagStatus,
        npVoltageTrapPeakStatus
    }
    STATUS  current
    DESCRIPTION
        "Status of Voltage Monitoring sensor is changed"
    ::= { npVoltageTrapPrefix 1 }



npInputAnalog OBJECT IDENTIFIER::={lightcom 8200}

npInputAnalogTable       OBJECT-TYPE
    SYNTAX     SEQUENCE OF NpInputAnalogEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION  "1Wire Current Loop Adapters Table"
    ::= { npInputAnalog 1 }

npInputAnalogEntry       OBJECT-TYPE
    SYNTAX     NpInputAnalogEntry
    MAX-ACCESS  not-accessible
    STATUS     current
    DESCRIPTION  "1Wire Current Loop Adapters Table Row"
    INDEX     { npInputAnalogSensorN }
    ::= { npInputAnalogTable 1 }

NpInputAnalogEntry     ::= SEQUENCE {
    npInputAnalogSensorN INTEGER,
    npInputAnalogStatus  INTEGER,
    npInputAnalogCurrent Integer32,
    npInputAnalogVoltage Integer32,
    npInputAnalogResistance Unsigned32,
    npInputAnalogMemo    DisplayString,
    npInputAnalogPower   INTEGER,
    npInputAnalogReset   INTEGER,
    npInputAnalogWorkRangeHigh Integer32,
    npInputAnalogSafeRangeHigh Integer32,
    npInputAnalogSafeRangeLow Integer32,
    npInputAnalogWorkRangeLow Integer32
    }

npInputAnalogSensorN          OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS  read-only
    STATUS     current
    DESCRIPTION  "The id of 1Wire Current Loop Adapter, 1 to 4"
    ::= { npInputAnalogEntry 1 }

npInputAnalogStatus          OBJECT-TYPE
    SYNTAX     INTEGER {
          failure1w(0),
          belowSafe(1),
          safe(2),
          aboveSafe(3),
          failureAnalog(5)
  }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "Status of Current Loop Signal,
                 failure1w = no reply from the adapter on 1wire bus,
                 failureAnalog = signal is beyond it's Working Range,
                 belowSafe, safe, aboveSafe - status of the signal 
                 relative to the Safe Range margins"
    ::= { npInputAnalogEntry 2 }
    
npInputAnalogCurrent    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Current via RS_P, RS_N contacts of Current Loop 
                  Adapter, uA (microamperes)"
    ::= { npInputAnalogEntry 3 }    
    
npInputAnalogVoltage    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Voltage on RS_P contact of Current Loop 
                  Adapter Vs Ground, mV"
    ::= { npInputAnalogEntry 4 }
    
npInputAnalogResistance    OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Resistance of the Current Loop, Ohm"
    ::= { npInputAnalogEntry 5 }
    
npInputAnalogMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION  "Current Loop memo, what's connected"
    ::= { npInputAnalogEntry 6 }    

npInputAnalogPower  OBJECT-TYPE
    SYNTAX     INTEGER {
          off(0),
          on(1)
  }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Controls power on Current Loop Adapter outputs +24V, +12V"
    ::= { npInputAnalogEntry 7 }

npInputAnalogReset          OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Write duration 1..25s to temporary switch off
                  +12V, +24V outputs to reset sensor on the 
                  current loop by cycling it's power"
    ::= { npInputAnalogEntry 8 }

npInputAnalogWorkRangeHigh    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Top marging of Working Range, uA or mV or Ohm.
                  If monitored value is outide of Working Range, Analog Failure take place.
                  If not specified, value is -32768"
    ::= { npInputAnalogEntry 11 }    
     
npInputAnalogSafeRangeHigh    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Top marging of Safe Range, uA or mV or Ohm.
                  If not specified, value is -32768"
    ::= { npInputAnalogEntry 12 } 
 
npInputAnalogSafeRangeLow    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Bottom marging of Safe Range, uA or mV or Ohm.
                  If not specified, value is -32768"
    ::= { npInputAnalogEntry 13 } 
     
npInputAnalogWorkRangeLow    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION  "Bottom marging of Working Range, uA or mV or Ohm.
                  If monitored value is outide of Working Range, Analog Failure take place.
                  If not specified, value is -32768"
    ::= { npInputAnalogEntry 14 }

    
npInputAnalogTraps      OBJECT IDENTIFIER::={npInputAnalog 2}
npInputAnalogTrapPrefix OBJECT IDENTIFIER::={npInputAnalogTraps 0}

npInputAnalogTrapSensorN          OBJECT-TYPE
    SYNTAX     INTEGER (1..4)
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "The id of 1Wire Current Loop Adapter, 1 to 4"
    ::= { npInputAnalogTraps 1 }

npInputAnalogTrapStatus    OBJECT-TYPE
    SYNTAX     INTEGER {
          failure1w(0),
          belowSafe(1),
          safe(2),
          aboveSafe(3),
          failureAnalog(5)
  }
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION  "New status of Current Loop Signal,
                 failure1w = no reply from the adapter on 1wire bus,
                 failureAnalog = signal is beyond it's Working Range,
                 belowSafe, safe, aboveSafe - status of the signal 
                 relative to the Safe Range margins"
    ::= { npInputAnalogTraps 2 }

npInputAnalogTrapCurrent    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Current via RS_P, RS_N contacts of Current Loop 
                  Adapter, uA (microamperes)"
    ::= { npInputAnalogTraps 3 }  
    
npInputAnalogTrapVoltage    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Voltage on RS_P contact of Current Loop 
                  Adapter Vs Ground, mV"
    ::= { npInputAnalogTraps 4 }
    
npInputAnalogTrapResistance    OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Resistance of the Current Loop, Ohm"
    ::= { npInputAnalogTraps 5 }
    
npInputAnalogTrapMemo    OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Current Loop memo"
    ::= { npInputAnalogTraps 6 }

npInputAnalogTrapPower    OBJECT-TYPE
    SYNTAX     INTEGER {
                  off(0),
                  on(1),
                  temporaryOff(3)
    }
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Status of power outputs +12V, +24V,
                  temporary switching off for reset ignored"
    ::= { npInputAnalogTraps 7 }  
    
npInputAnalogTrapWorkRangeHigh    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Top marging of Working Range, uA or mV or Ohm.
                  If monitored value is outide of Working Range, Analog Failure take place.
                  If not specified, value is -32768"
    ::= { npInputAnalogTraps 11 }    
     
npInputAnalogTrapSafeRangeHigh    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Top marging of Safe Range, uA or mV or Ohm.
                  If not specified, value is -32768"
    ::= { npInputAnalogTraps 12 } 
 
npInputAnalogTrapSafeRangeLow    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Bottom marging of Safe Range, uA or mV or Ohm.
                  If not specified, value is -32768"
    ::= { npInputAnalogTraps 13 } 
     
npInputAnalogTrapWorkRangeLow    OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION  "Bottom marging of Working Range, uA or mV or Ohm.
                  If monitored value is outide of Working Range, Analog Failure take place.
                  If not specified, value is -32768"
    ::= { npInputAnalogTraps 14 }     

npInputAnalogTrap NOTIFICATION-TYPE
OBJECTS {
    npInputAnalogTrapSensorN,
    npInputAnalogTrapStatus,
    npInputAnalogTrapCurrent,
    npInputAnalogTrapVoltage,
    npInputAnalogTrapResistance,
    npInputAnalogTrapMemo,
    npInputAnalogTrapPower,
    npInputAnalogTrapWorkRangeHigh,
    npInputAnalogTrapSafeRangeHigh,
    npInputAnalogTrapSafeRangeLow,
    npInputAnalogTrapWorkRangeLow
    }
STATUS  current
DESCRIPTION
        "Status of 1W Analog Input Adapter has changed"
::= { npInputAnalogTrapPrefix 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 }


npGsm  OBJECT IDENTIFIER::={lightcom 3800}
npGsmInfo OBJECT IDENTIFIER::={npGsm 1}

npGsmFailed  OBJECT-TYPE
    SYNTAX     INTEGER {
                        ok (0),
                        failed (1),
                        fatalError (2)
                       }
    MAX-ACCESS  read-only
    STATUS     current
    DESCRIPTION  "Firmware's GSM module status"
    ::= { npGsmInfo 1 }

npGsmRegistration OBJECT-TYPE
    SYNTAX     INTEGER {
                        impossible (0),
                        homeNetwork (1),
                        searching (2),
                        denied (3),
                        unknown (4),
                        roaming (5),
                        infoUpdate (255)
                       }
    MAX-ACCESS  read-only
    STATUS     current
    DESCRIPTION  "Status of modem registration in GSM network (AT+CREG? result)"
    ::= { npGsmInfo 2 }

npGsmStrength  OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    MAX-ACCESS  read-only
    STATUS     current
    DESCRIPTION  "GSM signal strength.
                  0..31 = 0..100%,
                  99 = unknown or n/a,
                  255 = updating info"
    ::= { npGsmInfo 3 }

npGsmSendSmsUtf8  OBJECT-TYPE
    SYNTAX    DisplayString
    MAX-ACCESS  read-write
    STATUS    current
    DESCRIPTION  "Send arbitrary SMS.
                  Format: [phone_number,phone_number,...] Message
                  One to four destination phone numbers
                  If [] and numbers omitted, mesagge will be sent to preset numbers from SMS setup
                  Cyrillic characters must be in UTF8 encoding."
    ::= { npGsmInfo 9 }

npGsmSendSmsWin1251  OBJECT-TYPE
    SYNTAX    DisplayString
    MAX-ACCESS  read-write
    STATUS    current
    DESCRIPTION  "Send arbitrary SMS.
                  Format: [phone_number,phone_number,...] Message
                  One to four destination phone numbers
                  If [] and numbers omitted, mesagge will be sent to preset numbers from SMS setup
                  Cyrillic characters must be in Win1251 encoding."
    ::= { npGsmInfo 10 }

npGsmUnparsedRxSmsFrom OBJECT-TYPE 
    SYNTAX     DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS     current 
    DESCRIPTION  "Source phone of received unparsed (unknown) Sms" 
    ::= { npGsmInfo 11 }     

npGsmUnparsedRxSms OBJECT-TYPE 
    SYNTAX     DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS     current 
    DESCRIPTION  "Received unparsed Sms with unknown starting word,
                  Encoding Windows-1251" 
    ::= { npGsmInfo 12 }

npGsmUnparsedRxSmsUtf8 OBJECT-TYPE 
    SYNTAX     DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS     current 
    DESCRIPTION  "Received unparsed Sms with unknown starting word,
                  Encoding UTF-8" 
    ::= { npGsmInfo 13 }

npGsmTrapUnparsedSms NOTIFICATION-TYPE
    OBJECTS { 
          npGsmUnparsedRxSmsFrom,
          npGsmUnparsedRxSms,
          npGsmUnparsedRxSmsUtf8
        }
    STATUS  current
    DESCRIPTION
        "forwarding of SMS with wrong starting keyword"
    ::= { npGsmTrapPrefix 2 }    
    
npGsmTraps      OBJECT IDENTIFIER::={npGsm 2} 
npGsmTrapPrefix OBJECT IDENTIFIER::={npGsmTraps 0} 

npGsmTrap NOTIFICATION-TYPE
    OBJECTS {
          npGsmFailed,
          npGsmRegistration,
          npGsmStrength
        }
    STATUS  current
    DESCRIPTION
        "GSM modem or SMS firmware problems"
    ::= { npGsmTrapPrefix 1 }



npIr  OBJECT IDENTIFIER::={lightcom 7900}
npIrCtrl OBJECT IDENTIFIER::={npIr 1}

npIrPlayCmd OBJECT-TYPE
    SYNTAX     INTEGER (1..16)
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION  "Write IR command number to send IR command"
    ::= { npIrCtrl 1 }

npIrReset  OBJECT-TYPE
    SYNTAX     INTEGER (0..1)
    MAX-ACCESS  read-write
    STATUS     current
    DESCRIPTION  "Write 1 to reset IR transiever.
                  After reset, send IR command and check npIrStatus."
    ::= { npIrCtrl 2 }

npIrStatus  OBJECT-TYPE
    SYNTAX     INTEGER {
                  commandCompleted (0),
                  protocolError (1),
                  commandAccepted (2),
                  errorUnknown (16),
                  errorBadNumber (17),
                  errorEmptyRecord (18),
                  errorFlashChip (19),
                  errorTimeout (20),
                  errorExtBusBusy (21)
                }
    MAX-ACCESS  read-only
    STATUS     current
    DESCRIPTION  "IR transiever status"
    ::= { npIrCtrl 3 }



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
