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