diff --git a/includes/polling/unix-agent/hddtemp.inc.php b/includes/polling/unix-agent/hddtemp.inc.php index 78032a5d91..b7961e01c0 100644 --- a/includes/polling/unix-agent/hddtemp.inc.php +++ b/includes/polling/unix-agent/hddtemp.inc.php @@ -2,19 +2,22 @@ require_once 'includes/discovery/functions.inc.php'; -if ($agent_data['haddtemp'] != '|') { +if (isset($agent_data['hddtemp']) && $agent_data['hddtemp'] != '|') { $disks = explode('||', trim($agent_data['hddtemp'], '|')); + echo 'hddtemp: '; - if (count($disks)) { - echo 'hddtemp: '; - foreach ($disks as $disk) { - list($blockdevice,$descr,$temperature,$unit) = explode('|', $disk, 4); - $diskcount++; - discover_sensor($valid['sensor'], 'temperature', $device, '', $diskcount, 'hddtemp', "$blockdevice: $descr", '1', '1', null, null, null, null, $temperature, 'agent'); - dbUpdate(array('sensor_current' => $temperature), 'sensors', '`sensor_index` = ?, `sensor_class` = ?, `poller_type` = ?, `device_id` = ?', array($diskcount, 'temperature', 'agent', $device['device_id'])); - } - - echo "\n"; - $agent_sensors = dbFetchRows("SELECT * FROM `sensors` WHERE `device_id` = ? AND `sensor_class` = 'temperature' AND `poller_type` = 'agent' AND `sensor_deleted` = 0", array($device['device_id'])); + $diskcount = 0; + foreach ($disks as $disk) { + list($blockdevice,$descr,$temperature,$unit) = explode('|', $disk, 4); + $diskcount++; + $temperature = trim(str_replace('C', '', $temperature)); + discover_sensor($valid['sensor'], 'temperature', $device, '', $diskcount, 'hddtemp', "$blockdevice: $descr", '1', '1', null, null, null, null, $temperature, 'agent'); + dbUpdate(array('sensor_current' => $temperature), 'sensors', '`sensor_index` = ?, `sensor_class` = ?, `poller_type` = ?, `device_id` = ?', array($diskcount, 'temperature', 'agent', $device['device_id'])); + $tmp_agent_sensors = dbFetchRow("SELECT * FROM `sensors` WHERE `sensor_index` = ? AND `device_id` = ? AND `sensor_class` = 'temperature' AND `poller_type` = 'agent' AND `sensor_deleted` = 0 LIMIT 1", array($diskcount, $device['device_id'])); + $tmp_agent_sensors['new_value'] = $temperature; + $agent_sensors[] = $tmp_agent_sensors; + unset($tmp_agent_sensors); } + + echo "\n"; }//end if