TERACOM-TCW121-MIB DEFINITIONS ::= BEGIN

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

teracom                           OBJECT IDENTIFIER ::=  { enterprises 38783 }

product                            OBJECT IDENTIFIER ::=  { teracom 1 }
setup                               OBJECT IDENTIFIER ::=  { teracom 2 }
monitorNcontrol                     OBJECT IDENTIFIER ::=  { teracom 3 }

   RANGE ::= INTEGER { range-0-5V(0), range-0-100V(1) }
   CONTROLLED ::= INTEGER { manual(0), temperature1(1), humidity1(2), analogInput1(3), digitalInput1(4), temperature2(5), humidity2(6), analogInput2(7), digitalInput2(8) }
   ACTION ::= INTEGER { noAction(0), sendMail(1) }
   DACTION ::= INTEGER { noAction(0), mailIfFalled(1), mailIfRised(2) }


name    OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Name of product. e.g. teracom.net etc."
   ::= { product 1 }
   

version    OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Version string. e.g. 1.0"
   ::= { product 2 }
   
date    OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Date of version"
   ::= { product 3 }

network			OBJECT IDENTIFIER ::=  { setup 1 }
vlan			OBJECT IDENTIFIER ::=  { setup 2 }
macFilter		OBJECT IDENTIFIER ::=  { setup 3 }
snmpSetup		OBJECT IDENTIFIER ::=  { setup 4 }
sensor1			OBJECT IDENTIFIER ::=  { setup 5 }
sensor2			OBJECT IDENTIFIER ::=  { setup 6 }
analogInput		OBJECT IDENTIFIER ::=  { setup 7 }
digitalInput	OBJECT IDENTIFIER ::=  { setup 8 }
relay	        OBJECT IDENTIFIER ::=  { setup 9 }
recipients      OBJECT IDENTIFIER ::=  { setup 10 }


deviceIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Device IP address"
    ::= { network 1 }


subnetMask OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Subnet Mask"
    ::= { network 2 }

gateway OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Gateway IP address"
    ::= { network 3 }

deviceMACAddress OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Device MAC address"
    ::= { network 4 }

dhcpConfig OBJECT-TYPE
    SYNTAX INTEGER {  off(0), on(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "DHCP configuration ON/OFF"
    ::= { network 5 }

dns OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Domain Name Server Address"
    ::= { network 6 }

hostName  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..38))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Host Name"
    ::= { network 7 }

filterMACAddress1 OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-only
    STATUS mandatory
    DESCRIPTION
        "filter1 MAC address"
    ::= { macFilter 1 }

filterMACEnable1 OBJECT-TYPE
    SYNTAX INTEGER { disabled(0), enabled(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "MAC filter 1 Enable ENABLED/DISABLED"
    ::= { macFilter 2  }
	
filterMACAddress2 OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "filter2 MAC address"
    ::= { macFilter 3 }
	
filterMACEnable2 OBJECT-TYPE
    SYNTAX INTEGER { disabled(0), enabled(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "MAC filter 2 Enable ENABLED/DISABLED"
    ::= { macFilter 4 }

filterMACAddress3 OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "filter3 MAC address"
    ::= { macFilter 5 }

filterMACEnable3 OBJECT-TYPE
    SYNTAX INTEGER { disabled(0), enabled(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "MAC filter 3 Enable ENABLED/DISABLED"
    ::= { macFilter 6 }

vlanStatus OBJECT-TYPE
    SYNTAX INTEGER { disabled(0), enabled(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "VLAN Status ENABLED/DISABLED"
    ::= { vlan 1 }

vlanId OBJECT-TYPE
    SYNTAX INTEGER (0..4095)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "VLAN ID (0-4095)"
    ::= { vlan 2 }

snmpConfiguration OBJECT-TYPE
    SYNTAX INTEGER { disabled(0), enabled(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "SNMP Configuration ENABLED/DISABLED"
    ::= { snmpSetup 1 }
	
trapEnabled OBJECT-TYPE
    SYNTAX INTEGER { no(0), yes(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Indicates if this trap entry is enabled or not."
    ::= { snmpSetup 2 }

trapReceiverIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Trap receiver IP address"
    ::= { snmpSetup 3 }

trapCommunity OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Trap community to be used by agent to send trap"
    ::= { snmpSetup 4 }

trapInterval OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Trap Interval"
    ::= { snmpSetup 5 }

maxNumberOfTraps OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Max Number of Traps"
    ::= { snmpSetup 6 }

temperature1                           		OBJECT IDENTIFIER ::=  { sensor1 1 }

temperature1Min OBJECT-TYPE
    SYNTAX INTEGER (-400..1250)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Temperature minimum"
    ::= { temperature1 1 }
	
temperature1Max OBJECT-TYPE
    SYNTAX INTEGER (-400..1250)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Temperature maximum"
    ::= { temperature1 2 }

temperature1Hyst OBJECT-TYPE
    SYNTAX INTEGER (-400..1250)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Temperature hysteresis"
    ::= { temperature1 3 }

temperature1Action OBJECT-TYPE
    SYNTAX  ACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Temperature Action"
    ::= { temperature1 4 }

humidity1                          		OBJECT IDENTIFIER ::=  { sensor1 2 }

humidity1Min OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Humidity minimum"
    ::= { humidity1 1 }

humidity1Max OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Humidity maximum"
    ::= { humidity1 2 }
	
humidity1Hyst OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Humidity hysteresis"
    ::= { humidity1 3 }

humidity1Action OBJECT-TYPE
    SYNTAX  ACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Humidity Action"
    ::= { humidity1 4 }

temperature2                           		OBJECT IDENTIFIER ::=  { sensor2 1 }

temperature2Min OBJECT-TYPE
    SYNTAX INTEGER (-400..1250)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Temperature minimum"
    ::= { temperature2 1 }
	
temperature2Max OBJECT-TYPE
    SYNTAX INTEGER (-400..1250)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Temperature maximum"
    ::= { temperature2 2 }

temperature2Hyst OBJECT-TYPE
    SYNTAX INTEGER (-400..1250)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Temperature hysteresis"
    ::= { temperature2 3 }

temperature2Action OBJECT-TYPE
    SYNTAX  ACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Temperature Action"
    ::= { temperature2 4 }

humidity2                          		OBJECT IDENTIFIER ::=  { sensor2 2 }

humidity2Min OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Humidity minimum"
    ::= { humidity2 1 }

humidity2Max OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Humidity maximum"
    ::= { humidity2 2 }
	
humidity2Hyst OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Humidity hysteresis"
    ::= { humidity2 3 }

humidity2Action OBJECT-TYPE
    SYNTAX  ACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Humidity Action"
    ::= { humidity2 4 }


input1                        		OBJECT IDENTIFIER ::=  { analogInput 1 }
input2                        		OBJECT IDENTIFIER ::=  { analogInput 2 }

voltage1Min OBJECT-TYPE
    SYNTAX  INTEGER (0..1000)
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage minimum"
    ::= { input1 1 }
	
voltage1Max OBJECT-TYPE
    SYNTAX  INTEGER (0..1000)
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage maximum"
    ::= { input1 2 }

voltage1Hyst OBJECT-TYPE
    SYNTAX  INTEGER (0..1000)
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage hysteresis"
    ::= { input1 3 }

voltage1Action OBJECT-TYPE
    SYNTAX  ACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage Action"
    ::= { input1 4 }
	
voltage1Range OBJECT-TYPE
    SYNTAX  RANGE
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage Range"
    ::= { input1 5 }
	
voltage2Min OBJECT-TYPE
    SYNTAX  INTEGER (0..1000)
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage minimum"
    ::= { input2 1 }
	
voltage2Max OBJECT-TYPE
    SYNTAX  INTEGER (0..1000)
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage maximum"
    ::= { input2 2 }

voltage2Hyst OBJECT-TYPE
    SYNTAX  INTEGER (0..1000)
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage hysteresis"
    ::= { input2 3 }

voltage2Action OBJECT-TYPE
    SYNTAX  ACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage Action"
    ::= { input2 4 }
	
voltage2Range OBJECT-TYPE
    SYNTAX  RANGE
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage Range"
    ::= { input2 5 }

--digitalInput

digitalInput1Action OBJECT-TYPE
    SYNTAX  DACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Digital Input1 Action"
    ::= { digitalInput 1 }

digitalInput2Action OBJECT-TYPE
    SYNTAX  DACTION
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Digital Input1 Action"
    ::= { digitalInput 2 }

	
relay1ControledBy OBJECT-TYPE
    SYNTAX  CONTROLLED
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Relay1 Control Item"
    ::= { relay 1 }
	
relay2ControledBy OBJECT-TYPE
    SYNTAX  CONTROLLED
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Relay2 Control Item"
    ::= { relay 2 }
	
relayPulseWidth OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay Pulse Width"
    ::= { relay 3 }

recipient1EmailAddress  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..38))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Recipient1's e-mail address"
    ::= { recipients 1 }
	
-- control   

--relays			OBJECT IDENTIFIER ::=  { monitor 1 }
--analogs			OBJECT IDENTIFIER ::=  { monitor 2 }
--digitalInputs		OBJECT IDENTIFIER ::=  { monitor 3 }


digitalInput1State OBJECT-TYPE
    SYNTAX INTEGER { off(0), on(1) }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Digital1 Input State"
    ::= { monitorNcontrol 1 }

digitalInput2State OBJECT-TYPE
    SYNTAX INTEGER { off(0), on(1) }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Digital2 Input State"
    ::= { monitorNcontrol 2 }

relay1State OBJECT-TYPE
    SYNTAX INTEGER { off(0), on(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay1 State"
    ::= { monitorNcontrol 3 }

relay1Pulse OBJECT-TYPE
    SYNTAX INTEGER { off(0), on(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay1 Pulse"
    ::= { monitorNcontrol 4 }
	
relay2State OBJECT-TYPE
    SYNTAX INTEGER { off(0), on(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay2 State"
    ::= { monitorNcontrol 5 }

relay2Pulse OBJECT-TYPE
    SYNTAX INTEGER { off(0), on(1) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay2 Pulse"
    ::= { monitorNcontrol 6 }
	
	
voltage1x10Int OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Voltage1 x10 in Integer format"
    ::= { monitorNcontrol 7 }
	
voltage2x10Int OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Voltage2 x10 in Integer format"
    ::= { monitorNcontrol 8 }
	
temp1x10Int OBJECT-TYPE
	SYNTAX INTEGER (-400..1250)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Temperature1 x10 in Integer format"
	::= { monitorNcontrol 9 }
	
temp2x10Int OBJECT-TYPE
	SYNTAX INTEGER (-400..1250)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Temperature2 x10 in Integer format"
	::= { monitorNcontrol 10 }
  
humi1x10Int OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Humidity1 x10 in Integer format"
    ::= { monitorNcontrol 11 }
	
humi2x10Int OBJECT-TYPE
    SYNTAX INTEGER (0..1000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Humidity2 x10 in Integer format"
    ::= { monitorNcontrol 12 }
	
-- inputs	

--- configurationSaved
configurationSaved OBJECT-TYPE
	SYNTAX INTEGER { unsaved(0), saved(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Configuration save status SAVED/UNSAVED"
	::= { monitorNcontrol 13 }

restartDevice OBJECT-TYPE
	SYNTAX INTEGER { cancel(0), restart(1) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Restart Device"
	::= { monitorNcontrol 14 }

-- Traps

trcDigitalInput1State TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {digitalInput1State}
        DESCRIPTION
            "This trap is sent each time when Digital Input 1 changes its state"
       ::=  101

trcDigitalInput2State TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {digitalInput2State}
        DESCRIPTION
            "This trap is sent each time when Digital Input 1 changes its state"
       ::=  102
	   
trcVoltage1x10Int TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {voltage1x10Int}
        DESCRIPTION
            "The voltage measured on Analog Input 1 entered alarm condition"
       ::=  103
	   
trcVoltage2x10Int TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {voltage2x10Int}
        DESCRIPTION
            "The voltage measured on Analog Input 2 entered alarm condition"
       ::=  104
	   
trcTemp1x10Int TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {temp1x10Int}
        DESCRIPTION
            "Temperature 1 entered alarm condition"
       ::=  105
	   
trcTemp2x10Int TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {temp2x10Int}
        DESCRIPTION
            "Temperature 2 entered alarm condition"
       ::=  106
	   
trcHumi1x10Int TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {humi1x10Int}
        DESCRIPTION
            "Humidity 1 entered alarm condition"
       ::=  107
	   
trcHumi2x10Int TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {humi2x10Int}
        DESCRIPTION
            "Humidity 2 entered alarm condition"
       ::=  108
	   
trcRestartDevice TRAP-TYPE
        ENTERPRISE teracom
        VARIABLES  {restartDevice}
        DESCRIPTION
            "Device restart"
       ::=  109
END
