I have several temperature sensors attached to Hass; 5 Evohome valves, a sht33 and a BMP180 attached to a Wemos D1, a Xiaomi Bluetooth temperature sensor …
When I put all these sensors in the same place in a room they will all read different values (up to 2 degrees off). Am now wondering what would be the best way to calibrate them. I know how to adjust the values in Hass, but I need some kind of ‘real temperature’ on which I base the values. Anyone got some simple, creative thoughts on this?
There is some very expensive cailbration equipment about, but that is expensive unless a friend can lend you one. Look for a refrigeration engineer among your friends list…
The only “standard” I can think of in most homes is boiling water at 100C. However that is dependent on height above sea level, air pressure and the purity of the water. Anyway you won’t want to drop your sensors in boiling water!
LOL! By the way: such a thermometer will indeed be part of my calibration steps. I will toss all temperature sensors in a box at around room temperature and will let the sit in there for an hour to stabilize. I will then take the average of all readings and adjust all sensors to that value. Maybe in an additional step I will put all of them outside when it is freezing (also in a box) and do the same thing again.
The big problem here is that you have no external probe that you can put into a water bath with known temperature (freezing and boiling). I would get a thermometer that has an external probe, or the analog one like above, and calibrate it using whatever method you like. Then, do the experiment you suggest and put them all together in a temperature-buffered box along with the calibrated probe. Then you can reference the temperature off of the probe instead of averaging. Even better, buy more than 1 ‘calibration probe’ and average those.
The atmospheric pressure effect on boiling point can be easily corrected for by using your existing pressure sensors, or referencing a weather source. The amount of salt in tap water would barely change the boiling point, and if you are worried about it, you can always use distilled water.
Ok, I tried to calibrate the whole system and managed to get the values a little bit closer to each other (calibrated 5 Honeywell radiator knobs, two baby monitors, a BMP180, a SHT3xx, a Xiaomi BT temperature sensor) together with an old fashioned refrigerator thermometer and an IKEA kitchen thermometer. It took quite a while before the temperatures reached a stable, flat line (2 hours) which already is my first concern. Secondly the temperatures differed highly (up to 2.5 degrees).
My main conclusion is that there are a lot of crappy temperature sensors out there, so be aware!