1<?php 2/** 3 * dell.inc.php 4 * 5 * LibreNMS voltage sensor discovery module for Linux 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <https://www.gnu.org/licenses/>. 19 * 20 * @link https://www.librenms.org 21 * @copyright 2017 Neil Lathwood 22 * @author Neil Lathwood <neil@lathwood.co.uk> 23 */ 24$temp = snmpwalk_cache_multi_oid($device, 'voltageProbeTable', [], 'MIB-Dell-10892'); 25$cur_oid = '.1.3.6.1.4.1.674.10892.1.600.20.1.6.'; 26 27foreach ((array) $temp as $index => $entry) { 28 $descr = $entry['voltageProbeLocationName']; 29 if ($entry['voltageProbeType'] != 'voltageProbeTypeIsDiscrete') { 30 $divisor = 1000; 31 $value = $entry['voltageProbeReading']; 32 $lowlimit = $entry['voltageProbeLowerCriticalThreshold'] / $divisor; 33 $low_warn_limit = $entry['voltageProbeLowerCriticalThreshold'] / $divisor; 34 $warnlimit = $entry['voltageProbeUpperNonCriticalThreshold'] / $divisor; 35 $limit = $entry['voltageProbeUpperCriticalThreshold'] / $divisor; 36 37 discover_sensor($valid['sensor'], 'voltage', $device, $cur_oid . $index, $index, 'dell', $descr, $divisor, '1', $lowlimit, $low_warn_limit, $warnlimit, $limit, $value, 'snmp', $index); 38 } 39} 40 41unset( 42 $temp, 43 $cur_oid, 44 $index, 45 $entry 46); 47