LibreNMS showing Celsius, but value shown is the temp in Fahrenheit

My LibreNMS server is grabbing data from thermostat units, no issues there, I see the data and graphs. However, the temp is displayed in Celsius, which I would like to change to Fahrenheit. Searching other threads on here, it seems that is not an option.

What I’m a bit confused about is that the values I see are the actual Fahrenheit temp and not the Celsius conversion. Meaning, the thermostat is reporting 67* F (which is the correct temp in the room) and LibreNMS is showing 67* Celsius. Shouldn’t it be showing 19* Celsius? If the LibreNMS Celsius reading of 67 was correct, that means the temperature in the room would be 152* F, which it isn’t.

Thanks.

This seems like it is a bug.

Hi @dt-lib
Which device is that ?
From that starting point, you can have a look at the device definition (YAML file in includes/definitions/discovery/) and see how discovery is done.
2nd step is to find out if result is always returned in F instead of C. If yes, there is a builtin function to convert and your bug will be fixed (and you can submit a PR to have the fix merged into LibreNMS).
If the value can be changed in the config of the device, then you have to find a way for LibreNMS to know if the current polled value is F or C … That could be tricky.

Apologies, I’m not a programmer/developer and I’m not able to do anything with a yaml file and won’t be able to submit anything for a fix, I’m just a basic end user here.

I am able to change the device from C to F via the web GUI, but that’s about it.

This is the device, Temperature Humidity IP Sensor PoE Remote Network Thermometer SNMP

Thanks for the reply.

Unfortunately, nobody here is a developper or a programmer. We are just exactly like you, in need of a monitoring system and willing to spend a little bit of time to make it happen.
There is nothing we can do for you, without owning the device, if you cannot take some time to understand how the device work, how SNMP sends the data, and how LibreNMS is configured to deal with your device.
You can try to find somebody else who owns the same device (or send one to him) to do this analysis for you.

1 Like

Unfortunately, nobody here is a developper or a programmer.

Really? I find that hard to believe, generally speaking, I’m not saying there is a programmer/developer and they should have a solution for my problem.

I’m ok with there not being a fix/solution for this, I simply made the topic just in case someone out there had the same issue that I was having.

As I stated, the reading/number is correct, but instead of F I see a C and I can live with that. I still see helpful graphs for temp in librenms and it tracks uptime for me, those are the two things I need.

I’ve had a lot of help from this community and I have also donated, I just wanted to share my issue for anyone else looking.

Thanks again for taking the time to reply, I really do appreciate it.

This programming stuff is over my head, I can barley install librenms. :grinning:

Developpers are usually not managing network devices, so they usually don’t need a monitoring system, and usually don’t end up helping a community of OpenSource monitoring system, I guess :slight_smile:

The issue is relatively clear here. Device seems to be able to deal with both F and C temperatures, but unless somebody with this device helps you (and us) find out how LibreNMS can receive the temperature unit, there is not much we can do.

May be something : if you have a spare device and if you can make it reachable from Internet, then I could try to find this information remotely.

I am not able to expose this device to the internet, but I do appreciate the offer, thank you.

I figured I could at least take a stab at looking at the YAML file. I navigated to the directory you mentioned and I don’t see the filename that would stick out. For example, I see cisco, eaton, etc…some brands I recognize of devices I have, but I’m not seeing anything that related to Environmental or Network/NTI.

How can I determine which yaml file is being used by this device?

Thanks.

My guess is that changing the temperature unit in the webui changes the value sent via SNMP, but there is no way of knowing if the user has changed the unit in the webui via snmp.

(This is the case with the RoomAlert devices we have)

Changing the unit in LibreNMS to F would break users using C in that case.

1 Like

Is it possible, maybe in a future release, to allow the user to select F or C in the LibreNMS web GUI?

We only use F on all devices.

Thanks.

Yes, if someone contributes it.

However, LibreNMS will always store C.

That means it will not help your case. 72F → stored as C converted to F = 162F, so that is what it would show if someone made that option to display Farenheit.

1 Like

In that case, it would not be helpful. Is there any plan to show accurate F values in Librenms?

The issue is not showing in LibreNMS one way or the other.
As @murrant said, it is only about allowing LibreNMS to know when a device sends C or F: If the value 50 is read, without any unit into the SNMP reply, there is no way to find out.

  • When a device always send F, we can convert.
  • When they always send C, we keep the value without conversion.
  • But if the device can be switched from F to C, LibreNMS must have a way to know (from the SNMP MIB). If not, then no solution exists.
2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.