- Part 1 - My Personal Challenge for 2017: Create my own Home Automation Solution
- Part 2 - My Personal Challenge for 2017: Hardware my Home Automation Solution needs to work with
I’ve been intrigued by the developments in home automation and virtual assistants, but am not too happy with most of those solutions being ‘in the cloud’. There is no reason to have your home automation solution communicate with the outside world to perform tasks within your house. Not to mention that this opposes a huge security risk. Therefore, I have decided to create my own home automation solution in 2017.
Now, I’ve done some coding in the past, but wouldn’t call myself a full-stack developer or profile myself as a developer. Not that I don’t enjoy coding, because I do like to tinker with things and use code for automation of boring repetitive manual tasks or make small improvements or fixes. However, I don’t have the ambition to work as a developer/engineer.
Just to give you an impression of my limited coding experience, here are some examples of coding I’ve done:
- develop a projects databases as an interim solution at a previous employer (using PHP, HTML and XAMPP), based on a template in Excel that I’d already developed for myself
- automate repetitive manual tasks in Excel using VBA (i.e. automate data imports from multiple sources, updating charts/dashboards, IFTTT)
- customizing PHP code in side-projects that are using WordPress
- SQL statements for customized reporting or in aforementioned side-projects
As you can see, I can get by – reading and writing code – but am nowhere near a full-stack developer, writing code from scratch. Nevertheless, I have taken it upon myself to create my own home automation solution. So, at this point I have no idea which hardware I am going to use or what open source software I’ll be using, nor what customization I will have to do. But, I am confident there have to be some solutions out there that enable you to have all services running locally, on the network within your own home, without sending sensitive information to the outside world. I will let you know my findings and selections of hardware and software, as well as any customization I make, as I go along.
The idea is to focus on HOME AUTOMATION, meaning my main goal is to create a solution that is capable of doing a lot of thinking for me and the members of my household. This should make our lives more convenient. not having to worry about the small stuff, and enable us to focus on the more important things in life.
Home Automation vs Home Control
Now, I want to make clear that there’s a difference between ‘Home Automation’ and ‘Home Control’. Home Automation is when actions happen without direct human interaction with devices. Some examples:
- Open a door and the entryway light turns on.
- Everyone leaves and the doors automatically lock, the thermostat is automatically turned down and the alarm is automatically armed.
Giving a direct voice command (i.e. to Alexa or Google Home) is the same as clicking a button on a remote and is not an automation, but Home Control. Obviously, a voice command can still trigger Home Automation, but the trigger is still a human interacted command and therefore Home Control.
So, my goal is a Home Automation solution, but that doesn’t mean I don’t want the option of Home Control. I would still love to be able to control all lights, audio, video and other technologies throughout the house using one simple centralized interface. So, we’ll just start this journey and find out together what the end result will look like…
Now, my vision is to have a Home Automation solution that runs within the network of my own home, and doesn’t communicate with the outside world. At least not for critical or security sensitive information. Because I can understand the ease-of-use and easy setup selling points of cloud-based home automation services are appealing to a lot of people. But I wonder if those people ever thought about the risk involved, when sending your alarm security codes or commands over the World Wide Web, or just the plain fact that you are informing someone outside of your household about the fact that you are (not) at home… I’m not saying that the home automation service they are using might not be reliable, but any system/database that contains such information obviously becomes a very interesting target for people with not so good intentions.
What I currently think, or hope, the future solution will look like, is not completely clear yet. But, here are some of the things I would like the system to be able to do:
- Automatically turn off all lights, turn off the thermostat, and arm the alarm system when last person (my wife or I) leaves the house
- Turn on the audio and video equipment, dim all the lights in the family room and kitchen slowly during 2 minutes (so nobody in the room notices this happening), on movie-night
- Detect my location and turn on the thermostat to a pre-defined setting when my wife or I leave work and are about 15 minutes away from home
- Open the garage door and turn on the lights in the family/living room when my wife or I is within 50-100 meters from the house
In the beginning these might be fully automated or by pressing a button, but in the final version I want to be able to use voice commands as well.
Now, let’s get started and see what we can realize…