Bme280 Node only two decimal places

I use the node node-red-contrib-bme280. The temperature is output with two decimal places only. Where can I change that the full value, so all decimal places are output? I can't find it in the code. Can someone help me? Thanks a lot!

Looking at the code, that value is what the underlying library, bme280-sensor is providing.

Looking at the datasheet for the bme280 sensor, it says its temperature accuracy is +/- 1.0. Given that accuracy, more decimal places wouldn't really be meaningful.


Many Thanks for the quick answer, I wanted to check with the 6th or 7th decimal place, whether the value changes and if not output an error. With only 2 decimal places this does not work in my case. Ok, that's a pity, but that's how it is.

Wow! I would think that kind of accuracy would require some very specialised (and likely expensive) industrial or laboratory grade sensing and temperature control devices.

If I can ask, what are you trying to use this for, and what accuracy are you expecting?

1 Like

It is not about accuracy, but simply about whether anything changes, which means that the sensor is working. If the values do not change over a longer period of time, you do not know if the values are correct or if the sensor is stuck, e.g. because of undervoltage.

Ah, OK - that makes sense. I've no experience with the BME280, but from what I've seen with similar modules they're unlikely to get "stuck". Low voltage will probably have more effect on whatever you're using to read them, e.g. ESP8266 or R-Pi, which may shut down or reboot.

1 Like

I still have in my application phenomena where one of three BME280 just "stuck" and then always delivers the exact same value. To be honest, I have relatively long cables on it (6 - 8m) which is of course not good. I just wanted to find a method of error monitoring in addition to the other measures in the software. I will find a solution.

Perhaps compare the values over time in a function node?

If after a specific timeframe with no changes (two decimals should be more than sufficient) you can interject a replacement value/msg on whatever display you are using. Similar to how NAN or -127 is built into many sensors or libraries

1 Like

Thank you, but but the chance, that the value is the same, with only two decimal places, is very high.

If you have to trigger a reading from the node, surely the node will return nothing if the sensor is not responding?

If your ambient temperature is that stable, why even bother checking it :stuck_out_tongue:
Besides, it appears that two decimals is all you get anyhow.


Precisely because the temperature can be so stable, I need to test if the data is "real".

Well, since you can't change the datasheet facts, perhaps try a second redundant sensor, or three and go with majority rules... the chance that all lock up are even lower :wink:

My research over a couple of years results that the bme280 is mainly a very accurate pressure sensor and not a temperature sensor per se. I experienced an offset of +2.5 degrees compared to all my other thermometers. It seams that they are factory calibrated but during soldering they could easily get a decent offset. You find some discussion on the Bosch sensortec forum. But the BMEs are very stable and robust.
Currently I’m more than happy with TI’s HDC1080

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