diff --git a/includes/callback.php b/includes/callback.php index 0462461fcb..5039f648dc 100644 --- a/includes/callback.php +++ b/includes/callback.php @@ -80,7 +80,7 @@ if ($enabled == 1) { // sanitize sysDescr $device_info = array_map(function ($entry) { // remove hostnames from linux and macosx - $entry['sysDescr'] = preg_replace_callback('/^(Linux |Darwin )[A-Za-z0-9._\-]+ ([0-9.]{5,9})/', function ($matches) { + $entry['sysDescr'] = preg_replace_callback('/^(Linux |Darwin |FreeBSD )[A-Za-z0-9._\-]+ ([0-9.]{3,9})/', function ($matches) { return $matches[1] . 'hostname ' .$matches[2]; }, $entry['sysDescr']); diff --git a/includes/discovery/sensors/frequency/rfc1628.inc.php b/includes/discovery/sensors/frequency/rfc1628.inc.php index 14a9b5af2a..6fd2937b35 100644 --- a/includes/discovery/sensors/frequency/rfc1628.inc.php +++ b/includes/discovery/sensors/frequency/rfc1628.inc.php @@ -21,19 +21,23 @@ for ($i = 1; $i <= $numPhase; $i++) { } $freq_oid = '.1.3.6.1.2.1.33.1.4.2.0'; -$descr = 'Output'; -$divisor = get_device_divisor($device, $pre_cache['poweralert_serial'], 'frequency', $freq_oid); -$current = (snmp_get($device, $freq_oid, '-Oqv') / $divisor); -$type = 'rfc1628'; +$current_freq = snmp_get($device, $freq_oid, '-Oqv'); +if (is_numeric($current_freq)) { + $descr = 'Output'; + $divisor = get_device_divisor($device, $pre_cache['poweralert_serial'], 'frequency', $freq_oid); + $type = 'rfc1628'; + $index = '4.2.0'; -$index = '4.2.0'; -discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current); + discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, 1, null, null, null, null, $current_freq / $divisor); +} $freq_oid = '.1.3.6.1.2.1.33.1.5.1.0'; -$descr = 'Bypass'; -$divisor = get_device_divisor($device, $pre_cache['poweralert_serial'], 'frequency', $freq_oid); -$current = (snmp_get($device, $freq_oid, '-Oqv') / $divisor); -$type = 'rfc1628'; +$current_freq = snmp_get($device, $freq_oid, '-Oqv'); +if (is_numeric($current_freq)) { + $descr = 'Bypass'; + $divisor = get_device_divisor($device, $pre_cache['poweralert_serial'], 'frequency', $freq_oid); + $type = 'rfc1628'; + $index = '5.1.0'; -$index = '5.1.0'; -discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current); + discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, 1, null, null, null, null, $current_freq / $divisor); +}