If you are interested in home automation, you soon learn that getting things to work together isn’t as easy as you might think most manufacturers have their own app, often they say works with Alexa, or Google home or IFTTT. But it’s a bit of a trap to get you into these ecosystems and you soon find it’s hard to do anything but the simplest things because these systems are not designed to talk to each other beyond basic commands.
There are essentially 3 voice command systems Alexa, Google home and Siri and they don’t play well together and then there are 1000’s of devices that might work with each Assistant. Now IFTTT was a good option until they decided you need to pay to have more than 3 automations.
Now a good free option is home assistant it runs on your own server and the cheapest to run is the Raspberry PI it uses very little power and will happily run 24/7 without too much bother. If you want least complexity the card image is the way to go. You can go for other methods but there is a learning curve and getting addons into homeassistant is more challenging.
Now one of the things most people want is to be able to control things with their voice and then maybe want manual control again 🙂
The real problem with voice assistants is a limited vocabulary they can do the basics but if you have an automation that needs a new voice command you get stuck for Google Home you can use nora which presents virtual devices to Google home and Google home can recognise the names and work with them. Alexa has skills which you can use from third parties but again it becomes complicated if you need to expand Alexas vocabulary.
So now we come to Apples Homekit and it isn’t your first choice initially mainly because anything Apple tends to get expensive. There is a server called homebridge which works with homekit but you don’t need it because homeassistant has
homekit:
This is a line of code you put in home assistants configuration.yaml file reboot and it pops up a QR Code scan the code with your iphone or ipad camera and it will ask if you want to open in homekit and it installs homeassistant as a bridge. Now all the devices you have working in homeassistant become available to homekit and Siri and not just the premade ones it recognises your own automations by name!
Now this is a big deal, a game changer it’s now possible to create an automation that you can just ask siri to use and siri uses it! Oh and that line of code is only needed if you don’t have the addon store built into home assistant, you can just select the homekit integration addon from the web ui of home assistant.
Ok not convinced yet? Lets try this hey google/alexa/siri turn on all lights. The result all lights are turned on and your baby who was soundly asleep now starts crying as he just got woke up, you didn’t really want to turn that light on did you?
This is when you realise this smart home is dumb having your assistant talking to the outputs directly is as subtle as a sledgehammer to the knees You need a filter , some of the time and home assistant makes it easy with an automation the problem is making google or alexa recognise and use that filter is hard. They don’t know its name or how to interact with it.
I can make an automation to turn off a light after 5 minutes and so if I get the assistant to turn on the lamp 5 minutes later it goes off. But sometimes I might not want that to happen so i can go in the web ui of homeassistant and turn it off but I can’t get alexa or google to turn it off without creating a custom command but Siri knows the name I gave to the automation and can use that name. No extra programing needed.
Now it’s possible to break the direct link between your voice assistant and your hardware you don’t let the assistant know what’s at the other end. Now any command is filtered through your conditions and not bypassing your control. If you are using google home or alexa , you can do the same thing but it is a lot more difficult and requires some programing skills. I have some google mini’s so will have to use nora to keep them working with my lights or keep the sledgehammer approach.
Ok Apple’s homekit does require a homehub, an iPad or an AppleTV https://support.apple.com/en-us/HT207057 The reason being that the hub is linked to your apple account and this makes the link between your iphone in your hand and the automations in your home. This makes the need for a dyndns service to keep your home available on the internet and port forwarding unnecessary and likely more secure. It’s good isn’t it 🙂