1<?php 2/* 3 * LibreNMS 4 * 5 * Copyright (c) 2015 Steve Calv�rio <https://github.com/Calvario/> 6 * 7 * This program is free software: you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License as published by the 9 * Free Software Foundation, either version 3 of the License, or (at your 10 * option) any later version. Please see LICENSE.txt at the top level of 11 * the source code distribution for details. 12 */ 13 14echo 'DSM UPS Voltage'; 15 16// UPS Device Manufacturer, example return : SNMPv2-SMI::enterprises.6574.4.1.2.0 = STRING: "American Power Conversion" 17$ups_device_manufacturer_oid = '.1.3.6.1.4.1.6574.4.1.2.0'; 18$ups_device_manufacturer = str_replace('"', '', snmp_get($device, $ups_device_manufacturer_oid, '-Oqv')); 19// UPS Device Model, example return : SNMPv2-SMI::enterprises.6574.4.1.1.0 = STRING: "Back-UPS RS 900G" 20$ups_device_model_oid = '.1.3.6.1.4.1.6574.4.1.1.0'; 21$ups_device_model = str_replace('"', '', snmp_get($device, $ups_device_model_oid, '-Oqv')); 22 23// UPS Input Voltage Value, example return : SNMPv2-SMI::enterprises.6574.4.4.1.1.0 = Opaque: Float: 234.000000 24$ups_input_voltage_oid = '.1.3.6.1.4.1.6574.4.4.1.1.0'; 25$ups_input_voltage = snmp_get($device, $ups_input_voltage_oid, '-Oqv'); 26if (is_numeric($ups_input_voltage)) { 27 discover_sensor($valid['sensor'], 'voltage', $device, $ups_input_voltage_oid, 'UPSInputVoltageValue', $ups_device_manufacturer . ' ' . $ups_device_model, 'UPS Input Voltage Value', '1', '1', null, null, null, null, $ups_input_voltage); 28} 29 30// UPS Input Voltage Nominal, example return : SNMPv2-SMI::enterprises.6574.4.4.1.4.0 = Opaque: Float: 230.000000 31$ups_input_voltage_nominal_oid = '.1.3.6.1.4.1.6574.4.4.1.4.0'; 32$ups_input_voltage_nominal = snmp_get($device, $ups_input_voltage_nominal_oid, '-Oqv'); 33if (is_numeric($ups_input_voltage_nominal)) { 34 discover_sensor($valid['sensor'], 'voltage', $device, $ups_input_voltage_nominal_oid, 'UPSInputVoltageNominal', $ups_device_manufacturer . ' ' . $ups_device_model, 'UPS Input Voltage Nominal', '1', '1', null, null, null, null, $ups_input_voltage_nominal); 35} 36 37// UPS Battery Voltage Value, example return : SNMPv2-SMI::enterprises.6574.4.3.2.1.0 = Opaque: Float: 27.000000 38$ups_battery_voltage_oid = '.1.3.6.1.4.1.6574.4.3.2.1.0'; 39$ups_battery_voltage = snmp_get($device, $ups_battery_voltage_oid, '-Oqv'); 40if (is_numeric($ups_battery_voltage)) { 41 discover_sensor($valid['sensor'], 'voltage', $device, $ups_battery_voltage_oid, 'UPSBatteryVoltage', $ups_device_manufacturer . ' ' . $ups_device_model, 'UPS Battery Voltage', '1', '1', null, null, null, null, $ups_battery_voltage); 42} 43 44// UPS Battery Voltage Nominal, example return : SNMPv2-SMI::enterprises.6574.4.3.2.2.0 = Opaque: Float: 24.000000 45$ups_battery_voltage_nominal_oid = '.1.3.6.1.4.1.6574.4.3.2.2.0'; 46$ups_battery_voltage_nominal = snmp_get($device, $ups_battery_voltage_nominal_oid, '-Oqv'); 47if (is_numeric($ups_battery_voltage_nominal)) { 48 discover_sensor($valid['sensor'], 'voltage', $device, $ups_battery_voltage_nominal_oid, 'SystemStatus', $ups_device_manufacturer . ' ' . $ups_device_model, 'UPS Battery Voltage Nominal', '1', '1', null, null, null, null, $ups_battery_voltage_nominal); 49} 50