DIY Netatmo replacement - cheap enough to have 20 stations for price of one.

DIY Netatmo replacement - cheap enough to have 20 stations for price of one.

I have a netatmo. They're fabulous. They're expensive.

I want to monitor the temperature and humidity in every room, shed, porch, and the 4 directions that the wind slams into our house.

That would be about 20 locations. At NZ$150 per indoor module (and netatmo only supports 2 modules per base unit so i'd need more base units) that's not going to happen on my budget.

So what can I do instead?

The expensive part of a netatmo is the CO2 sensor. Just buying the cheapest sensor of allieexpress is about NZ$60. And that's probably a very low quality sensor. Let's drop that from the specs.

A well calibrated accurate temperature & humidity sensor is between $10 and $20 each - let's reduce the accuracy. Is knowing it's 18 to 19C enough? It'll do for my budget.

I bought 20x DHT11 for NZ$1.20 each from dx.com. I could get the DHT22 for about twice that and inhindsight i'd recommend them instead. DHT22 have much better accuracy.

dht11

I bought 20x Arduino UNOs for NZ$6 each, also from DX.com. I got the ones with microusb cables because they're a little easier to find. I also got some short cheap microusb cables.

unos

I bought 20x 433MHz transmitters. THESE ARE VERY NOISY. I also bought a few recievers.

transmitters

I bought Uno prototype board. I bought the cheapest. Turns out these were for a old edition of the uno board, but that means pulling out a couple pins so it would fit.

Then I soldered the sensors onto the prototype boards - and plugged those in.

soldering

After assembling about 10 of these sensor+transmitter units, and programming them up with different "station" names, I placed them around the house.

I made up a receiver unit. This is a 433MHz receiver, with a tuned wire aerial sticking up. It listens for the sentences from the sensors, and repeats this out the serial port. A raspberry pi then hears this (in a python script listening to the serial port) and sends to openhab over rest (i'll blog that later). I have plans to either recieve the messages on a raspberry pi, or get an arduino/otherboard connected to the lan/wifi to do this directly.

TODO: Put code on github. Coming soon. I have some up on my github, but it's early attempts and not the ones i got working. Will push good code soon as i remember.

Now here's something important. The 433MHZ is noisy, and if you're adding to the noise, you should really do so in a considerate way. This means sending a message maybe every 30 minutes, not every 10 seconds.

sensor and transmitter

This all ends up in openhab for each room.
openhab sensors