I use 11 temperature sensors for my DIY Smart Heating. They are all ZigBee based and each room has a designated sensor to provide my heating system with environmental information. Despite having more than enough Sonoff Zigbee sensors, I use a mix of different sensors around the house to take advantage of other functions, like display screen, air quality, luminosity or air pressure. How accurate are they and should I trust them?
Different vendors, same ZigBee
Most of the ZigBee 3.0 sensors should be compatible with other hubs (this is not always true), but for the best compatibility, you need a custom ZigBee coordinator. I started my ZigBee adventures with a $4 CC2531 (flash guide), but as my network grew, I have upgraded to Electrolama based on CC2652R (flash guide) and Sonoff Dongle Plus.
Most popular coordinators:
Thanks to the custom coordinator, I can look at the raw data from each sensor and decide which one is best suited for your needs. This applies to anyone using consumer automation from Google/Amazon/Tuya/eWeLink and more and home automation enthusiasts running Home Assistant, NodeRED, ESPHome and more…
I purchased the most popular sensors available on Banggood and AliExpress. Here is the list of the sensors below. For obvious reasons (you haven’t donated enough money) I’m not able to buy every single one of them, so I picked the most interesting sensors offering various other than reporting temperature, functions.
|Tuya||TS0201||Temp. Humidity||LCD display,|
|2 x AAA||$13.48|
|Sonoff||SNZB-02||Temp. Humidity||Bigger battery||CR2450||$8.49|
|Tuya||LCZ030||Temp. Humidity, Lux||Bigger battery, |
|2 x AA||$16.75|
|Aqara TVOC||AAQS-S01||Temp. Humidity, TVOC||e-ink display,|
bigger battery, expensive
|2 x CR2450||$44.99|
|MoesHouse||ZSS-ZK-THL||Temp. Humidity, Lux||e-ink display||CR2032||$15.39|
*prices listed at the time of each purchase
Testing… 1… 2… 3… testing…
The testing setup I came up with – is… not that interesting actually. I put all sensors in close proximity on a wooden chopping board, hoping that the ZigBee cross-talk won’t be an issue. They are placed on the board to allow me to move all of them at the same time. This way, I will be able to measure the room temperature and see how the sensors behave when the temperature changes suddenly (me moving these to cold conservatory).
Every temperature report will be sent to the InfluxDB database and datapoints trimmed and processed with Grafana for your display pleasures. If you want to know how to make these work for your automation, I have a guide for you here.
I used the following hardware/software:
- RaspberryPi 4 running Buster
- Up to date ZigBee2MQTT
- Sonoff ZigBee Dongle Plus
I have great news for you, and not so great news for me. All of the tested sensors are very accurate. The temperature readings barely go over 0.5℃ between these, and any bigger temperature swings, have more to do with a reporting interval than the actual inaccuracies of the sensor.
That’s great news for you, as you don’t have to worry about your sensors being inaccurate. Not so good news to me, as I have no sensational headline which would say “Never buy these temperature sensors“. Except for the BlitzWolf sensor which simply wouldn’t work no matter what I tried (I suspect I got a dud, YMMV). Folks in reviews report it working so I’m keeping it in the tables for your reference.
It’s worth noticing that Moes ZSS-ZK-THL submitted 2 payloads near 0℃ during the period of the tests (over 5 days in total). I would hold a bigger grudge against it, but looking at the graph, the sensor self-corrected and reported the correct temperature within 10 seconds.
After opening up all my sensors, I looked inside at the temperature sensors and ZigBee chipsets driving these gadgets. There are no surprises in reporting as the majority of these use the same IC – SHT30 series – it’s the precise reason why the readings are so similar. With the accuracy of ±3%RH and ±0.3°C – it matches the readouts from Grafana charts.
|Tuya||TS0201||STHC3 ±2 %RH and ±0.2 °C||$13.48|
|Tuya||TYZTH-02||SHT30 ±3%RH and ±0.3°C||$19.80|
|Tyua||ST-TH01||SHT30 ±3%RH and ±0.3°C||$13.12|
|Tuya||LCZ030||STHC3 ±2 %RH and ±0.2 °C||$16.75|
|Xiaomi||WSDCGQ11LM||SHT30 ±3%RH and ±0.3°C||$17.99|
|Aqara TVOC||AAQS-S01||SHT30 ±3%RH and ±0.3°C||$44.99|
|Aqara||WSDCGQ11LM||SHT30 ±3%RH and ±0.3°C||$13.99|
|BlitzWolf||BW-IS8||SHT30 ±3%RH and ±0.3°C||$19.99|
Some sensors were harder to access than others, with Aqara TVOC leading the quality of built and Tuya LCZ030 being a total pain in the neck to open (glued). If you feel bad for me – you can offset the cost of damages to my sensors via the “support me” page! 😊.
Just bear in mind, that temperature reported by a sensor is influenced by many factors:
- location of the sensor
- nearby heat sources
- convection flow
- exposure to source of light
To gauge the temperature accurately, try placing the sensor at your eye level, away from heaters/AC (including directly above or below). Take into consideration drafts from open windows and prolonged sun and artificial light exposure. All these factors will play a role in reporting the most accurate temperature readings.
Humidity – depends on
When it comes to humidity, a lot depends on the design of the sensor and the way the air circulates around the probe. Internal heat or the ability to retain the heat from the sun in the enclosure will impact the reading.
Almost all sensors reported within 5% of each other, which is a testament to their accuracy. Moes ZSS-ZK-THL and Tuya LCZ030 were the most inaccurate in this test. Don’t worry too much if you like these as the 5-8% error isn’t terrible and will allow for successful humidity based automation.
Just like with temperature reading, be sensible when placing your sensors around the house to get the most representative values for your environment.
It’s all about resolution
We already know that these sensors are fairly accurate, but where they differ wildly is in the report interval. To make things harder to rate, ZigBee temperature sensors will report back based on:
- time interval (most often)
- sudden changes in temperature (ignores time interval)
- other events (battery low, network issues, migration between routers)
It’s easy to assume, that you want a temperature sensor that reports as frequently as possible. This is not the Mandalorian way. You have to balance the reporting frequency with battery life. In reality, you don’t need temperature updates every 30 seconds which would affect the lifespan of the sensor. It’s all about the balance. Different companies balance it out by increasing the sensor’s size and using AAA batteries, others keep reporting intervals low and offer smaller footprints.
Any sensor that reports at least 1-2 times every 5 min will be suitable for your purpose, especially when they are able to report on sudden temperature changes. Now, that you have an understanding of how to interpret the values I present you with the table:
|Brand||Model||Reporting Frequency |
|On temp change|
|Sonoff||SNZB-02||2||up to 7||CC2530||$8.49|
|Tuya||TYZTH-02||1||up to 4||EFR32||$19.80|
|Tuya||LCZ030||40||decreased to 8||EFR32||$16.75|
|Xiaomi||WSDCGQ11LM||1||up to 5||NXP JN5169||$17.99|
|Aqara TVOC||AAQS-S01||2||up to 5||NXP JN5189||$44.99|
|Aqara||WSDCGQ11LM||1||up to 5||NXP JN5169||$13.99|
|MoesHouse||ZSS-ZK-THL||1||up to 30||ZS3L||$15.39|
If you need something to track the battery levels of your ZigBee devices, this project will keep an eye on the battery level and let you know when it’s time to buy a new one. It tells you which one to buy too, so you don’t have to check it yourself.
As you can see from the breakdown, sensors were responding at least 1-2 times in 5 min period with some of them posting in 1 min intervals. The outlier was the Tuya LCZ030 which consistently reported at 40 times+ but the frequency of the reports decreased in the crucial moments of the temperature change.
ZigBee by default has a decent range. More than enough to cover an average house. If you are very concerned about the range of the sensor, chances are, you are not doing your mesh networking right. Focus on building up your mesh by adding routers to your network and your ZigBee network will benefit from that more than trying to add devices with the biggest range.
You will be pleased to know that despite removing all routers from my network (oh the lengths I go for you my dear reader) all sensors retained the connection across my entire 2 story house. In the worst circumstance, temperature sensors were outside my house (behind the structural wall) in the conservatory, while the coordinator was in the opposite corner of the house upstairs.
All sensors retained their signal with Tuya LCZ030 dropping as low as 20 followed by Moes ZSS-ZK-THL at 30. Any of the ones tested should cover even the biggest of houses. Do consider routers if you fancy using sensors outdoors in sheds, greenhouses and whatnot.
Sensors that deserve your attention
After all these tests, it’s time to pick the sensors which are worth your attention. There are no clear winners here. As each sensor presents unique opportunities, every automation enthusiast will look for something that matches their automation plans. With that in mind, I present you with the following categories:
- 1. Best Looking
- 2. Mass automation
- 3. Data focused
- 4. All rounder
Before I jump to particular categories, I would like to mention a couple of things that stood out to me. Sensors with the display are great for all rooms where you are likely to check on the temperature or you stay in for longer. It’s easier to glance over the screen than fire up a dedicated app/webserver/voice assistant.
Having a luminosity sensor is great, but bear in mind the location of the photosensitive probe as it will define how measurement is taken. Moes has the front-facing sensor While Tuya has one at the top – which is less prone to sharp light coming from a window. Values cap out at 1000, and anything above is considered a “day” by the sensor so you can’t use these to define how sunny it is. It’s unlikely you will need more than one or two of these. If you are interested in bringing information about day/night cycles without sensors, check this project out.
Air quality information will vary by room. If you care about particles in the air, these readings will be different from room to room, to get accurate information, consider getting multiple units.
1. Best Looking
Aqara TVOC and Moes ZSS-ZK-THL are my favs! Both feature e-ink displays which are easy to read and don’t drain the battery. Aqara, while expensive, brings increased battery life with two CR2450 cells, making sure the sensors will last ages. You will pay dearly for that gadget, so if you are on the budget and you want a pretty display, Moes isn’t a bad choice either.
2. Mass Automation
Outfitting 11 rooms with individual sensors can be costly. Priced almost $45, Aqara TVOC would bring an eye-watering $500 bill for that pleasure. If you are going all in, Sonoff SNZB-02 brings extended battery life thanks to CR2450 cell and great accuracy and a $9 price tag. Fixing 11 of these at home will cost you “only” $100. That’s $400 spare to buy other gadgets.
Sensors are very easy to hide due to their small size and if you fancy something with a display, you can always get extra Moes ZSS-ZK-THL or Tuya TS0201 to complement your setup.
3. Data Focused
With dual AAA batteries, Tuya LCZ030 power up a big and readable LCD screen but also deliver the most frequent data. Apart from Temperature and Humidity, you will get information about the luminosity and the built-in buzzer can trigger on low and high setpoints for temperature and humidity.
Unfortunately, there is a downside that you have to consider. The sensor requires an initial setup in the Tuya hub, therefore a ZigBee Hub is required to make it work with custom ZigBee coordinators. There is a ticket about it at the time of the writing, so I hope this will get rectified soon.
It’s worth noting that despite having the most frequent update rate, the temperature resolution seems to be hampered a bit which is strange considering the fact that the sensor shares the same probe as other units
Alternatively, Tuya’s ST-TH01 delivers increased data points on temp changes offering a detailed resolution of the readings.
4. All rounder
Both Xiaomi and Aqara WSDCGQ11LM sensors are great performers. Available at reasonable prices and with the constant performance you can’t go wrong with these. While the pressure value isn’t as useful as you may think (getting the value from weather API will be likely close to the one you get from the sensor) readings for temperature and humidity were consistent and devices are easy to hide.
Bonus: honourable mention:
SwitchBot Temperature Sensor. While Bluetooth based, it doesn’t make the cut, thanks to SwitchBot API and the ability to host the Bluetooth Hub locally on a Raspberry Pi I will mention one cool ability – this sensor lasts years on 2 x AA batteries (thanks to BLE) and has the ability to store up to 3 months of detailed temperature logs on the device itself.
Basically, it has Grafana and InfluxDB inside it – and that’s cool.
I tried to cover the most popular sensors, if you have something that is worth taking a look and revisiting this post, best let me know either via social media or leave a comment in this Reddit thread. If this post does well, I will consider making the same thing for PIR or motion sensors. I guess that’s the incentive to share the post with friends!
📈💳 – See the transparency note for details.