As a professional software engineer, I spent quite a bit of time trying to make sure that our team is following YAGNI, sticking to the plan and building iterative software that delivers value. BUT…when…I’m at home and having fun…sometimes building unnecessarily complicated software so that you can have something just right is fun!
Seeing a floor plan of your home with all of your lights correctly displayed, fans correctly spinning, temperatures in every room, thermostats available for adjusting, etc. as well as automations that help you out and give you a little giggle is fun! Sure, you can just keep it simple and have a “dumb” house. A smart house is so much more fun.
Not everyone will agree, but at least Wallace and Gromit do!
This post is all about how I chose Home Assistant and how I’m configuring my smart home.
Home Assistant
I chose Home Assistant because…
- I love Open Source Software and their communities. Home Assistant has a huge community of people. Checkout their subreddit with 290k subs
- There are a bajillion integrations. Some are very active and some were weekend projects, but if you can dream it, you can make it. There is a really solid chance that your devices will be able to integrate with Home Assistant.
- Easy to get started, plenty of opportunity to go down a rabbit hole or two or three
Hardware
I started simple with a Raspberry Pi 4. Home Assistant recommends getting started on a Raspberry Pi, but there are a million ways to run the software. Checkout their docs.
Starting Integrations
Ambient Weather
I’ve had a weather station from Ambient Weather at my house for a few years. I love it and have bought them for family members. I had to get it integrated with Home Assistant.
The integration with Ambient Weather is easy peasey. You need to already have an Ambient Weather account. Then all you need to do is setup an API Key then add the integration to home assistant with your Ambient Weather key.
Here is a small subset of sensors that come from my Weather Station
Z-Wave Sensors
There are several smart device protocols on the market for controlling switches, lights, sensors, etc. I chose z-wave because…
- Mesh networks are more resilient (no single point of failure)
- Devices aren’t inherently exposed to the internet.
- Lower power consumption than wifi nodes.
- Automation can take place entirely locally, no need to talk to some server out there in the wild.
- My wifi network can only handle so many wifi devices. Z-wave can handle many devices!
Z-wave devices (switches, sensors, smart plugs) can be setup in Home Assistant with:
- A z-wave hub (I went with Zooz 800 Long Range Stick)
- Z-Wave JS Home Assistant Add-On
I have several switches, some motion detectors, smart plugs and a smart power strip. I have been very satisfied with Zooz.
Building Out My Floor Plan
I wanted to make a Home Assistant dashboard that would show my devices and their statuses in real time. If a light is on, it should be lit up on the dashboard.
I used some really cool iOS tech to make this happen. Magic Plan is an iOS app that uses augmented reality features from Apple to allow ordinary folks to draw out their home floor plans quickly. I spent a few hours on a Sunday and now have a good (not perfect) floor plan of my whole home!
I’m not going to post our floor plan here, but checkout examples on HA-Floorplan’s site
Then, I used Inkscape to add layers for my devices and export the floor plan as an svg. Shoutout to TechToner for some easy instructions on how to make this work.
From there, you can follow HA-Floorplan instructions on how to get it setup. Really cool to be able to click on lights in my master bedroom to bring up the controls for the light then see the light flip on/off and the dashboard update in real time.
What’s Next
This is the first part in a series about how I’m using Home Assistant. Part 2 on some unexpected automations that I have is coming soon!