Step 1: Pick your platform
You should make an inventory of all of your smart home devices and understand which platform they support. Your primary preferred platform will be most likely driven by the mobile ecosystem you are already invested in (iOS vs. Android), but in reality, not all of your devices will be compatible with that system. Moreover, once you start building complex multi-platform automations, you will probably feel constrained by what is natively offered in Apple Home and Google Home apps. Fortunately, you can look into a number of self-hosted and web applications to solve your problems.
- Prefer Apple Home (iOS), but not all devices support HomeKit – consider running Homebridge to emulate HomeKit functionality (also see tutorial Getting started with Homebridge).
- Prefer Google Home (Android), but not all devices support Google Assistant – consider filling the gaps with IFTTT and Zapier.
- Want to build more complex automations directly in iOS – look into the iOS Shortcuts app, a very powerful tool for more advanced automations (also see our iOS Shortcuts recipes).
- Want to integrate everything into one platform that is fully customizable and don’t mind learning some coding along the way – sounds like Home Assistant could be a great fit (also see our Home Assistant recipes).
Step 2: Figure out what you want to build and who will use it
You will save many hours of work if you map your goals and use cases upfront. Are you trying to build simple automations to save time and cost? Are you building a command central that your family will use? How are you planning to expose the interface? Will you need remote access? Which devices will host your automations?
All of these decisions will likely factor into your choice of platform in step 1, but also to the way you structure the user interface. For example, I have simpler end-user interface in Home Assistant for my family and a more complex interface for my own needs. I have also linked many automations to Google Assistant, so the user can trigger them by voice without knowing the platform complexities happening in the background. You will probably not get this absolutely perfect, but as you learn and tweak your setup, every new version should be a significant improvement.
Step 3: Look for help and inspiration from the community
As your home automations get more advanced, you will inevitably get to the point where you will need help. Fortunately, there are many forums where you can find either existing solutions or ask for help. My favorite sources are:
- Home Automation Reddit (750k+ members)
- Platform-specific Reddits – Home Assistant, Homebridge, HomeKit, Google Home and iOS Shortcuts
- Google Nest Help Community
- Home Assistant Community
In addition to the being helpful, some of the sources listed above are also a great showcases of what people in the community are building. There is nothing wrong with getting inspired by other projects – in fact, I think you learn the most by trying to replicate what others have done and tweaking it to your own liking. You can start by looking here: