Home > My Projects > Home Automation > Voice Control |
I don't consider voice control to be a necessity, simply a convenience. After all, a smart home isn't very smart if all one has done is substitute a voice controlled switch for a finger controlled switch. Yet there are times when it can be helpful to bark out the order "Turn on the basement lights!". Because humans are a little unpredictable, sometimes an automation doesn't cover the fact you've run clear past the motion sensor without triggering it somehow with your entire torso covered in the contents of an exploded paint can, heading for the laundry sink downstairs. Theoretically. Voice control is really the one area where I break my "No Wireless, No Cloud" rule because quite frankly I am too lazy to invest the time to try it another way. Google Homes are cheap and work. Open source alternatives such as Mycroft require far too much effort and after all that, you find out they suck. I don't want a project I must become an enthusiast for in order to use, especially since I don't consider voice control to be critical.
Google Home |
You're probably wondering why in FSM's name I would be using Google Home Minis when I have already stated that tenants my philosophy of home automation are no-wifi, local only and open source. Well, as mentioned above, it is all about convenience. No one can argue that Google Home voice control isn't good. Not perfect, but very good. I've found I can yell an order across my shop while running the band saw and the damn thing still understands me. I don't think one will find better voice recognition more convenient than spending $39.99 at Home Depot (one can assume they are always on sale because Google is happy to sell below cost for market share).
Home Assistant provides a Google Assistant integration which in my experience, after some initial teething issues, has worked reliably for several years. For non developers it can absolutely be daunting to set up with the requirement to create a Google Cloud Platform project however once set up it is basically a set-it-and-forget-it. One requirement is that the HA instance must be externally accessible with a valid (not self-signed) SSL certificate which is honestly the only reason my HA is behind an nginx reverse proxy with a valid cert.
The elephant in the room using any 3rd party provided voice assistant is privacy. I probably don't need to explain that the entire reason these devices exist is to harvest data from the users. As such, when I set the devices up I created an entirely new Google account to do so. This Google account was created using a throwaway email address as the recovery email. Registration details were made up including name and age. The minimum amount of (fictitious) personal information was supplied to create this Google account. The only somewhat accurate information provided was location as there are a number of queries and services that rely on local location (ie. "What is the weather?", "When does Home Hardware close?"). The location provided is actually the property 2 lots directly behind mine. And needless to say, the Googles Home are absolutely not linked to any other third party services. Under this Google account the Google Cloud Platform actions were set up to enable the integration with Home Assistant.
The Google Assistant integration has matured along with the development of Home Assistant and become trouble free. The initial integration often required re-linking the Test App when new devices were added, and the ability to sync new devices would often cease after a 30 day timeout. Thankfully these problems have been corrected ("Resync Devices" has now been implemented through HomeGraph) and at this point the integration is very stable.
All of that said, I am well aware that at any point Google could decide to deprecate these devices, require a subscription fee, demand they be often "refreshed" or "validated" with an Android App, or any number of locking changes. At that point, I will simply look at other options. Hopefully the open source solutions are matured by then.
Additionally there is definitely a functionality sacrifice you make when operating these devices in a silo without links to other "cloud" services. I haven't bumped into this as my use is limited to thinks like barking out "Hey Google turn on the air compressor!" or "Hey Google, when does the liquor store close?", using it is a media player, and using it as a TTS output device.