Here is a list of all the various home automation tools and apps I use.
Overall, my main goal is to have everything running locally, without relying on cloud services. This pretty much rules out all products by Amazon and Google, and many others. It also means sometimes it's more work to get things running, but it's worth it in the end.
Smarter Home Automation without the Cloud - Øredev 2019
I gave a talk about my home automation experience in Sweden! Check out the video below.
Table of Contents
- Motion Sensors
- Door Contact Sensors
- Temperature Sensors
- Infrared Control
- Water Usage
I use a mix of Zigbee, Z-Wave, 433mhz, Bluetooth, and home-built devices.
I only add things to this page if I feel comfortable personally recommending them. You can help me out by following the links on this page so that I receive an affiliate commission if you buy them.
Philips Hue - I've replaced every bulb in my apartment with Hue bulbs. They are super reliable, I've actually been carrying the same bulbs from place to place over the last 10 years. While you can connect these directly to a Zigbee receiver instead of their Hue hub, I actually prefer using their hub and connecting their hub to Home Assistant. This provides a bit of redundancy since you can then use multiple iOS apps or light switches to control the lights even if Home Assistant is offline.
Wyze Motion Sensor - It's hard to emphasize just how small these things are. They are cheap too, at just $6 each. They run on a battery, which Wyze claims will last 12 months. This talks to the Wyze USB hub which you can read from a computer, to avoid using the Wyze cloud. My only complaint is I wish it was either all black or all white so that it could blend in better.
Aeotec MultiSensor - This is more than just a motion sensor as it also can sense temperature and brightness. It's quite a bit more expensive too, and quite a bit bigger than the Wyze. It also runs on a battery which should last 12 months. I haven't really noticed any difference in the motion sensing between this and the Wyze. It connects via Z-Wave.
Door Contact Sensors
Wyze Contact Sensors - Again, Wyze knocked it out of the park with this sensor. You can get a pack of 4 for $20. They are super small and battery life is 12 months. They are super small, so they're easy to stick on almost anything. I have them on every interior and exterior door and window. These report both opens and closes, which it turns out is not true of all contact sensors!
JC 433MHz Burglar Alarm Sensor - Before I found the Wyze sensors, these were the cheapest door sensors I could find at $20 for 5. They do work fine, but they only report opens, not closes, so you can't use it to tell whether something is still open or not. As such, I only use them on doors that are normally closed, like the fridge or kitchen cabinets, as a way to report general activity in these rooms. They are definitely larger than the Wyze sensors, but aren't too big.
Ecolink Z-Wave Door Sensor - At $29, this is not a cheap sensor, but I wanted to see how it compared to the Wyze sensors in terms of reliability. The battery in this claims to be able to last 3 years. It's quite a bit bigger than both the other sensors.
The Aeotec MultiSensor above reports temperature as well as motion. It's kind of expensive so I have only one of them though.
AcuRite 06044M Indoor Temperature and Humidity Sensor - At $13 this is pretty affordable especially since it has an LCD display. I have a few of these scattered around the house where I might want a quick visual display of the temperature. It also reports via 433mhz back to the base station. It runs on 2 AAA batteries.
AcuRite 06002M Outdoor Temperature and Humidity Sensor - This is about the same hardware as the indoor sensor except it has no screen and runs on 2 AA batteries. It's not actually waterproof so you can't use it outside unless it's under a covered area. I have this in the bathroom which does a good job of knowing when the shower is on.
Broadlink RM Mini 3 - Some not-smart devices can be made smart if they can be controlled via a infrared remote. My floor air conditioner for example has an IR remote, but no other mechanism to hook into. This device can learn IR commands from your remotes and parrot them back out. Make sure to block this device's internet access and keep it on your LAN only otherwise it will phone home.
StreamLabs WiFi Water Meter - If I lived in a house I owned, I would just splice a water meter into the water main coming into the house, but I obviously can't do that in an apartment! Instead, this device sits on top of the pipe and uses sound waves to measure the water flow in the pipe. It sounds like magic, I hope it's accurate!
Installation was fast, it just clamps on with zipties, and connects to your home wifi. I am only provisionally recommending this though, because it reports the water usage up to their cloud service. They do have an API, although they currently restrict API access to paying subscribers. The app can view the data with no subscription. There is an ongoing discussion about whether they may open up API access to free accounts too. Ultimately I'd like to see the ability to talk to the device directly and bypass their cloud completely. Since they've extended free API access to me in exchange for giving feedback, that is what I will be telling them.
In the mean time, I've configured Home Assistant to pull water usage data from their API so that I at least have the data locally.
Sesame Smart Lock - I obviously can't replace the actual lock on my apartment, so I'm stuck with retrofit options instead of getting a proper smart lock. This attaches to the inside of the deadbolt and physically turns it with a motor. It talks via Bluetooth to your phone or to their Wifi hub.
Schlage FE599NX - If you can replace the doorknob of your door, I highly recommend this lock. I've used this in the past when I do have a door I can replace the doorknob of. This supports Z-Wave so you can control it from your hub as well. It runs on 4 AA batteries, but since it doesn't have a motor, the batteries last a really long time. I also prefer the physical buttons on this over the flat panel style like the Yale locks.
Intel NUC - The brains of my whole home automation setup runs on this tiny computer. I was using a Raspberry Pi for a while, but quickly ran into its limits with things like limited USB speeds and conflicts between the built-in Bluetooth and USB lines. Moving to this computer made everything run super smooth.
I'm running this on a NUC with an Intel i3 1.7ghz processor, with 16gb of RAM. My model doesn't have built-in wifi or Bluetooth, so I had to get a USB dongle for it. It's connected via ethernet to my home network.
I've attached a handful of other dongles to be able to talk to various devices around the house.
- ASUS Bluetooth Dongle - Has support for Bluetooth 4.0/LTE devices
- NorTek GoControl Z-Wave/Zigbee Dongle - Appears as two serial devices to the computer to talk to Zigbee and Z-Wave devices
- RTL-SDR Dongle - A general purpose software defined radio, but I use it tuned to 433mhz to receive sensor data from the cheap 433mhz sensors. Make sure to get a 433mhz antenna as well.
- Wyze Sense - The Wyze Sense starter kit comes with a USB dongle which can be used with a computer
- Sabrent 4-port mini USB Hub - a hub to add enough USB ports to plug everything in, especially since some of the dongles are too wide for the built-in USB ports of the NUC
- Home Assistant - Home Assistant is the thing that talks to all the devices and remembers their state and history. It supports a lot of devices out of the box, and also has many third-party plugins and various ways to integrate other devices. I avoid writing any automation rules in Home Assistant, and instead write automations in Node-RED.
- Node-RED - Node-RED is a general purpose visual programming tool, which has a plugin to talk to Home Assistant. I find it much easier to create and debug automation rules this way compared to using Home Assistant's built-in YAML method.
- RTL-433 - Tunes the RTL-SDR antenna to 433mhz, decodes the packets, and sends them out via MQTT to be received by Home Assistant
- HA-WyzeSense - This receives the signals from the Wyze sensors directly into Home Assistant.
- ViewSonic TV RS232 - This Python app talks to my TV over RS232 and can read its state and control the power.
- Home Assistant for iOS - mainly this is just a native wrapper around the Home Assistant web UI, but it also does things like receives push notifications and can track your presence to set home/away modes
- Philips Hue - This talks directly to the lights and bypasses Home Assistant entirely, which is a good backup in case Home Assistant fails
- Huemote - Third-party Hue app
- Sesame - This app talks to the Sesame lock on the front door
- UniFi Video - A nice UI to view all the cameras from the home controller
- SmartThings - This is an all-in-one solution that has a decent app, but everything runs through their cloud service. They claim that on their v2 hub that the rules run locally, but it still requires their cloud in order to set up or do anything. They have been around for a long time now, and were acquired by Samsung who has kept everything running, but I'm still not willing to let a cloud control everything at home.
- NetAtmo - Another cloud-centric device. I had the original NetAtmo air sensor, but it eventually just stopped working.
- Nest thermostat - I don't have a regular heater/AC in this apartment, so I can't use a Nest thermostat even if I wanted to, which I don't, because again it's completely tied to Google's cloud.
- Nest camera - These cameras are great, but I didn't like that all the footage went up to the Google cloud. You also have to pay monthly in order to access any historical footage, even though they continue to store it even if you aren't paying.
- Ring cameras - There are so many reasons this is a bad idea, just search for news articles about Ring to see what I mean. Also it's entirely cloud-based so the footage all lives in Amazon's cloud.
- Raspberry Pi - I was previously running Home Assistant on the Pi for a couple months. The CPU was plenty fast for it, but I kept getting weird timeout issues talking to various USB devices. I also had to buy a Bluetooth dongle for it because the built-in Bluetooth was super unreliable if any USB devices were also being used.