diff --git a/html/pages/device/overview/generic/sensor.inc.php b/html/pages/device/overview/generic/sensor.inc.php
index 3dcae4da18..e3dea810b1 100644
--- a/html/pages/device/overview/generic/sensor.inc.php
+++ b/html/pages/device/overview/generic/sensor.inc.php
@@ -3,7 +3,7 @@
$sensors = dbFetchRows('SELECT * FROM `sensors` WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_oid`, `sensor_index`', array($sensor_class, $device['device_id']));
if ($sensor_class == 'state') {
- $sensors = dbFetchRows('SELECT * FROM `sensors` LEFT JOIN `sensors_to_state_indexes` ON sensors_to_state_indexes.sensor_id = sensors.sensor_id LEFT JOIN state_indexes ON state_indexes.state_index_id = sensors_to_state_indexes.state_index_id WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_index` ', array($sensor_class, $device['device_id']));
+ $sensors = dbFetchRows('SELECT * FROM `sensors` LEFT JOIN `sensors_to_state_indexes` ON sensors_to_state_indexes.sensor_id = sensors.sensor_id LEFT JOIN state_indexes ON state_indexes.state_index_id = sensors_to_state_indexes.state_index_id WHERE `sensor_class` = ? AND device_id = ? ORDER BY `poller_type`, `sensor_descr` ', array($sensor_class, $device['device_id']));
}
if (count($sensors)) {
diff --git a/includes/discovery/sensors/states/cisco.inc.php b/includes/discovery/sensors/states/cisco.inc.php
index 1299a2bc9a..8f61400b3d 100644
--- a/includes/discovery/sensors/states/cisco.inc.php
+++ b/includes/discovery/sensors/states/cisco.inc.php
@@ -11,43 +11,53 @@
*/
if ($device['os_group'] == 'cisco') {
- $temp = snmpwalk_cache_multi_oid($device, 'ciscoEnvMonSupplyStatusTable', array(), 'CISCO-ENVMON-MIB');
- $cur_oid = '.1.3.6.1.4.1.9.9.13.1.5.1.3.';
- if (is_array($temp)) {
+ $tables = array(
+ array('ciscoEnvMonVoltageStatusTable','.1.3.6.1.4.1.9.9.13.1.2.1.7.','ciscoEnvMonVoltageState','ciscoEnvMonVoltageStatusDescr') ,
+ array('ciscoEnvMonTemperatureStatusTable','.1.3.6.1.4.1.9.9.13.1.3.1.6.','ciscoEnvMonTemperatureState','ciscoEnvMonTemperatureStatusDescr') ,
+ array('ciscoEnvMonFanStatusTable','.1.3.6.1.4.1.9.9.13.1.4.1.3.','ciscoEnvMonFanState','ciscoEnvMonFanStatusDescr') ,
+ array('ciscoEnvMonSupplyStatusTable','.1.3.6.1.4.1.9.9.13.1.5.1.3.','ciscoEnvMonSupplyState','ciscoEnvMonSupplyStatusDescr')
+ );
- //Create State Index
- $state_name = 'ciscoEnvMonSupplyState';
- $state_index_id = create_state_index($state_name);
+ foreach($tables as $tablevalue){
+ $temp = snmpwalk_cache_multi_oid($device, $tablevalue[0], array(), 'CISCO-ENVMON-MIB');
+ $cur_oid = $tablevalue[1];
- //Create State Translation
- if ($state_index_id) {
- $states = array(
- array($state_index_id,'normal',0,1,0) ,
- array($state_index_id,'warning',0,2,1) ,
- array($state_index_id,'critical',0,3,2) ,
- array($state_index_id,'shutdown',0,4,3) ,
- array($state_index_id,'notPresent',0,5,3) ,
- array($state_index_id,'notFunctioning',0,6,2)
- );
- foreach($states as $value){
- $insert = array(
- 'state_index_id' => $value[0],
- 'state_descr' => $value[1],
- 'state_draw_graph' => $value[2],
- 'state_value' => $value[3],
- 'state_generic_value' => $value[4]
- );
- dbInsert($insert, 'state_translations');
+ if (is_array($temp)) {
+
+ //Create State Index
+ $state_name = $tablevalue[2];
+ $state_index_id = create_state_index($state_name);
+
+ //Create State Translation
+ if ($state_index_id) {
+ $states = array(
+ array($state_index_id,'normal',0,1,0) ,
+ array($state_index_id,'warning',0,2,1) ,
+ array($state_index_id,'critical',0,3,2) ,
+ array($state_index_id,'shutdown',0,4,3) ,
+ array($state_index_id,'notPresent',0,5,3) ,
+ array($state_index_id,'notFunctioning',0,6,2)
+ );
+ foreach($states as $value){
+ $insert = array(
+ 'state_index_id' => $value[0],
+ 'state_descr' => $value[1],
+ 'state_draw_graph' => $value[2],
+ 'state_value' => $value[3],
+ 'state_generic_value' => $value[4]
+ );
+ dbInsert($insert, 'state_translations');
+ }
}
- }
- foreach ($temp as $index => $entry) {
- //Discover Sensors
- discover_sensor($valid['sensor'], 'state', $device, $cur_oid.$index, $index, $state_name, $temp[$index]['ciscoEnvMonSupplyStatusDescr'], '1', '1', null, null, null, null, $temp[$index]['ciscoEnvMonSupplyState'], 'snmp', $index);
+ foreach ($temp as $index => $entry) {
+ //Discover Sensors
+ discover_sensor($valid['sensor'], 'state', $device, $cur_oid.$index, $index, $state_name, $temp[$index][$tablevalue[3]], '1', '1', null, null, null, null, $temp[$index][$tablevalue[2]], 'snmp', $index);
- //Create Sensor To State Index
- create_sensor_to_state_index($device, $state_name, $index);
+ //Create Sensor To State Index
+ create_sensor_to_state_index($device, $state_name, $index);
+ }
}
}
}