BETTER-NETWORKS-ETHERNETBOX-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            Counter
                FROM RFC1155-SMI

            OBJECT-TYPE
                FROM RFC-1212;

 	org OBJECT IDENTIFIER ::= { iso 3 } 
	dod OBJECT IDENTIFIER ::= { org 6 } 
	internet OBJECT IDENTIFIER ::= { dod 1 } 
	private OBJECT IDENTIFIER ::= { internet 4 } 
	enterprises OBJECT IDENTIFIER ::= { private 1 } 
    betternetworks   OBJECT IDENTIFIER ::= { enterprises 14848 }
    ethernetbox      OBJECT IDENTIFIER ::= { betternetworks 2 }
    ethernetboxObjects 	OBJECT IDENTIFIER ::= { ethernetbox 1 }
    misc	     OBJECT IDENTIFIER ::= { ethernetboxObjects 1 }

DisplayString ::= OCTET STRING

version OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Ethernetbox Software version"
    ::= { misc 1 }

location OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "location string for caption in browser window"
    ::= { misc 2 }

tempunit OBJECT-TYPE
    SYNTAX INTEGER(0..2)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Temperature unit, 0=Celsius, 1=Fahrenheit, 2=Kelvin"
    ::= { misc 3 }

refreshinterval OBJECT-TYPE
    SYNTAX INTEGER(0..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Refresh Interval for Browser Window"
    ::= { misc 4 }

numbersensors OBJECT-TYPE
    SYNTAX INTEGER(0..12)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Number of sensors"
    ::= { misc 5 }

address OBJECT-TYPE
    SYNTAX IpAddress
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "IP address of Ethernetbox"
    ::= { misc 6 }

uptime OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Uptime of Ethernetbox in 1/100 seconds"
    ::= { misc 7 }

sensorTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SensorEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { ethernetboxObjects 2 }

sensorEntry OBJECT-TYPE
    SYNTAX SensorEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    INDEX {sensorindex}
    
    ::= { sensorTable 1 }
    
SensorEntry ::= SEQUENCE {
		sensorindex
			INTEGER,
        name
            DisplayString,
        sensortype
            INTEGER,
        valueint
            INTEGER,
        valueint10
            INTEGER,
        valuestr
            DisplayString,
        valid
            INTEGER,
        lowlimit
            INTEGER,
	highlimit
            INTEGER,
	hysteresis
            INTEGER,
	status
            INTEGER
    }

sensorindex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Index of Sensor entry"
    ::= { sensorEntry 1 }
                              
name OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Sensor label"
    ::= { sensorEntry 2 }

sensortype OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "sensor type 0=no sensor, 1=temperature, 2=brightness, 3=humidity, 4= switch contact 5 = voltage detector 6 = smoke sensor"
    ::= { sensorEntry 3 }

valueint OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "value as integer"
    ::= { sensorEntry 4 }

valueint10 OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "value x 10"
    ::= { sensorEntry 5 }

valuestr OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "value as string with unit"
    ::= { sensorEntry 6 }

valid OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "sensor status"
    ::= { sensorEntry 7 }

lowlimit OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "low limit for threshold violation"
    ::= { sensorEntry 8 }

highlimit OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "high limit for threshold violation"
    ::= { sensorEntry 9 }

hysteresis OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "hysteresis before new notification"
    ::= { sensorEntry 10 }

status OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "sensor level 0=undefined, 1 = to low, 2= normal, 3= to high"
    ::= { sensorEntry 11 }

inputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF InputEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { ethernetboxObjects 3 }

inputEntry OBJECT-TYPE
    SYNTAX InputEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    INDEX{inputindex}
    ::= { inputTable 1 }
    
InputEntry ::=
    SEQUENCE {
      	inputindex INTEGER,
		inputstatus INTEGER
    }
                    
inputindex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Index of Input entry"
    ::= { inputEntry 1 }
                              
inputstatus OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "binary input signal 0=low, 1=high"
    ::= { inputEntry 2 }

outputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF OutputEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { ethernetboxObjects 4 }

outputEntry OBJECT-TYPE
    SYNTAX OutputEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    INDEX{outputindex}
    ::= { outputTable 1 }
    
OutputEntry ::=
    SEQUENCE {
      	outputindex INTEGER,
		outputstatus INTEGER
    }
                    
outputindex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Index of Output entry"
    ::= { outputEntry 1 }
                              
outputstatus OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "binary output signal 0=low, 1=high"
    ::= { outputEntry 2 }

analogTable OBJECT-TYPE
    SYNTAX SEQUENCE OF AnalogEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { ethernetboxObjects 5 }

analogEntry OBJECT-TYPE
    SYNTAX AnalogEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        ""
    INDEX{analogindex}
    ::= { analogTable 1 }
    
AnalogEntry ::=
    SEQUENCE {
        analogindex
        	INTEGER,
        analogname
            DisplayString,
        analogvalueint
            INTEGER,
        analogvalueint10
            INTEGER,
        analogvaluestr
            DisplayString
    }

analogindex OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Index of Analog entry"
    ::= { analogEntry 1 }

analogname OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Analog Input label"
    ::= { analogEntry 2 }

analogvalueint OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "value as integer"
    ::= { analogEntry 3 }

analogvalueint10 OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "value x 10"
    ::= { analogEntry 4 }

analogvaluestr OBJECT-TYPE
    SYNTAX DisplayString
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "value as string"
    ::= { analogEntry 5 }


-- Traps
sensorstatusChangeToLow TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "WARNING: Sensor status has changed to low"
   ::= 1

sensorstatusChangeToNormal TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "INFORMATION: Sensor status has changed to normal"
   ::= 2

sensorstatusChangeToHigh TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "WARNING: Sensor status has changed to high"
   ::= 3
   
inputlineChangeToLow TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "Information: Input line has changed to low"
   ::= 4
   
inputlineChangeToHigh TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "Information: Input line has changed to high"
   ::= 5

ethernetboxPowerUp TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "Information: Ethernetbox is switched on"
   ::= 100

ethernetboxConfigSaved TRAP-TYPE
   ENTERPRISE betternetworks
   DESCRIPTION
       "Information: Ethernetbox Configuration has written"
   ::= 101

-- Notification

ethernetboxNotificationInputLineChangeToLow NOTIFICATION-TYPE
	OBJECTS { uptime, location, address, inputindex, name, sensortype, inputstatus }
	STATUS current
	DESCRIPTION
		"Event sent when status of Input line is changed to low"
	::= { betternetworks 4 }

ethernetboxNotificationInputLineChangeToHigh NOTIFICATION-TYPE
	OBJECTS { uptime, location, address, inputindex, name, sensortype, inputstatus }
	STATUS current
	DESCRIPTION
		"Event sent when status of Input line is changed to high"
	::= { betternetworks 5 }

ethernetboxNotificationPowerUp NOTIFICATION-TYPE
	OBJECTS { uptime, location, address }
	STATUS current
	DESCRIPTION
		"Event sent when Ethernet Box is switched on"
	::= { betternetworks 100 }

ethernetboxNotificationConfigSaved NOTIFICATION-TYPE
	OBJECTS { uptime, location, address }
	STATUS current
	DESCRIPTION
		"Event sent when Ethernet Box Configuration is written in flash memory"
	::= { betternetworks 101 }




END
