Index: includes/definitions/mibs/dcn-qtech.inc.php
===================================================================
--- includes/definitions/mibs/dcn-qtech.inc.php	(nonexistent)
+++ includes/definitions/mibs/dcn-qtech.inc.php	(working copy)
@@ -0,0 +1,166 @@
+<?php
+/**
+ * Observium
+ *
+ *   This file is part of Observium.
+ *
+ * @package    observium
+ * @subpackage definitions
+ * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2020 Observium Limited
+ *
+ */
+// QTECH (DCN OEM)
+$mib = 'QTECH-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '1.3.6.1.4.1.27514';
+$config['mibs'][$mib]['mib_dir'] = 'qtech';
+$config['mibs'][$mib]['descr'] = 'QTECH Switch MIB';
+
+// QTECH-MIB::sysHardwareVersion.0 = STRING: "1.0.0"
+// QTECH-MIB::sysSoftwareVersion.0 = STRING: "7.0.3.5(R0217.0148)"
+$config['mibs'][$mib]['version'][] = array('oid' => 'sysSoftwareVersion.0', 'transformations' => array('action' => 'explode', 'delimiter' => '(', 'index' => 'first')); // SNR-SWITCH-MIB::sysSoftwareVersion.0 = STRING: "7.0.3.1(R0244.0117)"
+$config['mibs'][$mib]['features'][] = array('oid' => 'sysHardwareVersion.0'); // SNR-SWITCH-MIB::sysHardwareVersion.0 = STRING: "1.0.2"
+
+//QTECH-MIB::sysStackFlag.0 = INTEGER: noStack(2)
+
+// QTECH-MIB::switchCPUType.0 = STRING: "MIPS3300 266M"
+// QTECH-MIB::switchCPUFiveSecondIdle.0 = INTEGER: 87
+// QTECH-MIB::switchCPUThirtySecondIdle.0 = INTEGER: 80
+// QTECH-MIB::switchCPUFiveMinuteIdle.0 = INTEGER: 79
+// QTECH-MIB::switchCPUIdle.0 = INTEGER: 79
+// QTECH-MIB::switchCpuUsage.0 = INTEGER: 24
+$config['mibs'][$mib]['processor']['switchCpuUsage'] = array(
+  'type'    => 'static',
+  'oid_descr' => 'switchCPUType.0',
+  'oid'     => 'switchCpuUsage.0',
+  'oid_num' => '1.3.6.1.4.1.27514.100.1.11.10.0' // switchCpuUsage.0 = INTEGER: 14
+);
+
+// QTECH-MIB::switchMemorySize.0 = INTEGER: 67108864
+// QTECH-MIB::switchMemoryBusy.0 = INTEGER: 52527104
+// QTECH-MIB::switchMemoryUsage.0 = No Such Object available on this agent at this OID
+$config['mibs'][$mib]['mempool']['switchMemorySize'] = array(
+  'type'          => 'static',
+  'descr'         => 'Memory',
+  'scale'         => 1,
+  'oid_used'      => 'switchMemoryBusy.0',
+  'oid_used_num'  => '1.3.6.1.4.1.27514.100.1.11.7.0',
+  'oid_total'     => 'switchMemorySize.0',
+  'oid_total_num' => '1.3.6.1.4.1.27514.100.1.11.6.0'
+);
+
+$config['mibs'][$mib]['sensor'][] = [
+  'oid' => 'switchTemperature',
+  'class'    => 'temperature',
+  'descr'    => 'Switch Temperature',
+  'measured' => 'device',
+  'oid_num'  => '1.3.6.1.4.1.27514.100.1.11.9'
+];
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'    => 'sysFanTable',
+  'oid'      => 'sysFanStatus',
+  'descr'    => 'Fan %index%',
+  'oid_num'  => '1.3.6.1.4.1.27514.100.1.12.1.3',
+  'measured' => 'fan',
+  'type'     => 'sysFanStatus'
+);
+$type = 'sysFanStatus';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'normal', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'abnormal', 'event' => 'alert');
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'    => 'sysFanTable',
+  'oid'      => 'sysFanSpeed',
+  'descr'    => 'Fan %index% Speed',
+  'oid_num'  => '1.3.6.1.4.1.27514.100.1.12.1.4',
+  'type'     => 'sysFanSpeed',
+  'measured' => 'fan'
+);
+$type = 'sysFanSpeed';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'none',         'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'low',          'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'medium-low',   'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'medium',       'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][4] = array('name' => 'medium-high',  'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][5] = array('name' => 'high',         'event' => 'alert');
+
+// DDM Sensors
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisTemperature',
+  'class'               => 'temperature',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% Temperature',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.2',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagTempLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagTempLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagTempHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagTempHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisVoltage',
+  'class'               => 'voltage',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% Voltage',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.7',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagVoltLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagVoltLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagVoltHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagVoltHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisBias',
+  'class'               => 'current',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% TX Bias',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.12',
+  'scale'               => 0.001,
+  'limit_scale'         => 0.001,
+  'oid_limit_low'       => 'ddmDiagBiasLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagBiasLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagBiasHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagBiasHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisTXPower',
+  'class'               => 'dbm',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% TX Power',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.22',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagTXPowerLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagTXPowerLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagTXPowerHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagTXPowerHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisRXPower',
+  'class'               => 'dbm',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% RX Power',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.17',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagRXPowerLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagRXPowerLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagRXPowerHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagRXPowerHighWarnThreshold',
+];
+
+// EOF
Index: includes/definitions/mibs/dcn-snr.inc.php
===================================================================
--- includes/definitions/mibs/dcn-snr.inc.php	(nonexistent)
+++ includes/definitions/mibs/dcn-snr.inc.php	(working copy)
@@ -0,0 +1,222 @@
+<?php
+/**
+ * Observium
+ *
+ *   This file is part of Observium.
+ *
+ * @package    observium
+ * @subpackage definitions
+ * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2020 Observium Limited
+ *
+ */
+// SNR (DCN OEM)
+$mib = 'SNR-SWITCH-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.40418.7';
+$config['mibs'][$mib]['mib_dir'] = 'snr';
+$config['mibs'][$mib]['descr'] = 'SNR Switch MIB';
+
+// SNR-SWITCH-MIB::sysHardwareVersion.0 = STRING: "1.0.1"
+// SNR-SWITCH-MIB::sysSoftwareVersion.0 = STRING: "7.5.3.2(R0004.0281)"
+$config['mibs'][$mib]['version'][] = array('oid' => 'sysSoftwareVersion.0'); //, 'transformations' => array('action' => 'explode', 'delimiter' => '(', 'index' => 'first')); // SNR-SWITCH-MIB::sysSoftwareVersion.0 = STRING: "7.0.3.1(R0244.0117)"
+$config['mibs'][$mib]['features'][] = array('oid' => 'sysHardwareVersion.0'); // SNR-SWITCH-MIB::sysHardwareVersion.0 = STRING: "1.0.2"
+
+// SNR-SWITCH-MIB::sysStackFlag.0 = INTEGER: noStack(2)
+
+// SNR-SWITCH-MIB::switchCPUType.0 = STRING: "ARM"
+// SNR-SWITCH-MIB::switchCPUFiveSecondIdle.0 = INTEGER: 86
+// SNR-SWITCH-MIB::switchCPUThirtySecondIdle.0 = INTEGER: 86
+// SNR-SWITCH-MIB::switchCPUFiveMinuteIdle.0 = INTEGER: 89
+// SNR-SWITCH-MIB::switchCPUIdle.0 = INTEGER: 88
+// SNR-SWITCH-MIB::switchCpuUsage.0 = INTEGER: 10
+$config['mibs'][$mib]['processor']['switchCpuUsage'] = array(
+  'type'    => 'static',
+  'oid_descr' => 'switchCPUType.0',
+  'oid'     => 'switchCpuUsage.0',
+  'oid_num' => '.1.3.6.1.4.1.40418.7.100.1.11.10.0' // switchCpuUsage.0 = INTEGER: 14
+);
+
+// SNR-SWITCH-MIB::switchMemorySize.0 = INTEGER: 536870912
+// SNR-SWITCH-MIB::switchMemoryBusy.0 = INTEGER: 167272448
+// SNR-SWITCH-MIB::switchMemoryUsage.0 = INTEGER: 31
+$config['mibs'][$mib]['mempool']['switchMemorySize'] = array(
+  'type'          => 'static',
+  'descr'         => 'Memory',
+  'scale'         => 1,
+  'oid_used'      => 'switchMemoryBusy.0',
+  'oid_used_num'  => '.1.3.6.1.4.1.40418.7.100.1.11.7.0',
+  'oid_total'     => 'switchMemorySize.0',
+  'oid_total_num' => '.1.3.6.1.4.1.40418.7.100.1.11.6.0'
+);
+
+// SNR-SWITCH-MIB::switchTemperature.0 = INTEGER: 24
+$config['mibs'][$mib]['sensor'][] = [
+  'oid' => 'switchTemperature',
+  'class'    => 'temperature',
+  'descr'    => 'Switch Temperature',
+  'measured' => 'device',
+  'invalid'  => 268435356,
+  'oid_num'  => '.1.3.6.1.4.1.40418.7.100.1.11.9'
+];
+
+// SNR-SWITCH-MIB::sysFanInserted.1 = INTEGER: sysFanInstalled(1)
+// SNR-SWITCH-MIB::sysFanStatus.1 = INTEGER: normal(0)
+// SNR-SWITCH-MIB::sysFanSpeed.1 = INTEGER: low(1)
+$config['mibs'][$mib]['status'][] = array(
+  'table'    => 'sysFanTable',
+  'oid'      => 'sysFanStatus',
+  'descr'    => 'Fan %index%',
+  'oid_num'  => '.1.3.6.1.4.1.40418.7.100.1.12.1.3',
+  'measured' => 'fan',
+  'type'     => 'sysFanStatus'
+);
+$type = 'sysFanStatus';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'normal', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'abnormal', 'event' => 'alert');
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'    => 'sysFanTable',
+  'oid'      => 'sysFanSpeed',
+  'descr'    => 'Fan %index% Speed',
+  'oid_num'  => '.1.3.6.1.4.1.40418.7.100.1.12.1.4',
+  'type'     => 'sysFanSpeed',
+  'measured' => 'fan'
+);
+$type = 'sysFanSpeed';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'none',         'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'low',          'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'medium-low',   'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'medium',       'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][4] = array('name' => 'medium-high',  'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][5] = array('name' => 'high',         'event' => 'alert');
+
+// Power Supplies- WorkInProgress
+// priPowerTable from S2995G-24FX
+// SNR-SWITCH-MIB::priPowerIndex.1 = INTEGER: 1
+// SNR-SWITCH-MIB::priPowerIndex.2 = INTEGER: 2
+// SNR-SWITCH-MIB::priPowerPresent.1 = INTEGER: 1
+// SNR-SWITCH-MIB::priPowerPresent.2 = INTEGER: 2
+// SNR-SWITCH-MIB::priPowerSupply.1 = INTEGER: 1
+// SNR-SWITCH-MIB::priPowerSupply.2 = INTEGER: 2
+// SNR-SWITCH-MIB::priPowerTable.2.0 = INTEGER: 1
+// priPowerTable from S2982G-24T, S2965-24T, S2965-24T-UPS
+// SNR-SWITCH-MIB::priPowerTable.2.0 = INTEGER: 1
+$config['mibs'][$mib]['status'][] = array(
+  'measured'     => 'powersupply',
+  'oid'          => 'priPowerTable.2', // BAD OID = index is priPowerTable.2 - out of the table
+  'descr'        => 'Power Source',
+  'type'         => 'priPowerStatus',
+  'oid_num'      => '.1.3.6.1.4.1.40418.7.100.1.23.2'
+);
+
+$type = 'priPowerStatus';
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'AC', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'DC', 'event' => 'ok');
+
+$config['mibs'][$mib]['status'][] = array(
+  'measured'     => 'powersupply',
+  'table'        => 'priPowerTable',
+  'oid'          => 'priPowerPresent',
+  'type'         => 'priPowerPresent',
+  'oid_num'      => '.1.3.6.1.4.1.40418.7.100.1.23.1.2',
+  'descr'        => 'Power Supply %index%'
+);
+
+$type = 'priPowerPresent';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'not present', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'present',     'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'unknown',     'event' => 'ok');
+
+$config['mibs'][$mib]['status'][] = array(
+  'measured'     => 'powersupply',
+  'table'        => 'priPowerTable',
+  'oid'          => 'priPowerSupply',
+  'type'         => 'priPowerSupply',
+  'oid_num'      => '.1.3.6.1.4.1.40418.7.100.1.23.1.3',
+  'descr'        => 'Power Supply %index%'
+);
+
+$type = 'priPowerSupply';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'shutdown', 'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'up',       'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'unknown',  'event' => 'ok');
+
+// DDM Sensors
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisTemperature',
+  'class'               => 'temperature',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% Temperature',
+  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.2',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagTempLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagTempLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagTempHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagTempHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisVoltage',
+  'class'               => 'voltage',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% Voltage',
+  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.7',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagVoltLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagVoltLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagVoltHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagVoltHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisBias',
+  'class'               => 'current',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% TX Bias',
+  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.12',
+  'scale'               => 0.001,
+  'limit_scale'         => 0.001,
+  'oid_limit_low'       => 'ddmDiagBiasLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagBiasLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagBiasHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagBiasHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisTXPower',
+  'class'               => 'dbm',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% TX Power',
+  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.22',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagTXPowerLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagTXPowerLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagTXPowerHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagTXPowerHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisRXPower',
+  'class'               => 'dbm',
+  'measured'            => 'port',
+  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% RX Power',
+  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.17',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagRXPowerLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagRXPowerLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagRXPowerHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagRXPowerHighWarnThreshold',
+];
+
+// EOF
Index: includes/definitions/mibs/mikrotik.inc.php
===================================================================
--- includes/definitions/mibs/mikrotik.inc.php	(revision 10991)
+++ includes/definitions/mibs/mikrotik.inc.php	(working copy)
@@ -365,7 +365,7 @@
 );
 
 $type = 'mtxrPOEStatus'; // also possible unknown states 0 and 5
-$config['mibs'][$mib]['states'][$type][1]  = array('name' => 'disabled',       'event' => 'exclude');
+$config['mibs'][$mib]['states'][$type][1]  = array('name' => 'disabled',       'event' => 'ok');
 $config['mibs'][$mib]['states'][$type][2]  = array('name' => 'waitingForLoad', 'event' => 'ignore', 'discovery' => 'sensors'); // force rediscover sensors if state changed from this value
 $config['mibs'][$mib]['states'][$type][3]  = array('name' => 'poweredOn',      'event' => 'ok');
 $config['mibs'][$mib]['states'][$type][3]  = array('name' => 'overload',       'event' => 'warning');
Index: includes/definitions/mibs/qtech.inc.php
===================================================================
--- includes/definitions/mibs/qtech.inc.php	(revision 10991)
+++ includes/definitions/mibs/qtech.inc.php	(working copy)
@@ -32,146 +32,4 @@
   'oid_free'  => 'memoryIdle.0', // GBNPlatformOAM-MIB::memoryIdle.0 = INTEGER: 51
 );
 
-
-// QTECH (like DCN)
-
-$mib = 'QTECH-MIB';
-$config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['identity_num'] = '1.3.6.1.4.1.27514';
-$config['mibs'][$mib]['mib_dir'] = 'snr';
-$config['mibs'][$mib]['descr'] = 'QTECH Switch MIB';
-
-$config['mibs'][$mib]['version'][] = array('oid' => 'sysSoftwareVersion.0', 'transformations' => array('action' => 'explode', 'delimiter' => '(', 'index' => 'first')); // SNR-SWITCH-MIB::sysSoftwareVersion.0 = STRING: "7.0.3.1(R0244.0117)"
-$config['mibs'][$mib]['features'][] = array('oid' => 'sysHardwareVersion.0'); // SNR-SWITCH-MIB::sysHardwareVersion.0 = STRING: "1.0.2"
-$config['mibs'][$mib]['processor']['switchCpuUsage'] = array(
-  'type'    => 'static',
-  'descr'   => 'System CPU',
-  'oid'     => 'switchCpuUsage.0',
-  'oid_num' => '1.3.6.1.4.1.27514.100.1.11.10.0' // switchCpuUsage.0 = INTEGER: 14
-);
-
-$config['mibs'][$mib]['mempool']['switchMemorySize'] = array(
-  'type'          => 'static',
-  'descr'         => 'Memory',
-  'scale'         => 1,
-  'oid_total'     => 'switchMemorySize.0',
-  'oid_total_num' => '1.3.6.1.4.1.27514.100.1.11.6.0', // switchMemorySize.0 = INTEGER: 536870912
-  'oid_used'      => 'switchMemoryBusy.0',
-  'oid_used_num'  => '1.3.6.1.4.1.27514.100.1.11.7.0', // switchMemoryBusy.0 = INTEGER: 305364992
-);
-
-$config['mibs'][$mib]['sensor'][] = [
-  'oid' => 'switchTemperature',
-  'class'    => 'temperature',
-  'descr'    => 'Switch Temperature',
-  'measured' => 'device',
-  'oid_num'  => '1.3.6.1.4.1.27514.100.1.11.9'
-];
-
-$config['mibs'][$mib]['status'][] = array(
-  'table'    => 'sysFanTable',
-  'oid'      => 'sysFanStatus',
-  'descr'    => 'Fan %index%',
-  'oid_num'  => '1.3.6.1.4.1.27514.100.1.12.1.3',
-  'type'     => 'sysFanStatus',
-  'measured' => 'fan'
-);
-$type = 'sysFanStatus';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'normal', 'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'abnormal', 'event' => 'alert');
-
-$config['mibs'][$mib]['status'][] = array(
-  'table'    => 'sysFanTable',
-  'oid'      => 'sysFanSpeed',
-  'descr'    => 'Fan %index% Speed',
-  'oid_num'  => '1.3.6.1.4.1.27514.100.1.12.1.4',
-  'type'     => 'sysFanSpeed',
-  'measured' => 'fan'
-);
-$type = 'sysFanSpeed';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'none',         'event' => 'warning');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'low',          'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'medium-low',   'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'medium',       'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][4] = array('name' => 'medium-high',  'event' => 'warning');
-$config['mibs'][$mib]['states'][$type][5] = array('name' => 'high',         'event' => 'alert');
-
-// DDM Sensors
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisTemperature',
-  'class'               => 'temperature',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% Temperature',
-  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.2',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagTempLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagTempLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagTempHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagTempHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisVoltage',
-  'class'               => 'voltage',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% Voltage',
-  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.7',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagVoltLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagVoltLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagVoltHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagVoltHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisBias',
-  'class'               => 'current',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% TX Bias',
-  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.12',
-  'scale'               => 0.001,
-  'limit_scale'         => 0.001,
-  'oid_limit_low'       => 'ddmDiagBiasLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagBiasLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagBiasHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagBiasHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisTXPower',
-  'class'               => 'dbm',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% TX Power',
-  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.22',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagTXPowerLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagTXPowerLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagTXPowerHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagTXPowerHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisRXPower',
-  'class'               => 'dbm',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% RX Power',
-  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.17',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagRXPowerLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagRXPowerLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagRXPowerHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagRXPowerHighWarnThreshold',
-];
-
 // EOF
Index: includes/definitions/mibs/snr.inc.php
===================================================================
--- includes/definitions/mibs/snr.inc.php	(revision 10991)
+++ includes/definitions/mibs/snr.inc.php	(working copy)
@@ -10,146 +10,8 @@
  *
  */
 
-$mib = 'SNR-SWITCH-MIB';
-$config['mibs'][$mib]['enable'] = 1;
-$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.40418.7';
-$config['mibs'][$mib]['mib_dir'] = 'snr';
-$config['mibs'][$mib]['descr'] = 'SNR Switch MIB';
 
-$config['mibs'][$mib]['version'][] = array('oid' => 'sysSoftwareVersion.0', 'transformations' => array('action' => 'explode', 'delimiter' => '(', 'index' => 'first')); // SNR-SWITCH-MIB::sysSoftwareVersion.0 = STRING: "7.0.3.1(R0244.0117)"
-$config['mibs'][$mib]['features'][] = array('oid' => 'sysHardwareVersion.0'); // SNR-SWITCH-MIB::sysHardwareVersion.0 = STRING: "1.0.2"
-$config['mibs'][$mib]['processor']['switchCpuUsage'] = array(
-  'type'    => 'static',
-  'descr'   => 'System CPU',
-  'oid'     => 'switchCpuUsage.0',
-  'oid_num' => '.1.3.6.1.4.1.40418.7.100.1.11.10.0' // switchCpuUsage.0 = INTEGER: 14
-);
-
-$config['mibs'][$mib]['mempool']['switchMemorySize'] = array(
-  'type'          => 'static',
-  'descr'         => 'Memory',
-  'scale'         => 1,
-  'oid_total'     => 'switchMemorySize.0',
-  'oid_total_num' => '.1.3.6.1.4.1.40418.7.100.1.11.6.0', // switchMemorySize.0 = INTEGER: 536870912
-  'oid_used'      => 'switchMemoryBusy.0',
-  'oid_used_num'  => '.1.3.6.1.4.1.40418.7.100.1.11.7.0', // switchMemoryBusy.0 = INTEGER: 305364992
-);
-
-$config['mibs'][$mib]['sensor'][] = [
-  'oid' => 'switchTemperature',
-  'class'    => 'temperature',
-  'descr'    => 'Switch Temperature',
-  'measured' => 'device',
-  'oid_num'  => '.1.3.6.1.4.1.40418.7.100.1.11.9'
-];
-
-$config['mibs'][$mib]['status'][] = array(
-  'table'    => 'sysFanTable',
-  'oid'      => 'sysFanStatus',
-  'descr'    => 'Fan %index%',
-  'oid_num'  => '.1.3.6.1.4.1.40418.7.100.1.12.1.3',
-  'type'     => 'sysFanStatus',
-  'measured' => 'fan'
-);
-$type = 'sysFanStatus';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'normal', 'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'abnormal', 'event' => 'alert');
-
-$config['mibs'][$mib]['status'][] = array(
-  'table'    => 'sysFanTable',
-  'oid'      => 'sysFanSpeed',
-  'descr'    => 'Fan %index% Speed',
-  'oid_num'  => '.1.3.6.1.4.1.40418.7.100.1.12.1.4',
-  'type'     => 'sysFanSpeed',
-  'measured' => 'fan'
-);
-$type = 'sysFanSpeed';
-$config['mibs'][$mib]['states'][$type][0] = array('name' => 'none',         'event' => 'warning');
-$config['mibs'][$mib]['states'][$type][1] = array('name' => 'low',          'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][2] = array('name' => 'medium-low',   'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][3] = array('name' => 'medium',       'event' => 'ok');
-$config['mibs'][$mib]['states'][$type][4] = array('name' => 'medium-high',  'event' => 'warning');
-$config['mibs'][$mib]['states'][$type][5] = array('name' => 'high',         'event' => 'alert');
-
-// DDM Sensors
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisTemperature',
-  'class'               => 'temperature',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% Temperature',
-  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.2',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagTempLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagTempLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagTempHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagTempHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisVoltage',
-  'class'               => 'voltage',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% Voltage',
-  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.7',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagVoltLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagVoltLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagVoltHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagVoltHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisBias',
-  'class'               => 'current',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% TX Bias',
-  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.12',
-  'scale'               => 0.001,
-  'limit_scale'         => 0.001,
-  'oid_limit_low'       => 'ddmDiagBiasLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagBiasLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagBiasHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagBiasHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisTXPower',
-  'class'               => 'dbm',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% TX Power',
-  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.22',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagTXPowerLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagTXPowerLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagTXPowerHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagTXPowerHighWarnThreshold',
-];
-
-$config['mibs'][$mib]['sensor'][] = [
-  'table'               => 'ddmTranscDiagnosisTable',
-  'oid'                 => 'ddmDiagnosisRXPower',
-  'class'               => 'dbm',
-  'measured'            => 'port',
-  'measured_match'      => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
-  'descr'               => '%port_label% RX Power',
-  'oid_num'             => '.1.3.6.1.4.1.40418.7.100.30.1.1.17',
-  'scale'               => 1,
-  'oid_limit_low'       => 'ddmDiagRXPowerLowAlarmThreshold',
-  'oid_limit_low_warn'  => 'ddmDiagRXPowerLowWarnThreshold',
-  'oid_limit_high'      => 'ddmDiagRXPowerHighAlarmThreshold',
-  'oid_limit_high_warn' => 'ddmDiagRXPowerHighWarnThreshold',
-];
-
-
+// SNR ERD (Ethernet Remote Device)
 $mib = 'SNR-ERD-2';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.40418.2.2';
@@ -236,6 +98,131 @@
 $config['mibs'][$mib]['states'][$type][5] = array('name' => 'autoON', 'event' => 'ok');
 $config['mibs'][$mib]['states'][$type][6] = array('name' => 'autoOFF', 'event' => 'ok');
 
+//====================
+$mib = 'SNR-ERD-3';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.40418.2.3';
+$config['mibs'][$mib]['mib_dir'] = 'snr';
+$config['mibs'][$mib]['descr'] = 'SNR Ethernet Remote Device v3';
+
+$type = 'resetSmartContact';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'bypass', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'reset', 'event' => 'ok');
+
+$type = 'remoteControlContact';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'manON', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'manOFF', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'manualSetON', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'termostatSetON', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][4] = array('name' => 'switch', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][5] = array('name' => 'autoON', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][6] = array('name' => 'autoOFF', 'event' => 'ok');
+
+$type = 'monitorAlarmSignalContact';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'sensorOff', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'doorIsClose', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'doorIsOpen', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'sensorOn', 'event' => 'ok');
+
+$type = 'monitorAnySensorSignalcontact';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'sensorOff', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'sensorIs0', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'sensorIs1', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'sensorOn', 'event' => 'ok');
+
+$type = 'monitorVoltageSignal';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'sensorOff', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'voltageIsNo', 'event' => 'alert');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'voltageIsYes', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'sensorOn', 'event' => 'ok');
+
+// Statuses
+$config['mibs'][$mib]['status']['resetSmartContact7']['indexes'][0] = array(
+  'descr'            => 'Smart Contact 7',
+  'type'             => 'resetSmartContact',
+  'measured'         => 'other',
+  'oid_num'          => '.1.3.6.1.4.1.40418.2.3.2.1'
+);
+
+$config['mibs'][$mib]['status']['remoteControlContact8']['indexes'][0] = array(
+  'descr'            => 'Remote Control Contact 8',
+  'type'             => 'remoteControlContact',
+  'measured'         => 'other',
+  'oid_num'          => '1.3.6.1.4.1.40418.2.3.2.3'
+);
+
+$config['mibs'][$mib]['status']['monitorAlarmSignal1Contact5']['indexes'][0] = array(
+  'descr'            => 'Alarm Signal 1 Contact 5',
+  'measured'         => 'other',
+  'type'             => 'monitorAlarmSignalContact',
+  'oid_num'          => '.1.3.6.1.4.1.40418.2.3.3.1'
+);
+
+$config['mibs'][$mib]['status']['monitorAlarmSignal2Contact6']['indexes'][0] = array(
+  'descr'            => 'Alarm Signal 2 Contact 6',
+  'measured'         => 'other',
+  'type'             => 'monitorAlarmSignalContact',
+  'oid_num'          => '.1.3.6.1.4.1.40418.2.3.3.2'
+);
+
+$config['mibs'][$mib]['status']['monitorAnySensorSignal1contact2']['indexes'][0] = array(
+  'descr'            => 'Any Sensor Signal 1 Contact 2',
+  'measured'         => 'other',
+  'type'             => 'monitorAnySensorSignalcontact',
+  'oid_num'          => '.1.3.6.1.4.1.40418.2.3.3.4'
+);
+
+$config['mibs'][$mib]['status']['monitorAnySensorSignal2contact3']['indexes'][0] = array(
+  'descr'            => 'Any Sensor Signal 2 Contact 3',
+  'measured'         => 'other',
+  'type'             => 'monitorAnySensorSignalcontact',
+  'oid_num'          => '.1.3.6.1.4.1.40418.2.3.3.5'
+);
+
+$config['mibs'][$mib]['status']['monitorVoltageSignal1']['indexes'][0] = array(
+  'descr'    => 'voltage on sensor1',
+  'measured' => 'other',
+  'type'     => 'monitorVoltageSignal',
+  'oid_num'  => '.1.3.6.1.4.1.40418.2.3.3.7'
+);
+
+$config['mibs'][$mib]['status']['monitorVoltageSignal2']['indexes'][0] = array(
+  'descr'    => 'voltage on sensor2',
+  'measured' => 'other',
+  'type'     => 'monitorVoltageSignal',
+  'oid_num'  => '.1.3.6.1.4.1.40418.2.3.3.8'
+);
+
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'temperatureSensor',
+                                          'class'    => 'temperature',
+                                          'descr'    => 'Temperature',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.3.4.1',
+                                          'measured' => 'device',
+                                          'scale'    => 1);
+
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'temperatureSensorsOut',
+                                          'class'    => 'temperature',
+                                          'descr'    => 'Temperature OUT',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.3.4.2',
+                                          'measured' => 'device',
+                                          'scale'    => 1);
+
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'voltageSensor1Contact10',
+                                          'class'    => 'voltage',
+                                          'descr'    => 'Sensor 1 Contact 10',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.3.4.3.0',
+                                          'measured' => 'device',
+                                          'scale'    => 0.01);
+
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'voltageSensor2Contact11',
+                                          'class'    => 'voltage',
+                                          'descr'    => 'Sensor 2 Contact 11',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.3.4.5.0',
+                                          'measured' => 'device',
+                                          'scale'    => 0.01);
+
+//==========
+
 $mib = 'SNR-ERD-4';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.40418.2.6';
@@ -242,4 +229,86 @@
 $config['mibs'][$mib]['mib_dir'] = 'snr';
 $config['mibs'][$mib]['descr'] = 'SNR Ethernet Remote Device v4';
 
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'adcSensor',
+                                          'class'    => 'voltage',
+                                          'descr'    => 'ADC IN',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.6.1.2',
+                                          'measured' => 'device',
+                                          'scale'    => 1);
+
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'temperatureDHT',
+                                          'class'    => 'temperature',
+                                          'descr'    => 'DHT Temperature',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.6.1.8',
+                                          'measured' => 'device',
+                                          'scale'    => 1);
+
+$config['mibs'][$mib]['sensor'][] = array('oid'      => 'humidityDHT',
+                                          'class'    => 'humidity',
+                                          'descr'    => 'DHT Humidity',
+                                          'oid_num'  => '.1.3.6.1.4.1.40418.2.6.1.9',
+                                          'measured' => 'device',
+                                          'scale'    => 1);
+
+$config['mibs'][$mib]['sensor'][] = array(
+   'table'               => 'dtsEntry',
+   'class'               => 'temperature',
+   'oid'                 => 'dtsTemp',
+   'oid_num'             => '.1.3.6.1.4.1.40418.2.6.1.1.1.1.3',
+   'oid_descr'           => 'dtsName',
+   'oid_limit_low_warn'  => 'tempCritMin',
+   'oid_limit_high_warn' => 'tempCritMax'
+);
+
+$type = 'doStatus';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'OFF',    'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'ON',     'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'RELOAD', 'event' => 'alert');
+
+$type = 'diStatus';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'LOW',    'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'HIGH',   'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'OFF',    'event' => 'ok');
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'                 => 'diEntry',
+  'descr'                 => 'Digital Input', // Fallback
+  'oid_descr'             => 'diAlarmName',
+  'oid'                   => 'diState',
+  'oid_num'               => '.1.3.6.1.4.1.40418.2.6.2.1.1.3',
+  'type'                  => 'diStatus',
+  'measured'              => 'contact'
+);
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'                 => 'doEntry',
+  'descr'                 => 'Digital Output', // Fallback
+  'oid_descr'             => 'doDeviceName',
+  'oid'                   => 'doState',
+  'oid_num'               => '.1.3.6.1.4.1.40418.2.6.2.2.1.3',
+  'type'                  => 'diStatus',
+  'measured'              => 'contact'
+);
+
+
+//SNR-ERD-4:measurements -Ou
+//enterprises.snr.snr-erd.snr-erd-4.measurements.adcSensor.0 = INTEGER: 0
+//enterprises.snr.snr-erd.snr-erd-4.measurements.temperatureDHT.0 = Wrong Type (should be INTEGER): NULL
+//enterprises.snr.snr-erd.snr-erd-4.measurements.humidityDHT.0 = Wrong Type (should be INTEGER): NULL
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtpTable.rsshtpEntry.rsshtpIdent.1 = STRING: "F8:F0:82:02:03:6D:00:00"
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtpTable.rsshtpEntry.rsshtpName.1 = ""
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtpTable.rsshtpEntry.rsshtpTemp1.1 = INTEGER: 27
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtpTable.rsshtpEntry.rsshtpHum.1 = INTEGER: 37
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtpTable.rsshtpEntry.rsshtpTemp2.1 = INTEGER: 27
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtpTable.rsshtpEntry.rsshtpPssr.1 = INTEGER: 733
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtp1WTable.rsshtp1WEntry.rsshtp1WIdent.4278893648 = Gauge32: 4278893648
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtp1WTable.rsshtp1WEntry.rsshtp1WName.4278893648 = STRING: "4278893648"
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtp1WTable.rsshtp1WEntry.rsshtp1WTemp.4278893648 = INTEGER: 25
+//enterprises.snr.snr-erd.snr-erd-4.measurements.sp.rsshtp1WTable.rsshtp1WEntry.rsshtp1WMaster.4278893648 = Hex-STRING: F8 F0 82 02 03 6D 00 00 
+
+$config['mibs'][$mib]['sensor']['rsshtpTable']['tables'][] = array('measured' => 'device', 'class' => 'temperature', 'oid' => 'rsshtpTemp1',    'oid_descr' => 'rsshtpName');
+$config['mibs'][$mib]['sensor']['rsshtpTable']['tables'][] = array('measured' => 'device', 'class' => 'temperature', 'oid' => 'rsshtpTemp2',    'oid_descr' => 'rsshtpName');
+$config['mibs'][$mib]['sensor']['rsshtpTable']['tables'][] = array('measured' => 'device', 'class' => 'humidity', 'oid' => 'rsshtpHum',    'oid_descr' => 'rsshtpName');
+$config['mibs'][$mib]['sensor']['rsshtpTable']['tables'][] = array('measured' => 'device', 'class' => 'humidity', 'oid' => 'rsshtpHum',    'oid_descr' => 'rsshtpName');
+
 // EOF
Index: includes/definitions/os/nag.inc.php
===================================================================
--- includes/definitions/os/nag.inc.php	(revision 10991)
+++ includes/definitions/os/nag.inc.php	(working copy)
@@ -18,8 +18,10 @@
 $config['os'][$os]['type']                  = "network";
 $config['os'][$os]['ports_separate_walk']   = 1; // Force use separate ports polling feature
 $config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.40418.7";
+$config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.40418.1.283";
 //SNR-S3750G-48S-E Device, Compiled Oct 26 10:19:23 2015 SoftWare Version 7.0.3.1(R0244.0079) BootRom Version 7.1.107 HardWare Version 1.0.2 Device serial number SW032810D610000084 Copyright (C) 2015 NAG LLC All rights reserved
-$config['os'][$os]['sysDescr_regex'][]      = "/SNR-(?<hardware>\S+).*?,\s.*SoftWare Version (?<version>\d[\w\.\-]+).*\s+(?:Serial No\.:|serial number)\s*(?<serial>\S+)/s";
+$config['os'][$os]['sysDescr_regex'][]      = "/SNR-(?<hardware>\S+).*?,\s.*SoftWare Version (\d[\w\.\-]+).*\s+(?:Serial No\.:|serial number)\s*(?<serial>\S+)/s";
+$config['os'][$os]['sysDescr_regex'][]      = "/SNR-(?<hardware>\S+).*\s.*Soft(W|w)are?, Version (?<version>\d[\w\.\-]+).*\s+(?:Serial No\.:|serial number|Serial num:)\s*(?<serial>\S+)?,/s";
 $config['os'][$os]['mibs'][]                = "SNR-SWITCH-MIB";
 
 $os = "snr-erd";
@@ -29,13 +31,22 @@
 $config['os'][$os]['model']                 = "snr";
 $config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.40418.2";
 //$config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.40418.2.2"; // ERD-2
+//$config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.40418.2.3"; // ERD-3
 //$config['os'][$os]['sysObjectID'][]         = ".1.3.6.1.4.1.40418.2.6"; // ERD-4
 $config['os'][$os]['sysDescr_regex'][]      = "/Fmv_(?<version>\d[\w\.]+)/";
+// Sysdescr variants:
+// SNR ERD-4s
+// ERD-4; SW:1.9 [beta 16]; HW:4.2; LD:1.0
+// SNR-ERD-4; SW: 0.1.2 [industrial] [beta] Sep 10 2019 09:46:17; HW:4.5; LD:1.0
+// SNR-UPS-EthCard; SW: 2.0.0 [custom] [industrial] [beta] Apr 16 2020 10:53:33; HW:0.0; LD:1.2
+$config['os'][$os]['sysDescr_regex'][]      = "/(?<hardware>ERD-\d[\w]*|UPS-EthCard); SW:(?<version>\ ?\d.*);.*;/"; // ERD-4
 $config['os'][$os]['ports_ignore']['allow_empty'] = TRUE; // Do not check empty ifType
 $config['os'][$os]['remote_access']         = array('http');
 // MIBs moved to per model
 //$config['os'][$os]['mibs'][]                = "SNR-ERD-2";
+//$config['os'][$os]['mibs'][]                = "SNR-ERD-3";
 //$config['os'][$os]['mibs'][]                = "SNR-ERD-4";
+$config['os'][$os]['mibs'][]                = "UPS-MIB"; // ERD-4 only
 
 
 // VECTRA R2D2
