Calibrating Temperature Sensors

I bought 15 Samsung v5 water sensors about a year ago, also a few Zooz 4-in-1 motion sensors. I put them all in a box with a digital thermometer I bought several years ago, as well as a mercury thermometer. I found a variance of +/- 5 degrees F across the sensors. I then adjusted the offsets, and got them to read within +/- 1 degree around 70 degrees F. So I moved the box outside in the shade. Waited a few hours, and took readings again (note that in both cases I wrote a routine in WebCORE to dump readings to Google spreadsheet, so there were many measurements as I did my study). Sadly, when the temperature was around 50 degrees F, the sensors were again several degrees +/-. Indicating that their error is non-linear, hence an offset in an environment with varying temperatures is useless in calibrating them. I suppose indoors with +/- 6 degrees of varying temperatures they might be good enough, but I was hoping for better.

My questions:

  • how are others calibrating their temperature offsets to get consistent readings across them?
  • is there any way in Hubitat, as I could in WebCORE, to read/write to a table in Excel or a DB? This could be used to create adaptable offsets (not necessarily in the devices themselves, I can use it in formulas).
  • what type of thermometer would be best for temperature readings across a wide range of temperatures?

"Calibrating" low cost electronic sensors is like making a silk purse out of a sow's ear.

Having said that, you might be able to get a better "calibration" if you could modify both the offset and gain of the reported data.

Perhaps take data in a cold environment. Then a warm environment.
Plot the data on excel or libracalc. create a trend line for each and see what you get.

My most accurate thermometer is a Bosch BME280 (or BMP280) however I know of no Hub capable device that uses either of these devices. If one wanted to play with them connected to an Arduino device, see HubDuino in this forum.

1 Like

In my use case, I only need the temperature sensors for a very limited range of temperatures for my heating system, so I calibrated them at 20C. Works fine. But it sounds like your trying to cover a broad range of temperatures relatively accurately, which probably won’t happen using consumer grade kit.


I agree, hence "making a silk purse out of a sow's ear". In the past my experience was with industrial sensors.

IMHO Besides the psychological effect of inconsistent data, the real issue is these low cost sensors are not stable. Even if you succeed in getting calibration factors, over time the sensors will likely change.

Very true. However, for most home applications we can live with recalibrating temperature sensors periodically. We often have multiple sensors that we can compare over time. When one seems to get off, recalibrating it or replacing it is usually not a big deal.

In an industrial or laboratory setting, accurate temperature measurement can be crucial. Storage of milk is one such example. Another recent example is storage of some COVID vaccines that have to be kept at a specific temperature to insure effectiveness.

In the case of covid vaccines like Pfizer-Biontech, it’s not a specific temperature requirement that makes them notable. It’s that the range of temps at which the vaccine must be stored is far lower than what most freezers are capable of maintaining. But it’s about a 20°C range.

Edit: and even that’s not as true as it used to be. Based on recent data Pfizer submitted to the FDA, the vaccine can now be stored at a normal refrigerator temperature range for up to a month.

1 Like

Let me echo what @marktheknife stated. Long-term storage of the Pfizer and Biontek vaccines requires -80C.

Short-term storage can be at 4C.

I had the same experience.

After seeing the cost of various "reference thermometers" I decided that accuracy compared to the Greenwich Mean Englishman's Armpit was unnecessary. So, I used an inexpensive digital thermometer I had on hand as my reference. That worked OK for synchronizing my indoor room temperature sensors - mostly Sonoff and legacy Samsung.

If I move them to extremes like measuring hot tub or sauna temperature they are no longer accurate. That is OK from a practical standpoint because I am only interested in "warm", "hot", and "very hot".

You can moderate the problem somewhat by using the Averaging Plus app.

1 Like

I once read that when you purchase a new thermometer you should use it to check your own body temperature. If it does not give an appropriate result you have two choices: see a doctor or purchase another thermometer.


Just be sure to use plenty of lube.


When I purchase a thermometer for measuring body temperature, I measure my temp when I'm feeling good. Then again some time later. I note the readings and assume that is my "normal" with this thermometer. When an actual need to measure elevated body temperature it will be considered as a delta from the "feeling good" number.

Not ideal but workable.

It depends upon the location being tested. Due to the shape of many temperature sensors, I was thinking that the "Greenwich Mean Englishman's Armpit" might be suitable. In that case no lube would be required.