The purpose of this article is not to teach you how you can make your home do whatever you want it to do, but instead it will make you understand better the process of implementing a home automation solution. Or, as my experience would say, to turn madness into sanity and peace of mind. There are a lot of guidelines on the Internet to help you understand the technical aspects in detail, but we will focus more on the bigger picture, the mindset which you should apply when building your own Home Automation Solution.
You may be wondering already what things will be covered here, so let me give you a short summary first:
Well, the answer is simple for this one. We are all lazy geeks and we like watching computers do things for us. We want our homes to be “aware” of themselves and to have the ability of doing things, hence leaving us with more time, to learn new things and improve ourselves. Also, because we want our life to become easier. Are you watching a movie and suddenly you feel cold or you realise you forgot to turn off the light or to close a door? You’ll have to pause your movie, get up from your comfy seat and go and solve the problem. What if you forgot more things? Yes, you are correct, the movie mood is starting to fade away, but a smart home could help you overcome these issues by doing those things for you. Automatically!
Another reason to implement home automation is security. And this does not cover only the doors and windows being closed, but also the protection against gas or water leaks, kids being in areas dangerous for them and so on. Your creativity is the limit!
At first, you will feel overwhelmed by the amount of things you could automate in your home, so I would recommend creating a checklist first. You can follow this thinking pattern to make it easier to understand your plan and how you will implement it:
If you managed to get this far, you should now have a very good idea of what you want to achieve and how you will do it.
I mentioned Instructables earlier, a very good place to start, with lots of tutorials and ideas, but to summarise and maybe to already give you some ideas, I will try to list some of the things I already did in my home:
And these are just a few of my improvements for my home, but the list is long and keeps growing. In fact, let me give you another tip. Try having brainstorm sessions with the rest of the family and see what they would like to improve. Teamwork does wonders!
By now you should already have a couple of lists with things that you want to do and places where automation will make your life better, but how do they fit together? If you are like me, you would want to visualise everything in one image, like a map of cool things your house can do. For this we need some blueprints. Depending on your skills and available tools you can:
When adding the IoT part, start with simple things like lights, electrical plugs, heating, curtains, doors and so on. You can even add pumps for your aquarium, a Christmas tree or a smart home cinema. But remember, start small and try to grow little by little, while learning your habits and needs.
OK, so now you have sensors and arduinos spread throughout the house (pro tip: try to hide them so you won’t stomp on them by mistake), but they don’t do anything yet. The “smart” is still missing from your home so lets add it. In order to make your house aware and be able to make decisions you will need a computer and some software to control all the IoT goodies. We call this a controller and its main capabilities should be:
To achieve this, you have countless options, paid and free, but lets focus on the free options as it fits better with the idea of you being in control and not a 3rd party vendor. The first option, if you have the skills and time, is to write your own home controller software which will send commands to your IoT equipment. Since software development is such a complex task, we will not cover it in this article, but if you choose to go this way there are plenty of online communities willing to help and advise.
The other free option is to use an open-source controller. This will reduce the time of having a solution up and running as it’s just a matter of installing and configuring. There are many great projects out there which offer similar capabilities, so feel free to try them all and choose the one that fits your needs and GUI taste the best. Personally, I worked with openHAB, Home Assistant, HomeBridge and PiDome and they’re all good, in the end, the choice being just about aesthetics (and wife acceptance).
For my final words, I have decided to give you some tips regarding some technical aspects of home automation, things which I didn’t think of from the beginning and that made me lose a lot of time and also money as I had to re-buy some of the sensors and Arduinos.
Device enclosures: you will deploy a lot of electronic devices around the house and they should be protected from humidity and heat. For this, you can use up-cycled boxes, enclosures from DIY stores or 3D printed boxes, but always plan well how the components will fit inside so that the heat can dissipate fast.
Position: do it wisely! If you monitor environmental items like temperature or light, make sure your sensors are not in plain sun or you will get the wrong values reported back to the controller and this could lead to unexpected situations or even dangerous!
Sensor quality and ranges: there are many vendors for the same type of sensor, but the quality can vary quite a lot, so read the reviews and technical specs carefully. You don’t want a faulty temperature sensor to decide when the heat should be turned on.
Pets and kids: it might not be obvious at the beginning, but do take them into account when placing motion sensors around the house, for example, as you might end up with your home looking like a rave club, lights going on and off like crazy.
I’m sure there are more things to take into consideration, but I’ll leave the fun of discovering them to you.
Have fun and happy hacking your home!