1<?php 2 3echo 'XUPS-MIB '; 4 5// XUPS-MIB::xupsBatVoltage.0 = INTEGER: 51 6$oids = snmpwalk_cache_oid($device, 'xupsBatVoltage', [], 'XUPS-MIB'); 7 8foreach ($oids as $volt_id => $data) { 9 $volt_oid = ".1.3.6.1.4.1.534.1.2.2.$volt_id"; 10 $divisor = 1; 11 $volt = $data['xupsBatVoltage'] / $divisor; 12 $descr = 'Battery' . (count($oids) == 1 ? '' : ' ' . ($volt_id + 1)); 13 $type = 'xups'; 14 $index = '1.2.5.' . $volt_id; 15 16 discover_sensor($valid['sensor'], 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $volt); 17} 18 19// XUPS-MIB::xupsInputVoltage.1 = INTEGER: 228 20$oids = snmpwalk_cache_oid($device, 'xupsInputVoltage', [], 'XUPS-MIB'); 21 22foreach ($oids as $volt_id => $data) { 23 $volt_oid = ".1.3.6.1.4.1.534.1.3.4.1.2.$volt_id"; 24 $descr = 'Input'; 25 if (count($oids) > 1) { 26 $descr .= " Phase $volt_id"; 27 } 28 $type = 'xups'; 29 $divisor = 1; 30 $current = $data['xupsInputVoltage'] / $divisor; 31 $index = '3.4.1.2.' . $volt_id; 32 33 discover_sensor($valid['sensor'], 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current); 34} 35 36// XUPS-MIB::xupsOutputVoltage.1 = INTEGER: 228 37$oids = snmpwalk_cache_oid($device, 'xupsOutputVoltage', [], 'XUPS-MIB'); 38 39foreach ($oids as $volt_id => $data) { 40 $volt_oid = ".1.3.6.1.4.1.534.1.4.4.1.2.$volt_id"; 41 $descr = 'Output'; 42 if (count($oids) > 1) { 43 $descr .= " Phase $volt_id"; 44 } 45 46 $type = 'xups'; 47 $divisor = 1; 48 $current = $data['xupsOutputVoltage'] / $divisor; 49 $index = '4.4.1.2.' . $volt_id; 50 51 discover_sensor($valid['sensor'], 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current); 52} 53 54// XUPS-MIB::xupsBypassNumPhases.0 = INTEGER: 1 55$oids = snmpwalk_cache_oid($device, 'xupsBypassVoltage', [], 'XUPS-MIB'); 56 57foreach ($oids as $volt_id => $data) { 58 $volt_oid = ".1.3.6.1.4.1.534.1.5.3.1.2.$volt_id"; 59 $descr = 'Bypass'; 60 if (count($oids) > 1) { 61 $descr .= " Phase $volt_id"; 62 } 63 64 $type = 'xups'; 65 $divisor = 1; 66 $current = $data['xupsBypassVoltage'] / $divisor; 67 $index = '5.3.1.2.' . $volt_id; 68 69 discover_sensor($valid['sensor'], 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current); 70} 71