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 @@ +