Many Home Assistant users are keen to replace Google or Alexa for local control of smart home devices. We’re dismayed by the complexity of setting up voice access - namely the requirement for HTTPS, fundamental for a system that relies on a web interface. For those of us who are not “hardcore” - that is, who have only a surface knowledge of network security - this is a minefield.
If we only want the devices on our internal network to talk to each other and don’t need external access to HA, our minds are boggled by the idea of using an Internet domain for this. (I have one and can’t work out whether subdomains can be local while the root domain is on the Internet.) The beginner doesn’t know how to create a certificate on their HA server, or how to copy this and its relevant keys to the other devices in their house. It’s not that we’re too lazy to learn: if we look online we find contradictory instructions, none of which seem to be complete, most of which involve in-depth knowledge of SSL/TLS and DNS and/or subscribing to other services. The worst are the ones that say “this is easy” and then miss out the prerequisites! It seems it’s even more difficult for those of us running HAOS, which is limited in what it lets us install and in communicating via non-web interfaces.
Would anybody be kind enough to write us a step-by-step instruction on the following lines, to become part of Home Assistant’s documentation? (I’ve written my own intro explaining things that will be obvious to most readers but that I had to verify.)
Setting up HTTPS for local voice services
HTTPS is a widely-used security protocol that encrypts network traffic and validates a web page with “trusted” status using a certificate and a key. This is needed for voice in Home Assistant because microphone support is a “https only” feature in web browsers: this applies even if your devices (PCs, tablets or phones) are all on the same internal network. Creating this certificate and copying it to your other devices is a convoluted process, particularly on HAOS as this is designed basically as an appliance. If you don’t mind seeing frequent security warnings on your devices, you can simplify things by using a self-signed certificate.
How to set up HTTPS and create a security certificate on your HAOS server
- First go to Settings | Add-ons | Add-on store and install Duck DNS add-on and the NGINX Home Assistant SSL proxy add-on on HAOS
- ?
x. To create your self-signed certificate…
x. When asked for a domain name, type ‘localhost’ (?)How to copy the certificate and key to your other devices
Windows
- Connect to your HAOS server using…
- etc
Linux
Android
IOS
Feel free to correct inaccuracies above!
(assuming the devices only need to work while connected to the local network in the home where HA is set up).
This might take an hour or two for someone with expertise who is also a good communicator, but it would benefit a lot of people and help make Home Assistant accessible not to the masses exactly, but certainly to those of us who thought they were IT literate but are demoralised trying to join “Year of the Voice”.
Thanks for reading this far!