This is an old revision of the document!
The Goal
What i have accomplished so far, and i am proposing here for you, is an Home Automation approach that leverages open standards, avoid lock-in solutions as much as possible, keeps all your data in your own home, and is as smart as possible.
The goal of this approach is to make your home smarter (i don't like this term), and let you be in control, always:
- No vendor lock-in (no Google, Alexa, Brondi, whatever requirement) (1)
- Works always even if 100% offline from internet (2)
- Fully configurable and automatize-able
- Uses only standard protocols
Note (1): depending on which tech you already own, you can integrate locked-in stuff as well
Note (2): in some cases, cloud dependency might be unavoidable for specific items
The Approach
I choose Home Assistant as the home automation hub software, because it is Open Source, very well supported and has a long standing tradition (+10 years), and is not only actively developed and supported, but it's always growing.
This will replace all proprietary stuff like Google home center, Alexa integration and such. It will also integrate with all those proprietary platforms, and will talk more or less directly with all the pieces of technology that you already have in your home.
Home Assistant has literally hundreds of integrations with vendors, technologies and devices. You will be surprised by how many things you already own that can be integrated.
As for protocols and standards, i choose ZigBee since it's easy to find cheap and good quality smart-devices talking ZigBee. MQTT can be useful to integrate easily parts and bits, specially when you can write a few lines of code (even python).
It's easy to get lost in the process. I suggest you start thinking what you want to automate, like which lights you might want to turn on/off remotely, and so on. Slowly you will be learning all the possibilities and how to play with automation, scenes and scripts in Home Assistant.