Making my home smart
When I was doing major renovation at the house, I’ve decided I want to make my home “smart”. I wanted to control lights, heating system, electric sockets, security system and more.
Four years forward and now I have over hundred sensors/devices connected to my home automation system. Most of what has been originally planned is now working and proved to be reliable and useful.
In this post I will describe home automation components I currently have and how they are all working together.
Requirements
I’ve started with a list of requirements for home automation system:
- does not require changing existing electrical system (electric wires stay and new control wires are added)
- is relatively cheap (ready-to-use home automation systems like KNX are exceptionally expensive)
- wired wherever possible (avoid replacing batteries, connection problems and radio noise from a multitude of devices)
- easy to assemble (I am a software developer not an electronic engineer)
- reliable (this is where I’ve spent a lot of time)
- provide local control (being unable to open the gate when there is no internet connection is not fun)
Hardware controller - MqGateway
Most of my home automation sensors/devices are controlled by MqGateway.
Disclaimer: I have created MqGateway myself on my home automation journey. I’ve done it, because I haven’t found any ready-to-use wired system, that would fit my needs, and so I would not need to sell my house first to pay for it 😜.
MqGateway gives me a local control and wired connections to many various sensors and devices.
It works as a gateway. It doesn’t run any automations itself - this is a role of automation controller which I describe later.
MqGateway job is to expose an API (through MQTT) which is easily integrated with automation controller (Home Assistant in my case).
Currently, I have over 120 devices connected through five MqGateways including:
- lights
- wall push buttons
- motion sensors
- wall power sockets
- temperature and humidity sensors
- open doors and windows sensors
- sprinklers system
- fence gate
- garage gates
All of these are controlled with simple, arduino-compatible sensors/devices which cost no more than a few Euros each (usually less than 1€).
Automation controller
Currently, my home automation controller is Home Assistant, but I’ve used OpenHab for a quite long time before.
To be fair - both projects are amazing and have tons of integrations available - it is just a matter of personal preferences to choose one or another.
Home Assistant is the central point of my home automation system. It binds all the smart devices I have. It also runs most of the automations (at least those simple or crucial - like controlling lights). For more complex automations, I use AppDaemon which allows me to write automation in Python and integrates nicely with Home Assistant.
Home Assistant with its integrations enabled me also to connect many devices I’ve already owned (like TV, routers and media players).
Other sensors and devices
Not every sensor/device I own is controlled by MqGateway. It is either because I’ve not predicted I will need a device at some location when installing wires, or I needed a functionality which is much easier to achieve with another solution.
For these cases, I use either Wi-Fi, Zigbee or RF devices.
I’ve got some:
- dimmable and color-changing bulbs with Zigbee,
- Zigbee wireless buttons,
- relays controlled through WiFi,
- WiFi cameras,
- RF controlled radiators thermostats.
My family also use voice assistants which are integrated with our home smart devices through Home Assistant. We use it mostly to control lights and media players. We couldn’t get to an agreement which one is better, so we have both Amazon Echo and Google Home in different rooms 😄.
Does it make sense?
Definitely, YES!
While some elements of my home automation system are not perfect and making it all work took me enormous amount of time - I believe it makes my life better. It is partly because of the fun it gives, but also because automations:
- automate boring, repeatable processes (e.g. by opening/closing roller shutters just at the right time),
- help to remember about important things (e.g. closing the window after airing the room in the winter),
- save money (e.g. by closing radiator valve when opening window),
- extend security (e.g. by sending a photo from a front door camera to my IM whenever someone is ringing)
I am still adjusting and expanding my smart home system.
Fortunately, with the current setup, I feel it is flexible enough so adding new functionalities and changing existing ones is pretty easy.