diff --git a/database-update.sql b/database-update.sql index f8ba5c6931..4107ee9887 100644 --- a/database-update.sql +++ b/database-update.sql @@ -99,3 +99,6 @@ CREATE TABLE `fanspeed` ( KEY `fan_host` (`fan_host`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `voltage` ADD `volt_limit_low` int(11) NULL DEFAULT NULL AFTER `volt_limit`; +ALTER TABLE `voltage` CHANGE `volt_current` `volt_current` FLOAT(3) NULL DEFAULT NULL; +ALTER TABLE `voltage` CHANGE `volt_limit` `volt_limit` FLOAT(3) NULL DEFAULT NULL; +ALTER TABLE `voltage` CHANGE `volt_limit_low` `volt_limit_low` FLOAT(3) NULL DEFAULT NULL; diff --git a/includes/discovery/voltages.php b/includes/discovery/voltages.php index c61b683012..6a33136d7a 100755 --- a/includes/discovery/voltages.php +++ b/includes/discovery/voltages.php @@ -67,11 +67,11 @@ if ($device['os'] == "linux") $monitor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.10$oid"; $limit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.5$oid"; $lowlimit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.6$oid"; - $descr = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $descr_oid")); - $volt = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $volt_oid")); - $monitor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $monitor_oid")); - $limit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $limit_oid")); - $lowlimit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $lowlimit_oid")); + $descr = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $descr_oid")) / 1000; + $volt = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $volt_oid")) / 1000; + $monitor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $monitor_oid")) / 1000; + $limit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $limit_oid")) / 1000; + $lowlimit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $lowlimit_oid")) / 1000; if ($monitor == 'true') { $descr = trim(str_ireplace("Voltage", "", $descr)); diff --git a/includes/polling/voltages.inc.php b/includes/polling/voltages.inc.php index e84703502c..9c119aacf6 100755 --- a/includes/polling/voltages.inc.php +++ b/includes/polling/voltages.inc.php @@ -8,11 +8,10 @@ while($voltage = mysql_fetch_array($volt_data)) { $volt_cmd = $config['snmpget'] . " -m SNMPv2-MIB -O Uqnv -" . $device['snmpver'] . " -c " . $device['community'] . " " . $device['hostname'].":".$device['port'] . " " . $voltage['volt_oid'] . "|grep -v \"No Such Instance\""; $volt = trim(str_replace("\"", "", shell_exec($volt_cmd))); + if ($voltage['volt_precision']) { $volt = $volt / $voltage['volt_precision']; - $voltage['volt_limit'] = $voltage['volt_limit'] / $voltage['volt_precision']; - $voltage['volt_limit_low'] = $voltage['volt_limit_low'] / $voltage['volt_precision']; } $voltrrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("volt-" . $voltage['volt_descr'] . ".rrd");