Incorrect sensor limits caused by duplicate unit conversion
The definition for the temperature sensor on a CyberPower PDU (or UPS) environmental sensor accessory defines both "unit" and "limit_unit" as "F". This seems to cause the limit values to get converted (to Celsius) twice: first in "entity_limits_definition" using "limit_unit" and then in "discover_sensor_ng" using "sensor_unit" which is set from "unit". For us, the SNMP read limits of 59 and 90 F end up as -9.44 and 0.12 C on the sensor in Observium. This is on version r13629.
Simply not setting "limit_unit" is a workaround if both the sensor and limit values use the same unit (maybe that is preferred when defining sensors?). If the units are different a proper fix is needed.
Also, is this the preferred method for reporting this kind of issue?
Corwin
Hello Corwin,
I see what you mean. Will fix it in a soon commit.
Corwin Ziegler Hunts via observium wrote on 31.08.2024 03:43:
The definition for the temperature sensor on a CyberPower PDU (or UPS) environmental sensor accessory defines both "unit" and "limit_unit" as "F". This seems to cause the limit values to get converted (to Celsius) twice: first in "entity_limits_definition" using "limit_unit" and then in "discover_sensor_ng" using "sensor_unit" which is set from "unit". For us, the SNMP read limits of 59 and 90 F end up as -9.44 and 0.12 C on the sensor in Observium. This is on version r13629.
Simply not setting "limit_unit" is a workaround if both the sensor and limit values use the same unit (maybe that is preferred when defining sensors?). If the units are different a proper fix is needed.
Also, is this the preferred method for reporting this kind of issue?
Corwin
observium mailing list -- observium@lists.observium.org To unsubscribe send an email to observium-leave@lists.observium.org
Should be fixed since r13633 (trunk, rolling updates).
Corwin Ziegler Hunts via observium wrote on 31.08.2024 03:43:
The definition for the temperature sensor on a CyberPower PDU (or UPS) environmental sensor accessory defines both "unit" and "limit_unit" as "F". This seems to cause the limit values to get converted (to Celsius) twice: first in "entity_limits_definition" using "limit_unit" and then in "discover_sensor_ng" using "sensor_unit" which is set from "unit". For us, the SNMP read limits of 59 and 90 F end up as -9.44 and 0.12 C on the sensor in Observium. This is on version r13629.
Simply not setting "limit_unit" is a workaround if both the sensor and limit values use the same unit (maybe that is preferred when defining sensors?). If the units are different a proper fix is needed.
Also, is this the preferred method for reporting this kind of issue?
Corwin
observium mailing list -- observium@lists.observium.org To unsubscribe send an email to observium-leave@lists.observium.org
Now the limits are only converted based on "limit_unit" and they are not converted if "unit" is set and "limit_unit" is not set.
Are the limits supposed to be converted if "unit" is set and "limit_unit" is not set? They were converted before. If the new behavior is intended then sensor definitions with limits which set "unit" and don't set "limit_unit" probably need to be updated. I suspect the desired behavior is to convert the limits using "limit_unit" if it is set and using "unit" if "limit_unit" is not set.
On Tue, Sep 3, 2024 at 4:53 AM Mike Stupalov mike@observium.org wrote:
Should be fixed since r13633 (trunk, rolling updates).
Corwin Ziegler Hunts via observium wrote on 31.08.2024 03:43:
The definition for the temperature sensor on a CyberPower PDU (or UPS) environmental sensor accessory defines both "unit" and "limit_unit" as "F". This seems to cause the limit values to get converted (to Celsius) twice: first in "entity_limits_definition" using "limit_unit" and then in "discover_sensor_ng" using "sensor_unit" which is set from "unit". For us, the SNMP read limits of 59 and 90 F end up as -9.44 and 0.12 C on the sensor in Observium. This is on version r13629.
Simply not setting "limit_unit" is a workaround if both the sensor and limit values use the same unit (maybe that is preferred when defining sensors?). If the units are different a proper fix is needed.
Also, is this the preferred method for reporting this kind of issue?
Corwin
observium mailing list -- observium@lists.observium.org To unsubscribe send an email to observium-leave@lists.observium.org
-- Mike Stupalov, Discord channel: https://discord.gg/GjpNXKWm8W Observium Limited, https://observium.org
participants (2)
-
Corwin Ziegler Hunts
-
Mike Stupalov