I recently installed a few Sonoff ZNB02 temperature and humidity sensors around the house. Monitoring them for some time, I noticed that the humidity level was higher that what is recommended for a comfortable and healthy indoor environment. Initially this got me worrying about the indoor climate, but as there are no other indications that it is so humid, it made me think that these sensors are perhaps not so accurate. Therefore I decided to calibrate them.
When you mix half a cup of normal kitchen salt with water into a sludge (i.e., a fully saturated solution) and put that in a closed container, that acts as a sort of constant humidity buffer for quite a wide range of temperatures. For a solution of NaCl at room temperature the relative humidity in the container will be 75%.
I placed two of the ZNB02 sensors together with the NaCl sludge in the container, placed that in a room with a constant temperature and waited for about 24 hours for it to settle. My zigbee sensors are connected with a Tasmota zigbee bridge which send the data to a MQTT server, from where I forward it to a ThingSpeak data store and dashboard. You can see that the humidity level is very constant. One of the two sensors is more noisy which also causes it to update more often
One sensor reports the humidity to be 85% and the other reports 82%. The temperature of both sensors was most of the time the same or nearly the same, only varying between them with 0.1 degree Celsius.
To conclude, the reported humidity for neither of them is very accurate. One reports a humidity that is 7% too high, the other is 10% too high. The precision or noise level also differs quite a bit. The noisy sensor sends more frequent updates over zigbee, which I expect to be reflected in a shorter battery life.