Table of contents
- Problem: cloud-based smart home
- Solution: Home Assistant
- Getting started
- My open-source smart home
- Further reading
Smart home, and Internet of Things (IoT), is cool! It offers unparalleled convenience, while energy usage and improving home security.
I happen to love tinkering with things, so let’s build a smart home! However, when I was researching how I could get started, I realized the smart home industry is a huge mess…
Problem: cloud-based smart home
In recent years, big-tech companies like Amazon (Alexa, Blink, Eero, Ring) and Google (Google Assistant, Nest cameras and thermostats) have greatly popularized smart home products and reduced the barrier to entry.
However, Amazon, Google, and most consumer smart home companies aren’t your friend. First of all, most of their products rely heavily on the cloud. This might not sound too bad, especially when everything is working correctly, but you’re at the mercy of the manufacturer to support these products.
Consider these scenarios:
- Your internet connection, or the cloud service goes down.
At best, you would lose “smart” functionality until the connection resumes. At worst, you wouldn’t be able to use your devices at all during the outage.
- The manufacturer suddenly decides to require a subscription to use their cloud, even though they promised “free cloud” when you purchased their products. Wink famously did this in May 2020.
You either pay for the subscription, or lost most – if not all – functionalities.
- The manufacturer goes out of business and shuts down their cloud, which renders their products useless. This happened to Insteon in April 2022.
Unfortunately, the devices you bought would just become fancy doorstops.
If you’d like some entertainment, @internetofshit on Twitter has tons of stories of IoT gone wrong.
Solution: Home Assistant
I came across Home Assistant, an open-source home automation “hub” that puts privacy and local control first. With the right hardware, one could use it to build a fully local smart home without much trouble.
If you want to learn more about Home Assistant and their vision, check out:
At a whim, I decided to give Home Assistant a shot and use it to start building my smart home.
Installation and setup
Setting up Home Assistant is pretty simple. Since I already have a PC at home, I installed the Home Assistant Operating System as a virtual machine on it.
You can run Home Assistant on most modern PCs and single-board computers (such as the Raspberry Pi), and they offer several different ways to install it. The Installation page on their website goes over these in great detail.
Once you installed Home Assistant, navigate to your instance in a web browser and follow the setup wizard. See the Onboarding page on their website for more info.
Since I’ve decided to build a fully local smart home with Home Assistant, I came up with the following criteria for choosing smart devices:
- Must support local control, and work without an internet connection
- Must integrate with Home Assistant
- Preferably, I can set it up without creating an account with the manufacturer
Turns out, it’s pretty hard to find devices that meet these criteria, as most consumer smart devices rely heavily on the cloud, and their Home Assistant integrations just interact with the cloud.
Fortunately, there are some options. For example, some, but not all, Kasa by TP-Link products support local-only control and do not require a Kasa account. They have a list of locally-controllable devices on their website. Additionally, most non Wi-Fi based (Bluetooth, Zigbee, Z-Wave, etc.) devices are designed to be controlled locally.
Eventually, I purchased:
- 2 Kasa HS103 Wi-Fi smart plugs
- 2 Kasa KL125 Wi-Fi smart RGB light bulbs
- A random RGB LED strip controller that uses the Magic Home Pro app
- A Govee Bluetooth hygrometer
All of these devices integrate well with Home Assistant:
- Kasa devices integrate with the built-in TP-Link Kasa Smart (
- The LED strip controller, and anything that uses the Magic Home Pro app, is supported by the Magic Home (
- The Govee Bluetooth hygrometer integrates with the Passive BLE Monitor integration (
ble_monitor), which is a “custom component” and not part of Home Assistant.
My open-source smart home
With these devices, I’ve “smartified” and automated my home with Home Assistant. I wouldn’t go too deep into my setup just yet, but I might in a later post.
I’ve been running Home Assistant for a few months now, and it’s been amazing! My automations have been working really well, and I can control everything locally, without an internet connection.
In fact, everything’s been going so well that I’ve decided to expand my setup. I’ve ordered a few more devices, including some Aqare Zigbee devices and a SONOFF Zigbee USB dongle. I’m also considering diving into DIY devices with Tasmota or ESPHome.
- How to achieve smart home nirvana (or, home automation without subscription) on Ars Technica
- Awesome Home Assistant