When building my first "box" I jumped into the beginning of a real do-it-yourself smart home with all that comes with it. One of the more difficult choices when starting with home automation is choosing the controller as this choice can be a deciding factor between success and failure. The controller contains the configuration, handles automations such as “turn on the light when this room is occupied” and have the graphical interface which gives the look and feel.
The controllers can generally be broken down into two categories:
Purchased boxes: These comes in many variations and would easy get me going, however these often come with a high price tag or is somehow limited in how I can extend their functionality or communication channels. An example of such a system is Fibaro Homecenter.
Home made boxes: Requires a higher level of expertise in setup but gives me a better variety of options in terms of platfom and possibility of devices. An easy way to get going is to buy a Raspbery Pi and install one of the common open source systems such as Domoticz, Home assistant or OpenHab2. I will explain these further later on.
As you might already have guessed, I ended up chosing to build my own box as I honestly have doubts that I can purchase a box that satisfies all my needs and that can keep their software up to date with all the different IoT technologies. As I already purchased some Danfoss Z-Wave thermostats beforehand, I also needed a Z-wave USB stick so I was able to communicate with these. For this I purchased one from Aeon Labs GEN 6 which I can really recommend!
As I chose to build my own box using a Raspberry Pi, I now stood with the challenge of choosing a prober platform as well. My primary considerations were the following:
- Community: This is one of the most important factors as IoT moves so fast thus requires a platform that moves with it. A quite easy way to get an idea of the community is to look at how many contributors, releases and followers the open source platform has.
- Supported devices: I would much rather prefer to be able to configure an already developed integration to my devices rather than develop the integration myself.
- Level of expertise: I prefer not wasting too much time trying to figuring out how to set it up.
These considerations narrowed it down to 3 systems: Home assistant, OpenHab and Domoticz.
I tried all 3 (yes, I had some spare time during my maternity leave) and ended up with Home assistant primary because of its active community, their device support out of the box and how easy it is to setup. You can actually find my current configuration here.
Even through the platform supports nearly all my devices I still managed to hit some limitations though these could be solved by installing some separate software. Luckily, as home assistant runs on my raspberry I could simply install the other software components next to home assistant. The other software installed are the following:
- Z-wave Control Panel: I use this for configuring my z-wave devices.
- Homebridge + Homebridge-homeassistant: These allows me to control my devices through apple homekit. Basically this means that I can speak to Siri and my home will obey my commands. Note that I link to homebridge-homeassistant is to my own fork as I have modified so I better can control which devices are visible to apple.
- Node Sonos HTTP API: This allows me to play music, text-to-speech, sounds over my sonos speakers.
- Mosquitto MQTT: MQTT works as a communication bridge between home assistant and several other systems.
- MySensors.org: I recently attached a NRF24L01+ Radio to my raspberry which allows me to build my own sensors and communicate with home assistant through the MQTT broker.
- MySQL: I have changed so home assistant uses My SQL instead of SQLLite. This gives some better performance in terms of drawing graphs.
Devices in my home
In the beginning I only had some z-wave thermostats but my list of devices quickly grew as the fun began. My devices are currently as follows but with many to come:
My conclusion for starting a smart home
Building my own smart home is a never ending project, I continuously get inspiration for new scenarios and devices - just so you know what you are getting yourself into if you take this step :)
- IoT is a really good conversation topic both in business and among friends
- I ended up impressing both colleagues and friends with my setup and "war"-stories.
- I have the satisfaction of seeing more and more scenarios being automated in my home.
- I, at some points, ran into some frustration due to both faulty devices, interference, power failure, etc., which lead to hours of error searching, restoration and work arounds.
- My wife have at few points been frustrated as well, especially during development (lights on, lights off, lights on, ..) or if something breaks down. I actually had my wife calling me at work during winter because the controller froze (ran out of harddrive space) which meant that she could not turn on the light as the wall contacts stopped reacting and the radiators stopped heating (Not my proudest moment).
Who am I?
My name is Søren and I work as a lead technical architect in NORRIQ. I am responsible for the technical part of our web department where we, in teams, develop international B2B and B2C e-commerce sites that integrates to a lot of different systems.
At home I am a dad to a son whom a month ago had his first birthday - time go by, fast! I live with my wife Louise in our house in Aalborg.
The combination of this job, my boy and my wife makes my goal of fully automating our home so much harder as my workspace and devices must be child-proofed, wife approved and be developed in an agile manner with the least amount of effort due to time constrains :)
Why am I doing this?
I think Internet of Things caught my attention as it allowed me to integrate things. Also, opposed to my job where everything is virtual, making the light turn on in a glass cabinet by talking to my Apple Watch actually gives a lot of satisfaction by seeing it happen and knowing the technology stack the information moves through.
What can you expect from this blog?
Rough question, but you can properly expect examples of things I built, the challenges I faced and how you can get something similar up and running - So, subscribe and enjoy.