I’m starting a blog series here, about my Home Automation journey.
I want to talk about some of the developments I’ve had, things I’ve learned, and share the fruits of my efforts (large and small) with anybody who might care to peruse them.
So this is a part summary, part rambling about my home automation journey (so far), with links to my actual GitHub code and how I set this thing up. Questions are welcome.
So… where do I begin..?
What does it look like?
I’ve helpfully made a summary diagram that I update online when I can:
Why did I do this in the first place?
I bought a house a few years ago, in the Netherlands.
One of the key things that I had in mind for some time before purchasing, was that I wanted to automate my house eventually. I thought it would be cool. I thought it would be fun. It turned out to be a lot of work, and for the most part, worth it.
What I didn’t realise is how much it would encourage me to be more lazy, and in all fairness, I enjoy it much more than anything else I have in a long time. When I say lazy, I mean that it makes me really consider lazy things. 😀
Automation, as a concept, is a kind of inherently lazy endeavour. You end up investing a relatively large amount of time (Time that you could have just done the thing) and effort into building/teaching a machine how to do something you don’t necessarily want to do, so that you don’t have to do it anymore. The trade-off is that you will hopefully gain some time back or less stress each time the automation runs going forward.
So by automating my house, I’ve spent a lot of time considering all the things I want my own home to just “do” without me telling it, or maybe even do something and tell me its been done. The imagination can run wild when you consider the possibilities.
For example, do I want to switch a light on, when I can have the lights turn on/off when I enter/leave a room? Do I want to constantly remember to adjust the heating when I can have the house warm up when I get home, and cool when I leave? Do I want to lock/unlock the house? Be notified about intruders? How about cleaning? curtains? Music?
How about something as cool as being able to do it all via seamless voice commands?
The list goes on.
How much did/does it cost?
This is definitely a question that I think a lot of people, including myself, wonder about when embarking on such a journey?
There are different costs, of course, like cost of time and cost of money, which is obviously has different values to different people. Personally, I went the more time intensive route, in order to save money and use off-the-shelf parts.
Still, at this point, I’ve probably spent somewhere in the area of 500-600 euros on this, which I consider to be relatively low. Keep in mind that I started small, and didn’t pay for any expensive parts of labour of 3rd parties to do anything for me. It’s all very cheap commodity hardware doing most of the work.
I made a set of goals and loose rules/principles that would help guide my decisions after I started. Most of this is detailed on my the project page I use to keep track of everything. I call these rules My Automation Policy, and it’s certainly guided me well up to now.
Is it a lot of maintenance?
I’ve found that my system will go for years without any change, due to the way I’ve designed it. If I don’t change anything, it will simply work. It’s not strictly dependant on anyone but myself, or any cloud services.
It does require me to keep abreast of breaking changes in updates to things that I use, which can hobble something that was previously working fine.
However, the same with almost anything, when you change or update something (Or want something new) it can break things. The world of Home Automation is still in its infancy, and is somewhat of a luxury.
So every few months, things can change a lot. This is another reason I went the route I did, as I was frustrated with requiring to double-down on a particular solution or brand. The artificial barriers of compatibility are self-evident, even with things the way they are now. For example, most devices either use WiFi, Zigbee or Z-Wave for communication, but two protocol-compatible systems like Philips Hue and Ikea TRÅDFRI both use Zigbee, but are a pain to make work together.
I ain’t got time for that kind of mess. I want my cake and eat it.
Still, there is maintenance. Less than I thought.
There is also a huge community of people making open source and otherwise free solutions to most problems, mostly because they feel the same way.
Where did I begin? How did I do it?
Well, I spent a period of time testing and evaluating the state of Home Automation. I looked at nearly all solutions, and their flexibility. I also noticed the fragmented nature of all the systems out there.
There are a lot of choices, of branded hubs and connected systems. It seems like every large manufacturer is laying some claim to the Home Automation space, and it’s getting crowded. Amazon, Google, Samsung, IKEA and Philips are big names everyone knows.
They all have their own approaches, but regardless, almost everyone knows what a Google Assistant or Amazon Alexa/Echo is. These are household names.
There are also a large group of plucky startups getting into the market like Vera, Nest, Ring, Aeotec, Fibaro, Domoticz, Xiaomi, Neo and many many more. It’s getting crowded, and there are already large acquisitions happening all over (Google bought Nest, Amazon swallowed Ring) as positions are consolidated for the coming war of market share.
Anyway, I digress…
In the end I settled on using Home Assistant as the core of my Home Automation frontend, with all my own disparate hardware and integrations behind it. I did this in a large part because it’s a totally free and open-source solution, written in Python, that I can contribute to (As I develop my Python skills).
Another reason is that it is the most complete 100% local-system that I could run in my own house, on a Raspberry Pi. This is huge, as it allows me to scale the solution at my own pace, and not be reliant on any external cloud service.
One other big reason I like using Home Assistant (As can be seen in the diagram above) is that because it’s open-source, there are integrations written for almost every system/platform out there. This means I can make an IKEA TRADFRI set, and a Philips Hue set transparently work across my own home. I need to be a little picky, but in general, I can pick and choose what I want to use from almost anything.
Is it worth it?
Probably each person considering this would need to determine that for themselves, but I would say yes.
This is also definitely something that you will get out of it what you put into it.
All my code is available at:
What is next?
I’m not sure exactly, but I keep having more ideas and adding them to My Automation Goals plan.