Index: html/images/os/teracom.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: html/images/os/teracom.png
===================================================================
--- html/images/os/teracom.png (revision 0)
+++ html/images/os/teracom.png (working copy)
Property changes on: html/images/os/teracom.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: includes/definitions/os.inc.php
===================================================================
--- includes/definitions/os.inc.php (revision 6700)
+++ includes/definitions/os.inc.php (working copy)
@@ -1929,6 +1929,16 @@
$config['os'][$os]['mib_dirs'][] = "rittal";
$config['os'][$os]['mibs'][] = "RITTAL-CMC-III-MIB";
+// Teracom
+$os = "teracom";
+$config['os'][$os]['vendor'] = "Teracom";
+$config['os'][$os]['text'] = "Teracom TCW";
+$config['os'][$os]['type'] = "power";
+$config['os'][$os]['sysObjectID'][] = ".1.3.6.1.4.1.38783";
+$config['os'][$os]['mib_dirs'][] = "teracom";
+$config['os'][$os]['mibs'][] = "TERACOM-MIB";
+$config['os'][$os]['snmp']['max-rep'] = 100;
+
// Engenius
$os = "engenius";
Index: includes/definitions/sensors.inc.php
===================================================================
--- includes/definitions/sensors.inc.php (revision 6700)
+++ includes/definitions/sensors.inc.php (working copy)
@@ -499,6 +499,14 @@
$config['status_states']['ccpower-mib-alarmstatus'][1] = array('name' => 'inactive', 'event' => 'ok');
$config['status_states']['ccpower-mib-alarmstatus'][2] = array('name' => 'active', 'event' => 'alert');
+// TERACOM-MIB
+$config['status_states']['teracom-digitalin-state'][0] = array('name' => 'closed', 'event' => 'ok');
+$config['status_states']['teracom-digitalin-state'][1] = array('name' => 'open', 'event' => 'ok');
+$config['status_states']['teracom-relay-state'][0] = array('name' => 'off', 'event' => 'ok');
+$config['status_states']['teracom-relay-state'][1] = array('name' => 'on', 'event' => 'ok');
+$config['status_states']['teracom-alarm-state'][0] = array('name' => 'noErr', 'event' => 'ok');
+$config['status_states']['teracom-alarm-state'][1] = array('name' => 'owErr', 'event' => 'alert');
+$config['status_states']['teracom-alarm-state'][2] = array('name' => 'hwErr', 'event' => 'alert');
// End sensor states
Index: includes/discovery/sensors/teracom-mib.inc.php
===================================================================
--- includes/discovery/sensors/teracom-mib.inc.php (revision 0)
+++ includes/discovery/sensors/teracom-mib.inc.php (working copy)
@@ -0,0 +1,95 @@
+ $data[0]['s'.$i.'1MINx10Int'] * $scale,
+ 'limit_high' => $data[0]['s'.$i.'1MAXx10Int'] * $scale);
+ discover_sensor($valid['sensor'], 'temperature', $device, $oid, 's'.$i.'1x10Int.0', 'teracom', $descr, $scale, $value, $limits);
+}
+
+// Analog inputs
+for ($i = 1;$i <= 4;$i++)
+{
+ $data = snmp_get_multi($device, 'voltage'.$i.'description.0 voltage'.$i.'x10Int.0 voltage'.$i.'min.0 voltage'.$i.'max.0', '-OQUs', 'TERACOM-MIB', mib_dirs('teracom'));
+ $descr = $data[0]['voltage'.$i.'description'];
+ switch(substr($descr,0,2))
+ {
+ case 'I ':
+ $type = 'current';
+ $descr = substr($descr,2);
+ break;
+ case 'F ':
+ $type = 'frequency';
+ $descr = substr($descr,2);
+ break;
+ case 'H ':
+ $type = 'humidity';
+ $descr = substr($descr,2);
+ break;
+ default:
+ $type = 'voltage';
+ }
+ $oid = ".1.3.6.1.4.1.38783.1.3.2.$i.0";
+ $value = $data[0]['voltage'.$i.'x10Int'];
+ $scale = 0.1;
+ $limits = array('limit_low' => $data[0]['voltage'.$i.'min'] * $scale,
+ 'limit_high' => $data[0]['voltage'.$i.'max'] * $scale);
+ discover_sensor($valid['sensor'], $type, $device, $oid, 'voltage'.$i.'x10Int.0', 'teracom', $descr, $scale, $value, $limits);
+}
+
+// Digital inputs
+for ($i = 1;$i <= 4;$i++)
+{
+ $data = snmp_get_multi($device, 'digitalInput'.$i.'description.0 digitalInput'.$i.'State.0', '-OQUs', 'TERACOM-MIB', mib_dirs('teracom'));
+ $descr = $data[0]['digitalInput'.$i.'description'];
+ $oid = ".1.3.6.1.4.1.38783.1.3.3.$i.0";
+ $value = $data[0]['digitalInput'.$i.'State'];
+ discover_sensor($valid['sensor'], 'state', $device, $oid, 'digitalInput'.$i.'State.0', 'teracom-digitalin-state', $descr, NULL, $value, array('entPhysicalClass' => 'other'));
+}
+
+// Relay outputs
+for ($i = 1;$i <= 4;$i++)
+{
+ $data = snmp_get_multi($device, 'relay'.$i.'description.0 relay'.$i.'State.0', '-OQUs', 'TERACOM-MIB', mib_dirs('teracom'));
+ $descr = $data[0]['relay'.$i.'description'];
+ $oid = ".1.3.6.1.4.1.38783.1.3.4.$i.1.0";
+ $value = $data[0]['relay'.$i.'State'];
+ discover_sensor($valid['sensor'], 'state', $device, $oid, 'relay'.$i.'State.0', 'teracom-relay-state', $descr, NULL, $value, array('entPhysicalClass' => 'other'));
+}
+
+// Status
+$value = snmp_get($device, "hardwareErr.0", "-Oqv", "TERACOM-MIB", mib_dirs('teracom'));
+if ($value !== '')
+{
+ $descr = "Status";
+ $oid = ".1.3.6.1.4.1.38783.1.3.8.0";
+ discover_sensor($valid['sensor'], 'state', $device, $oid, "hardwareErr.0", 'teracom-alarm-state', $descr, NULL, $value, array('entPhysicalClass' => 'other'));
+}
+ unset($data, $oid, $descr, $limits, $value);
+// EOF
Index: includes/polling/os/teracom.inc.php
===================================================================
--- includes/polling/os/teracom.inc.php (revision 0)
+++ includes/polling/os/teracom.inc.php (working copy)
@@ -0,0 +1,27 @@
+