예제 #1
0
    $oids = trim(snmp_walk($device, '.1.3.6.1.2.1.33.1.3.2.0', '-OsqnU'));
    d_echo($oids . "\n");
    list($unused, $numPhase) = explode(' ', $oids);
    for ($i = 1; $i <= $numPhase; $i++) {
        $freq_oid = ".1.3.6.1.2.1.33.1.3.3.1.2.{$i}";
        $descr = 'Input';
        if ($numPhase > 1) {
            $descr .= " Phase {$i}";
        }
        $current = snmp_get($device, $freq_oid, '-Oqv') / 10;
        $type = 'rfc1628';
        $divisor = get_device_divisor($device, $_tmp_serial, 'frequencies');
        $index = '3.2.0.' . $i;
        discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
    }
    $freq_oid = '.1.3.6.1.2.1.33.1.4.2.0';
    $descr = 'Output';
    $current = snmp_get($device, $freq_oid, '-Oqv') / 10;
    $type = 'rfc1628';
    $divisor = get_device_divisor($device, $_tmp_serial, 'frequencies');
    $index = '4.2.0';
    discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
    $freq_oid = '.1.3.6.1.2.1.33.1.5.1.0';
    $descr = 'Bypass';
    $current = snmp_get($device, $freq_oid, '-Oqv') / 10;
    $type = 'rfc1628';
    $divisor = get_device_divisor($device, $_tmp_serial, 'frequencies');
    $index = '5.1.0';
    discover_sensor($valid['sensor'], 'frequency', $device, $freq_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
}
//end if
예제 #2
0
<?php

$divisor = get_device_divisor($device, $_tmp_serial, 'current');
// RFC1628 UPS
if (isset($config['modules_compat']['rfc1628'][$device['os']]) && $config['modules_compat']['rfc1628'][$device['os']]) {
    echo 'RFC1628 ';
    $oids = snmp_walk($device, '1.3.6.1.2.1.33.1.2.6', '-Osqn', 'UPS-MIB');
    d_echo($oids . "\n");
    $oids = trim($oids);
    foreach (explode("\n", $oids) as $data) {
        $data = trim($data);
        if ($data) {
            list($oid, $descr) = explode(' ', $data, 2);
            $split_oid = explode('.', $oid);
            $current_id = $split_oid[count($split_oid) - 1];
            $current_oid = "1.3.6.1.2.1.33.1.2.6.{$current_id}";
            $precision = 10;
            $current = snmp_get($device, $current_oid, '-O vq') / $precision;
            $descr = 'Battery' . (count(explode("\n", $oids)) == 1 ? '' : ' ' . ($current_id + 1));
            $type = 'rfc1628';
            $index = 500 + $current_id;
            discover_sensor($valid['sensor'], 'current', $device, $current_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
        }
    }
    $oids = trim(snmp_walk($device, '1.3.6.1.2.1.33.1.4.3.0', '-OsqnU'));
    d_echo($oids . "\n");
    list($unused, $numPhase) = explode(' ', $oids);
    for ($i = 1; $i <= $numPhase; $i++) {
        $current_oid = ".1.3.6.1.2.1.33.1.4.4.1.3.{$i}";
        $descr = 'Output';
        if ($numPhase > 1) {
예제 #3
0
    list($unused, $numPhase) = explode(' ', $oids);
    for ($i = 1; $i <= $numPhase; $i++) {
        $volt_oid = "1.3.6.1.2.1.33.1.3.3.1.3.{$i}";
        $descr = 'Input';
        if ($numPhase > 1) {
            $descr .= " Phase {$i}";
        }
        $type = 'rfc1628';
        $divisor = get_device_divisor($device, $_tmp_serial, 'voltages');
        $current = snmp_get($device, $volt_oid, '-Oqv') / $divisor;
        $divisor = get_device_divisor($device, $_tmp_serial, 'voltages');
        $index = 100 + $i;
        discover_sensor($valid['sensor'], 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
    }
    $oids = trim(snmp_walk($device, '1.3.6.1.2.1.33.1.5.2.0', '-OsqnU'));
    d_echo($oids . "\n");
    list($unused, $numPhase) = explode(' ', $oids);
    for ($i = 1; $i <= $numPhase; $i++) {
        $volt_oid = "1.3.6.1.2.1.33.1.5.3.1.2.{$i}";
        $descr = 'Bypass';
        if ($numPhase > 1) {
            $descr .= " Phase {$i}";
        }
        $type = 'rfc1628';
        $divisor = get_device_divisor($device, $_tmp_serial, 'voltages');
        $current = snmp_get($device, $volt_oid, '-Oqv') / $divisor;
        $index = 200 + $i;
        discover_sensor($valid['sensor'], 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
    }
}
//end if