Index: includes/definitions/mibs/gude.inc.php
===================================================================
--- includes/definitions/mibs/gude.inc.php	(Revision 10601)
+++ includes/definitions/mibs/gude.inc.php	(Arbeitskopie)
@@ -568,4 +568,106 @@
   'oid_num' => '.1.3.6.1.4.1.28507.65.1.6.1.1.3'
 );
 
+$mib                                  = 'GUDEADS-ATS3020-MIB';
+$config['mibs'][$mib]['enable']       = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.28507.40';
+$config['mibs'][$mib]['mib_dir']      = 'gude';
+$config['mibs'][$mib]['descr']        = '';
+
+$config['mibs'][$mib]['counter'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'energy',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020AbsEnergyActive',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.3',
+  'scale'   => 1
+);
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'power',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020PowerActive',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.4'
+);
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'current',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020Current',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.5',
+  'scale'   => 0.001
+);
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'voltage',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020Voltage',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.6'
+);
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'frequency',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020Frequency',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.7',
+  'scale'   => 0.01
+);
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'powerfactor',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020PowerFactor',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.8',
+  'scale'   => 0.001
+);
+
+// No sensor type for this yet
+// $config['mibs'][$mib]['sensor'][] = array(
+//   'table'   => 'ats3020PowerTable',
+//   'class'   => 'NONE',
+//   'descr'   => 'Output %index%',
+//   'oid'     => 'ats3020Pangle',
+//   'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.9',
+//   'scale'   => 0.1
+// );
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'apower',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020PowerApparent',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.10'
+);
+
+$config['mibs'][$mib]['sensor'][] = array(
+  'table'   => 'ats3020PowerTable',
+  'class'   => 'rpower',
+  'descr'   => 'Output %index%',
+  'oid'     => 'ats3020PowerReactive',
+  'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.1.2.1.11'
+);
+
+$config['mibs'][$mib]['status'][] = array('oid' => 'ats3020PrimPowAvail', 'descr' => 'Primary available', 'measured' => 'device', 'type' => 'ats3020PrimPowAvail', 'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.11.1.0');
+
+$type = 'ats3020PrimPowAvail';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'no', 'event' => 'alert');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'yes', 'event' => 'ok');
+
+$config['mibs'][$mib]['status'][] = array('oid' => 'ats3020SecPowAvail', 'descr' => 'Secondary available', 'measured' => 'device', 'type' => 'ats3020SecPowAvail', 'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.11.2.0');
+
+$type = 'ats3020SecPowAvail';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'no', 'event' => 'alert');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'yes', 'event' => 'ok');
+
+$config['mibs'][$mib]['status'][] = array('oid' => 'ats3020PowerSelect', 'descr' => 'Power Source', 'measured' => 'device', 'type' => 'ats3020PowerSelect', 'oid_num' => '.1.3.6.1.4.1.28507.40.1.5.11.4.0');
+
+$type = 'ats3020PowerSelect';
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'Primary', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'Primary', 'event' => 'alert');
+
 // EOF
Index: includes/definitions/models.inc.php
===================================================================
--- includes/definitions/models.inc.php	(Revision 10601)
+++ includes/definitions/models.inc.php	(Arbeitskopie)
@@ -859,6 +859,7 @@
   '.1.3.6.1.4.1.28507.23'          => array('name' => 'Expert PDU 8110',      'mibs' => array('GUDEADS-PDU8110-MIB')),
   '.1.3.6.1.4.1.28507.27'          => array('name' => 'Expert PDU 8310',      'mibs' => array('GUDEADS-PDU8310-MIB')),
   '.1.3.6.1.4.1.28507.35'          => array('name' => 'Expert PDU 818X',      'mibs' => array('GUDEADS-PDU818X-MIB')),
+  '.1.3.6.1.4.1.28507.40'          => array('name' => 'ATS 3020 RM',          'mibs' => array('GUDEADS-ATS3020-MIB')),
   '.1.3.6.1.4.1.28507.54'          => array('name' => 'Expert PDU 8340',      'mibs' => array('GUDEADS-PDU8340-MIB')),
   '.1.3.6.1.4.1.28507.62'          => array('name' => 'Expert PDU 8311',      'mibs' => array('GUDEADS-PDU8311-MIB')),
   '.1.3.6.1.4.1.28507.65'          => array('name' => 'Expert PDU 8341',      'mibs' => array('GUDEADS-PDU8341-MIB')),
Index: includes/definitions/os/gude.inc.php
===================================================================
--- includes/definitions/os/gude.inc.php	(Revision 10601)
+++ includes/definitions/os/gude.inc.php	(Arbeitskopie)
@@ -52,4 +52,16 @@
 $config['os'][$os]['sysDescr_regex'][]      = '/^(?<hardware>.+)$/';
 $config['os'][$os]['model']                 = "gude";
 
+
+$os = "gude-ats";
+$config['os'][$os]['text']                  = "Gude Automatic Transfer Switch";
+$config['os'][$os]['vendor']                = "Gude";
+$config['os'][$os]['group']                 = "pdu";
+$config['os'][$os]['type']                  = "power";
+$config['os'][$os]['graphs'][]              = "device_voltage";
+$config['os'][$os]['graphs'][]              = "device_current";
+$config['os'][$os]['graphs'][]              = "device_frequency";
+$config['os'][$os]['graphs'][]              = "device_power";
+$config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.28507.40";
+$config['os'][$os]['mibs'][]                = "GUDEADS-ATS3020-MIB";
 // EOF
Index: mibs/gude/GUDEADS-ATS3020-MIB
===================================================================
--- mibs/gude/GUDEADS-ATS3020-MIB	(nicht existent)
+++ mibs/gude/GUDEADS-ATS3020-MIB	(Arbeitskopie)
@@ -0,0 +1,748 @@
+GUDEADS-ATS3020-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+	enterprises,
+	MODULE-IDENTITY,
+	OBJECT-TYPE,
+	NOTIFICATION-TYPE,
+	Integer32,
+	Unsigned32
+		FROM SNMPv2-SMI
+	OBJECT-GROUP,
+	NOTIFICATION-GROUP
+		FROM SNMPv2-CONF;
+
+gudeads MODULE-IDENTITY
+	LAST-UPDATED "200705231244Z"	-- May 23, 2007 12:44:00 PM
+	ORGANIZATION "Gude Analog- und Digitalsysteme GmbH"
+	CONTACT-INFO
+		"http://www.gudeads.com/"
+	DESCRIPTION
+		""
+	REVISION "200705231244Z"	-- May 23, 2007 12:44:00 PM
+	DESCRIPTION
+		"Initial version."
+	-- 1.3.6.1.4.1.28507
+	::= { enterprises 28507 }
+
+
+gadsATS3020 OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40
+	::= { gudeads 40 }
+
+-- Notification Types
+--
+
+ats3020Events OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.0
+	::= { gadsATS3020 0 }
+
+-- Scalars and Tables
+--
+
+ats3020Objects OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1
+	::= { gadsATS3020 1 }
+
+ats3020CommonConfig OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.1
+	::= { ats3020Objects 1 }
+
+ats3020SNMPaccess OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.1.1
+	::= { ats3020CommonConfig 1 }
+
+ats3020TrapCtrl OBJECT-TYPE
+	SYNTAX  Integer32 (0..2)
+	MAX-ACCESS read-write
+	STATUS  current
+	DESCRIPTION
+		"0 = off
+		1 = Ver. 1
+		2 = Ver. 2c"
+	-- 1.3.6.1.4.1.28507.40.1.1.1.1
+	::= { ats3020SNMPaccess 1 }
+
+
+ats3020TrapIPTable OBJECT-TYPE
+	SYNTAX  SEQUENCE OF Ats3020TrapIPEntry
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION
+		"list of all Trap receiver"
+	-- 1.3.6.1.4.1.28507.40.1.1.1.2
+	::= { ats3020SNMPaccess 2 }
+
+
+ats3020TrapIPEntry OBJECT-TYPE
+	SYNTAX  Ats3020TrapIPEntry
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION
+		"an entry containing management
+		informations regarding the list of trap
+		receivers"
+	INDEX {
+		ats3020TrapIPIndex }
+	-- 1.3.6.1.4.1.28507.40.1.1.1.2.1
+	::= { ats3020TrapIPTable 1 }
+
+
+Ats3020TrapIPEntry ::= SEQUENCE {
+
+	ats3020TrapIPIndex Integer32,
+	ats3020TrapAddr    OCTET STRING }
+
+
+ats3020TrapIPIndex OBJECT-TYPE
+	SYNTAX  Integer32 (1..8)
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION
+		"A unique value, greater than zero, for each receiver slot."
+	-- 1.3.6.1.4.1.28507.40.1.1.1.2.1.1
+	::= { ats3020TrapIPEntry 1 }
+
+
+ats3020TrapAddr OBJECT-TYPE
+	SYNTAX  OCTET STRING (SIZE (0..99))
+	MAX-ACCESS read-write
+	STATUS  current
+	DESCRIPTION
+		"DNS name or IP address specifying one Trap receiver slot.
+		A port can optionally be specified: 'name:port' An empty
+		string disables this slot."
+	-- 1.3.6.1.4.1.28507.40.1.1.1.2.1.2
+	::= { ats3020TrapIPEntry 2 }
+
+
+ats3020IntActors OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.3
+	::= { ats3020Objects 3 }
+
+ats3020Buzzer OBJECT-TYPE
+	SYNTAX  Integer32 (0..1)
+	UNITS
+		"0 = Off, 1 = On"
+	MAX-ACCESS read-write
+	STATUS  current
+	DESCRIPTION
+		"turn Buzzer on and off"
+	-- 1.3.6.1.4.1.28507.40.1.3.10
+	::= { ats3020IntActors 10 }
+
+
+ats3020IntSensors OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.5
+	::= { ats3020Objects 5 }
+
+ats3020PowerChan OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.5.1
+	::= { ats3020IntSensors 1 }
+
+ats3020ActivePowerChan OBJECT-TYPE
+	SYNTAX  Unsigned32 (1)
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Number of suppported Power Channels."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.1
+	::= { ats3020PowerChan 1 }
+
+
+ats3020PowerTable OBJECT-TYPE
+	SYNTAX  SEQUENCE OF Ats3020PowerEntry
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION
+		"All available Channel Interfaces."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2
+	::= { ats3020PowerChan 2 }
+
+
+ats3020PowerEntry OBJECT-TYPE
+	SYNTAX  Ats3020PowerEntry
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION
+		"An entry containing management information
+		applicable to a particular Power Channel."
+	INDEX {
+		ats3020PowerIndex }
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1
+	::= { ats3020PowerTable 1 }
+
+
+Ats3020PowerEntry ::= SEQUENCE {
+
+	ats3020PowerIndex                   Integer32,
+	ats3020ChanStatus                   Integer32,
+	ats3020AbsEnergyActive              Unsigned32,
+	ats3020PowerActive                  Integer32,
+	ats3020Current                      Unsigned32,
+	ats3020Voltage                      Unsigned32,
+	ats3020Frequency                    Unsigned32,
+	ats3020PowerFactor                  Integer32,
+	ats3020Pangle                       Integer32,
+	ats3020PowerApparent                Integer32,
+	ats3020PowerReactive                Integer32,
+	ats3020AbsEnergyReactive            Unsigned32,
+	ats3020AbsEnergyActiveResettable    Unsigned32,
+	ats3020AbsEnergyReactiveResettable  Unsigned32,
+	ats3020ResetTime                    Unsigned32,
+	ats3020ForwEnergyActive             Unsigned32,
+	ats3020ForwEnergyReactive           Unsigned32,
+	ats3020ForwEnergyActiveResettable   Unsigned32,
+	ats3020ForwEnergyReactiveResettable Unsigned32,
+	ats3020RevEnergyActive              Unsigned32,
+	ats3020RevEnergyReactive            Unsigned32,
+	ats3020RevEnergyActiveResettable    Unsigned32,
+	ats3020RevEnergyReactiveResettable  Unsigned32 }
+
+
+ats3020PowerIndex OBJECT-TYPE
+	SYNTAX  Integer32 (1)
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION
+		"Index of Power Channel entries"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.1
+	::= { ats3020PowerEntry 1 }
+
+
+ats3020ChanStatus OBJECT-TYPE
+	SYNTAX  Integer32 (0..1)
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"0 = data not active, 1 = data valid"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.2
+	::= { ats3020PowerEntry 2 }
+
+
+ats3020AbsEnergyActive OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"Wh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Absolute Active Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.3
+	::= { ats3020PowerEntry 3 }
+
+
+ats3020PowerActive OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"W"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Active Power"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.4
+	::= { ats3020PowerEntry 4 }
+
+
+ats3020Current OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"mA"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Actual Curent on Power Channel."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.5
+	::= { ats3020PowerEntry 5 }
+
+
+ats3020Voltage OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"V"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Actual Voltage on Power Channel"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.6
+	::= { ats3020PowerEntry 6 }
+
+
+ats3020Frequency OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"0.01 hz"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Frequency of Power Channel"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.7
+	::= { ats3020PowerEntry 7 }
+
+
+ats3020PowerFactor OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"0.001"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Power Factor of Channel between
+		-1.0 and 1.00"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.8
+	::= { ats3020PowerEntry 8 }
+
+
+ats3020Pangle OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"0.1 degree"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Phase Angle between Voltage
+		and L Line Current between
+		-180.0 and 180.0"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.9
+	::= { ats3020PowerEntry 9 }
+
+
+ats3020PowerApparent OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"VA"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"L Line Mean Apparent Power"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.10
+	::= { ats3020PowerEntry 10 }
+
+
+ats3020PowerReactive OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"VAR"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"L Line Mean Reactive Power"
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.11
+	::= { ats3020PowerEntry 11 }
+
+
+ats3020AbsEnergyReactive OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"VARh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Absolute Reactive Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.12
+	::= { ats3020PowerEntry 12 }
+
+
+ats3020AbsEnergyActiveResettable OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"Wh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Resettable Absolute Active Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.13
+	::= { ats3020PowerEntry 13 }
+
+
+ats3020AbsEnergyReactiveResettable OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"VARh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Resettable Absolute Reactive Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.14
+	::= { ats3020PowerEntry 14 }
+
+
+ats3020ResetTime OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"s"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Time in seconds since last Energy
+		Counter reset."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.15
+	::= { ats3020PowerEntry 15 }
+
+
+ats3020ForwEnergyActive OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"Wh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Forward Active Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.16
+	::= { ats3020PowerEntry 16 }
+
+
+ats3020ForwEnergyReactive OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"VARh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Forward Reactive Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.17
+	::= { ats3020PowerEntry 17 }
+
+
+ats3020ForwEnergyActiveResettable OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"Wh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Resettable Forward Active Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.18
+	::= { ats3020PowerEntry 18 }
+
+
+ats3020ForwEnergyReactiveResettable OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"VARh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Resettable Forward Reactive Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.19
+	::= { ats3020PowerEntry 19 }
+
+
+ats3020RevEnergyActive OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"Wh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Reverse Active Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.20
+	::= { ats3020PowerEntry 20 }
+
+
+ats3020RevEnergyReactive OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"VARh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Reverse Reactive Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.21
+	::= { ats3020PowerEntry 21 }
+
+
+ats3020RevEnergyActiveResettable OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"Wh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Resettable Reverse Active Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.22
+	::= { ats3020PowerEntry 22 }
+
+
+ats3020RevEnergyReactiveResettable OBJECT-TYPE
+	SYNTAX  Unsigned32
+	UNITS
+		"VARh"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"Resettable Reverse Reactive Energy counter."
+	-- 1.3.6.1.4.1.28507.40.1.5.1.2.1.23
+	::= { ats3020PowerEntry 23 }
+
+
+ats3020PowerInfo OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.5.11
+	::= { ats3020IntSensors 11 }
+
+ats3020PrimPowAvail OBJECT-TYPE
+	SYNTAX  Integer32
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"not zero if primary Power available"
+	-- 1.3.6.1.4.1.28507.40.1.5.11.1
+	::= { ats3020PowerInfo 1 }
+
+
+ats3020SecPowAvail OBJECT-TYPE
+	SYNTAX  Integer32
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"not zero if secondary Power available"
+	-- 1.3.6.1.4.1.28507.40.1.5.11.2
+	::= { ats3020PowerInfo 2 }
+
+
+ats3020PowerSelect OBJECT-TYPE
+	SYNTAX  Integer32
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"if 1, power is primary
+		if 2, power is secondary"
+	-- 1.3.6.1.4.1.28507.40.1.5.11.4
+	::= { ats3020PowerInfo 4 }
+
+
+ats3020ExtSensors OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.1.6
+	::= { ats3020Objects 6 }
+
+ats3020SensorTable OBJECT-TYPE
+	SYNTAX  SEQUENCE OF Ats3020SensorEntry
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION ""
+	-- 1.3.6.1.4.1.28507.40.1.6.1
+	::= { ats3020ExtSensors 1 }
+
+
+ats3020SensorEntry OBJECT-TYPE
+	SYNTAX  Ats3020SensorEntry
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION ""
+	INDEX {
+		ats3020SensorIndex }
+	-- 1.3.6.1.4.1.28507.40.1.6.1.1
+	::= { ats3020SensorTable 1 }
+
+
+Ats3020SensorEntry ::= SEQUENCE {
+
+	ats3020SensorIndex Integer32,
+	ats3020TempSensor  Integer32,
+	ats3020HygroSensor Integer32,
+	ats3020InputSensor INTEGER }
+
+
+ats3020SensorIndex OBJECT-TYPE
+	SYNTAX  Integer32 (1..2)
+	MAX-ACCESS not-accessible
+	STATUS  current
+	DESCRIPTION ""
+	-- 1.3.6.1.4.1.28507.40.1.6.1.1.1
+	::= { ats3020SensorEntry 1 }
+
+
+ats3020TempSensor OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"0.1 degree Celsius"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"actual temperature,  a value of -9999 indicates
+		that data is not available"
+	-- 1.3.6.1.4.1.28507.40.1.6.1.1.2
+	::= { ats3020SensorEntry 2 }
+
+
+ats3020HygroSensor OBJECT-TYPE
+	SYNTAX  Integer32
+	UNITS
+		"0.1 percent humidity"
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"actual humidity,  a value of -9999 indicates
+		that data is not available"
+	-- 1.3.6.1.4.1.28507.40.1.6.1.1.3
+	::= { ats3020SensorEntry 3 }
+
+
+ats3020InputSensor OBJECT-TYPE
+	SYNTAX  INTEGER {
+			off(0),
+			on(1) }
+	MAX-ACCESS read-only
+	STATUS  current
+	DESCRIPTION
+		"logical state of input sensor"
+	-- 1.3.6.1.4.1.28507.40.1.6.1.1.4
+	::= { ats3020SensorEntry 4 }
+
+
+-- Conformance
+--
+
+ats3020Conf OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.3
+	::= { gadsATS3020 3 }
+
+-- Groups
+--
+
+ats3020Groups OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.3.1
+	::= { ats3020Conf 1 }
+
+-- Compliance
+--
+
+ats3020Compls OBJECT IDENTIFIER 
+	-- 1.3.6.1.4.1.28507.40.3.2
+	::= { ats3020Conf 2 }
+
+
+ats3020PrimaryPowerChangeEvt NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020PrimPowAvail}
+	STATUS  current
+	DESCRIPTION
+		"Event is triggered when a primary power
+		changes"
+	-- 1.3.6.1.4.1.28507.40.0.1
+	::= { ats3020Events 1 }
+
+
+ats3020SecondaryPowerChangeEvt NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020SecPowAvail}
+	STATUS  current
+	DESCRIPTION
+		"Event is triggered when a secondary power
+		changes"
+	-- 1.3.6.1.4.1.28507.40.0.2
+	::= { ats3020Events 2 }
+
+
+ats3020PowerSelectEvt NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020PowerSelect}
+	STATUS  current
+	DESCRIPTION
+		"Event is triggered when power changes
+		between primary and secondary"
+	-- 1.3.6.1.4.1.28507.40.0.3
+	::= { ats3020Events 3 }
+
+
+ats3020TempEvtSen1 NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020TempSensor}
+	STATUS  current
+	DESCRIPTION
+		"temperature limits exceeded"
+	-- 1.3.6.1.4.1.28507.40.0.4
+	::= { ats3020Events 4 }
+
+
+ats3020HygroEvtSen1 NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020HygroSensor}
+	STATUS  current
+	DESCRIPTION
+		"hygro limits exceeded"
+	-- 1.3.6.1.4.1.28507.40.0.5
+	::= { ats3020Events 5 }
+
+
+ats3020InputEvtSen1 NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020InputSensor}
+	STATUS  current
+	DESCRIPTION
+		"change of logical input sensor state"
+	-- 1.3.6.1.4.1.28507.40.0.6
+	::= { ats3020Events 6 }
+
+
+ats3020AmperageEvt1 NOTIFICATION-TYPE
+	OBJECTS {
+		ats3020PowerActive,
+		ats3020Current,
+		ats3020Voltage,
+		ats3020Frequency,
+		ats3020PowerApparent,
+		ats3020PowerReactive}
+	STATUS  current
+	DESCRIPTION
+		"Event is triggered when a measured
+		current is crossing the entered limits"
+	-- 1.3.6.1.4.1.28507.40.0.7
+	::= { ats3020Events 7 }
+
+ats3020BasicGroup OBJECT-GROUP
+	OBJECTS {
+		ats3020TrapCtrl,
+		ats3020TrapAddr,
+		ats3020Buzzer,
+		ats3020ActivePowerChan,
+		ats3020ChanStatus,
+		ats3020AbsEnergyActive,
+		ats3020PowerActive,
+		ats3020Current,
+		ats3020Voltage,
+		ats3020Frequency,
+		ats3020PowerFactor,
+		ats3020Pangle,
+		ats3020PowerApparent,
+		ats3020PowerReactive,
+		ats3020AbsEnergyReactive,
+		ats3020AbsEnergyActiveResettable,
+		ats3020AbsEnergyReactiveResettable,
+		ats3020ResetTime,
+		ats3020ForwEnergyActive,
+		ats3020ForwEnergyReactive,
+		ats3020ForwEnergyActiveResettable,
+		ats3020ForwEnergyReactiveResettable,
+		ats3020RevEnergyActive,
+		ats3020RevEnergyReactive,
+		ats3020RevEnergyActiveResettable,
+		ats3020RevEnergyReactiveResettable,
+		ats3020PrimPowAvail,
+		ats3020SecPowAvail,
+		ats3020PowerSelect,
+		ats3020TempSensor,
+		ats3020HygroSensor,
+		ats3020InputSensor }
+	STATUS  current
+	DESCRIPTION
+		"Basic objects."
+	-- 1.3.6.1.4.1.28507.40.3.1.1
+	::= { ats3020Groups 1 }
+
+ats3020NotificationGroup NOTIFICATION-GROUP
+	NOTIFICATIONS {
+		ats3020PrimaryPowerChangeEvt,
+		ats3020SecondaryPowerChangeEvt,
+		ats3020PowerSelectEvt,
+		ats3020TempEvtSen1,
+		ats3020HygroEvtSen1,
+		ats3020InputEvtSen1,
+		ats3020AmperageEvt1 }
+	STATUS  current
+	DESCRIPTION
+		""
+	-- 1.3.6.1.4.1.28507.40.3.1.2
+	::= { ats3020Groups 2 }
+
+END