Recommendations for smart temperature sensors
It's hot here in Germany at the moment, and I've found a new hobby: experimenting with different ways to keep the flat cool. Unfortunately, right now I'm doing that mostly on gut feeling, and I'd like to add some data to the mix so I can pretend that this is Serious Research™.
Does anyone know of some good smart thermometers that I can use both inside and out, and that I can regularly take automatic readings off? My main criteria are roughly:
- Reasonably waterproof and battery-powered - I'd like to put at least one on my balcony which isn't covered, so I want to be confident that it survives out there.
- Relatively cheap - I want around 4-6 different thermometers spread around the inside and outside of the flat to see how the sun's position affects the temperature, and I don't want to spend more than around 100€ on this project in total.
- Scriptable - for the data collection, my plan is to be able to run a script on a spare Raspberry Pi to download all of the data and potentially send alerts when something changes or when it makes sense to start opening doors and windows to cool the flat down.
- Not too complicated - looking around, some thermometers seem to require smart hubs and online accounts and things. Ideally, I can avoid all that - I want something that I can connect to from my home network and download data from as I need.
Right now, I've found a few different smart temperature sensors that I can buy off-the-shelf, but these seem to be on the more complicated end of the spectrum, and require central hubs and uploading all the data to clouds and things like that. Ideally I can avoid that. Alternatively, I have some RPi Pico boards at home, so if I can buy some sensors that I can connect to those, I could get those set up more simply. But with the DIY route, I'm worried about weatherproofing, especially if the temperature sensor needs to remain fairly exposed for an accurate reading.
So: do you have any recommendations either for simple smart sensors that I can buy, or for sensors that I could easily stick to a Pico and leave outside for at least the rest of the summer months?
Definitely a job for Home Assistant! It’ll give you a back end, UI, and hardware support for pretty much any sensor you choose. It’s arguably overkill just for temperature monitoring, but it’s also widely used and well documented enough that it’ll almost definitely just work for what you’re doing.
Anything that says it needs a hub will likely be connecting via ZigBee - it’s extremely power efficient, noticeably more so than BLE in my experience, so if you are going down the Home Assistant route it may be worthwhile. You can just get a ZigBee USB receiver to allow it to connect to the devices directly in place of whatever proprietary hub and app the manufacturer has.
The HA forum has a ton of info on compatible hardware, discussion on price and quality, bug reports, etc. so it’s a good resource for research and niche questions, although I do find that it has so much info that finding and filtering to an answer is sometimes tricky.
I’ve got a Sonoff ZigBee USB stick and a couple of Aqara sensors, both of which were the bread and butter “yeah, most users should just buy this” recommendations ~18 months ago when I got them. No complaints about either, and I’m reasonably sure I haven’t changed a battery in the sensors that whole time.
Seconded, especially if you're interested in a bit of a project. This would be a good starting place to expand into "well I might as well add a smart light switch/etc." Everything's extremely modular so you can build it out in whatever direction / complexity suits you. Super simple way to have a room-by-room temperature network.
The Aqara motion sensors are super cheap on AliExpress and include temperature sensors, they run for a year or more on a coin-cell battery. Honestly most zigbee/z-wave stuff seems to include a temp sensor as a "might as well" feature. They might technically be there are a safety feature to make sure the device isn't shorting itself or something.
Thanks for the pointer towards Home Assistant and the advice about receivers. I saw lots of stuff about ZigBee, but I didn't realise it was a wireless format/protocol until your comment, so that explains a lot of stuff about why a receiver/hub would be necessary for that.
A lot of electronics starter kits include a cheap temperature sensor in their bundle. Arduino for instance uses the TMP36, and a quick aliexpress search shows that they're like 0.8 bucks a piece.
However as you mentioned, you have to take into account waterproofing because what you buy is the bare sensor and nothing else.
But that's not the only thing: you also have to take into account power (what's your power budget, what's the operating voltage of the microcontroller and sensor, how long and how frequently is your microcontroller running, do you want to have a rechargeable device?), and data (are you storing data for manual retrieval, are you transmitting the data wirelessly, etc).
It's a fascinating project in itself and there's no shortage of tutorial about weather stations (with a schematics and all), but if you just want the data I would follow /u/Captain Magma suggestion of buying a complete device.
I second Home Assistant for the receiving server. It's free software, super popular and still under active development.
If you're still interested in the hardware tinkering without the software part I can recommend the Esphome firmware. It's almost a turnkey solution to make a sensor communicate with Home Assistant.
Yeah, I think it's surprising how cheaply you can get together a lot of the pieces, but power was one of the pieces I of the puzzle that I hadn't really figured out yet. Thanks for the software advice.
It will be counterfeit. It honestly does not matter so much if the rest of your hardware is counterfeit, but if the sensor itself is counterfeit, your results will be questionable.
I would suggest getting the sensor itself from a reliable distributor like AdaFruit (if you want a module) or Avnet/Arrow/Future/Digikey/RS/Farnell for individual parts.
Edit: I see the TMP36 is an analog output sensor. I would strongly recommend a digital output sensor, processing an analog signal to digital is a lot of trouble.
Some more helpful links too:
I've been using some Bluetooth Govee thermo-hygrometers to track temperature changes. I don't think they hit all your requirements but you might be able to find a similar model from them that does.
Waterproof/battery: I don't think mine are (H5105), but they sell other models that might be waterproof. I use mine inside. Mine also came with a weird coin cell battery, so I took it out and soldered in a AA battery holder. This probably did not improve the water resistance.
Price: I got mine on sale, about $21 for 2.
Scriptable: I'm using Home Assistant (which has an integration for these) to keep things on my local network, so I haven't had to script anything to collect readings from these. It just... kind of happens and you can view the history through the UI. You can definitely configure events to trigger through Home Assistant, and you can run HA on a Raspberry pi with docker.
Simplicity: HA can be as simple or complicated as you want, heh. But it was dead simple to connect the sensors. Put them into pairing mode and connect them with your bluetooth host.
I recently bought a mini-fridge and wanted to measure temps inside to dial in the temp setting. I had one of these Switchbot meters already and noticed on the spec page it could likely handle being in a fridge, so I put it in there and it's seemingly working fine. I also set up home assistant for this fridge, I had a raspberry pi 3b from awhile back that I used for pihole but as that became increasingly less effective it was less reason for me to keep using it for that purpose. Additionally I already had a TP-Link Kasa smart outlet with energy monitoring so I wanted home assistant to track when the fridge was turning on so I could get more info on how it operated.
That meter works fine in the fridge, but I never tried it in the freezer portion of my mini fridge because its a bit outside it's specifications for operating temp, and all indications are that alkaline batteries just won't work well if at all in freezer temps. Also the meter works via bluetooth, and doesn't require the switchbot hub to use locally but of course normally you couldn't use it remotely without the hub since it's bluetooth. However since I added the meter to my home assistant, presumably I don't need the hub anymore since now my raspberry pi is acting as a hub.
So I noticed switchbot has this thermo-hygrometer that has some waterproofing and I considered getting that for my freezer, but it does say this for operating temps.
Which it uses 2 AAA batteries, and lithium AAAs are not exactly cheap. ~$2.50 a piece, so $5 to power the thing on and not sure how long the batteries last, I ended up not getting it yet. Specs say it uses bluetooth so I presume the same connectivity options would apply to this as well, but I don't have it so I can't confirm myself.
Thanks for the Switchbot recommendation! That certainly looks like the best option for explicit outdoor use, and not too expensive within the EU either.
I'll throw a second comment out there for Home Assistant. I started using some SONOFF THR320D devices for a couple places in my home that needed to measure freezing temps. I chose these because they are wireless, and have a long temp probe.
I went down the route of doing a raspberry pi and some individual sensors over cat6 but I had such a hard time getting them to work. Maybe some day.
Question to tack on to this, has anyone ever used a 3rd party temp sensor through Home Assistant to turn an ecobee thermostat on and off? If so I'd love to see it.
I have not yet fully gone down this road, but with RTL-SDR, you can read the data from home weather stations like this one. Based on prices I see in USD, it's possible to get 6 sensors and the SDR for the computer for < $100.
I've bought my weather stations and am using them to check the crawlspace and attic for humidity and temp, just not the SDR for the computer to read said data.
Definitely agree with the others that you should use home assistant. Only downside is you may get addicted to smart home stuff and spend way more than 100 euro 😅.
I use a bunch of these around my house: https://nl.aliexpress.com/item/1005004877936490.html
~8-10 bucks a piece depending on the seller.
Combined with a USB zigbee coordinator + home assistant. It works quite well for me and the battery lasts somewhere between 6 months and 1.5 years. They work on the bike light battery CR2032 so I might suggest buying a bulk pack of those as well.
Home assistant also gives you the ability to send phone notifications via their app or just about any other service (telegram, hangouts etc)
Here's an example of my temperature dash (via mobile): https://i.imgur.com/YFNNyNf.png
As far as waterproofing it, could you just set up a small bit of cover on the balcony for it? I have a temp sensor in my shed, but that is covered.
Do you actually need your own temperature sensor outside? I also use the weather Integration in Home Assistant which gives me quite an accurate reading for my area and can be combined with notifications/automations etc. That's usually quite in line with my own temperature sensor in my shed.
Off topic: It's always fun finding out what sort of person someone is through how they refer to specific batteries. I'd personally call those Tamagotchi batteries.
Haha, I live in the Netherlands. Although I definitely use them the most for smart home devices and not bike lights.
Not sure I ever changed my tamagotchi batteries back in the day so I didn't know it used the same.
At least to start with that's a good point. Part of what I want to explore is that the front of the building is very different to the back (hot street on the front, cooler tree-covered area on the back) and it would be interesting to see how much of a difference that makes. But maybe just using live weather for the area will be good enough for the "should I be opening windows yet?" question.
The Pico itself seems to already be equipped with a temp sensor, so I’d start off trying to make that work.
https://electrocredible.com/raspberry-pi-pico-temperature-sensor-tutorial/
It really looks like a clever hack than a reliable solution.
That’s why I said:
Complexity isn’t in adding a hardware temp sensor, it’s in creating the software and storing the results. Once you figure out reading from the ADC, it will be very much the same for other sensors.
Many Zigbee motion sensors contain temperature sensors, which you can automate around easily with Home Assistant (and set up motion based lighting!). I have both indoor and outdoor Hue sensors which provide temp. Also, Ecobee thermostats support adding wireless room sensors that do temperature + presence, which you can tie into Home Assistant as well.