From 53c0f2b5139900496afb6e88fae79b4c22ded910 Mon Sep 17 00:00:00 2001 From: omercier Date: Mon, 5 Feb 2024 13:40:08 +0100 Subject: [PATCH] small refacto to avoid using get_multiple_table --- .../ups/sputnik/snmp/mode/environment.pm | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/hardware/ups/sputnik/snmp/mode/environment.pm b/src/hardware/ups/sputnik/snmp/mode/environment.pm index 733163a81e..54926dd3e2 100644 --- a/src/hardware/ups/sputnik/snmp/mode/environment.pm +++ b/src/hardware/ups/sputnik/snmp/mode/environment.pm @@ -89,25 +89,23 @@ sub manage_selection { # upsEnvSensorCounts is not used but it gives the number of sensors #my $oid_upsEnvSensorCounts = '.1.3.6.1.4.1.54661.1.1.1.2.1.0'; - my $oid_upsEnvSensorTemperature = '.1.3.6.1.4.1.54661.1.1.1.2.2.1.2'; - my $oid_upsEnvSensorHumidity = '.1.3.6.1.4.1.54661.1.1.1.2.2.1.3'; + my $oid_upsEnvSensors = '.1.3.6.1.4.1.54661.1.1.1.2.2.1'; + #my $oid_upsEnvSensorTemperature = '.1.3.6.1.4.1.54661.1.1.1.2.2.1.2'; + #my $oid_upsEnvSensorHumidity = '.1.3.6.1.4.1.54661.1.1.1.2.2.1.3'; # Each sensor will provide a temperature and a humidity ratio my $mapping = { - upsEnvSensorTemperature => { oid => $oid_upsEnvSensorTemperature }, - upsEnvSensorHumidity => { oid => $oid_upsEnvSensorHumidity } + upsEnvSensorTemperature => { oid => $oid_upsEnvSensors.'.2' }, + upsEnvSensorHumidity => { oid => $oid_upsEnvSensors.'.3' } }; - my $snmp_result = $options{snmp}->get_multiple_table( - oids => [ - { oid => $oid_upsEnvSensorTemperature }, - { oid => $oid_upsEnvSensorHumidity } - ], + my $snmp_result = $options{snmp}->get_table( + oid => $oid_upsEnvSensors, nothing_quit => 1 ); $self->{sensors} = {}; - foreach my $oid (keys %{$snmp_result->{$oid_upsEnvSensorTemperature}}) { - next if ($oid !~ /^$oid_upsEnvSensorTemperature\.(.*)$/); + foreach my $oid (keys %{$snmp_result}) { + next if ($oid !~ /^$oid_upsEnvSensors\.2\.(.*)$/); my $sensor_index = $1; # skip if a filter is defined, and the current sensor does not match