This year is Home Assistant’s Year of the Voice. It is our goal for 2023 to let users control Home Assistant in their own language. Today we’re presenting our third milestone for the year: Chapter 3.
In Chapter 1, we focused on intents – what the user wants to do. The Home Assistant community has now translated common smart home commands and responses into 50 languages, coming even closer to the 62 languages that Home Assistant supports.
For Chapter 3, we bring the full power of Assist to the million active Android devices running the Home Assistant Companion app. Got an Android phone, tablet, or watch? Set Assist as your default digital assistant and talk to your Home Assistant with one push!
To watch the video presentation of this blog post, including live demos, check the recording of our live stream.
Starting in Chapter 3, Assist is now natively supported through the Home Assistant Companion App. With this update, the full power of Assist is available to over a million Android devices using Home Assistant. Access the Assist button in the app, and talk to your smart home from your phone:
Assist on Android is built-in to the Android app and uses the speech-to-text from Home Assistant
Have a Home Assistant Cloud subscription? You can now control your smart home via voice from anywhere in the world without giving up your privacy. Multiple Home Assistant servers are supported, so you can just as easily talk to your parent’s house:
Select a voice assistant from any of your configured Home Assistant instances
Why open an app if you don’t have to? Set Home Assistant as your default digital assistant app! Now, holding the home or power button will instantly bring up Assist:
Launch Assist from anywhere on Android without having to open the Home Assistant app
It’s even possible to activate Assist directly from the lock screen:
You can find the settings on Android: Settings -> Apps -> Default apps or tap on the tip in the Home Assistant Companion settings.
We didn’t leave out watches! Wear OS devices can now natively use Assist as well:
Text-to-speech responses are spoken directly from the watch, allowing you to listen instead of looking for confirmation.
Like the phones, it is possible to set Home Assistant to be your watch’s default digital assistant. Pressing the crown or holding the button on your watch now brings up Assist!
Native Assist on Wear OS
Configure your own sentences to trigger any action in the automation editor
These sentences take priority over the built-in commands, and work anywhere that Assist does. Some basic template syntax is available, such as marking parts of the sentence as optional.
The Home Assistant community is hard at work translating common smart home commands. To help contributors, we’ve added an “Assist” developer tool that lets you test out sentences without actually executing the commands:
Test sentence understanding with the Assist developer tool
For each test command or query, you can find out:
- Which intent would be triggered with its slot values
- Which entities would be targeted
- Whether or not each targeted entity matched (queries only)
Piper is a text-to-speech system created by Nabu Casa, designed to run locally on the Raspberry Pi 4. Since its introduction in Chapter 2, Piper has grown rapidly with adoption in the open source community as well as academia.
The Piper add-on for Home Assistant OS now supports 23 languages and over 70 different voices. This includes voices from 7 brand new voice datasets contributed by the Home Assistant community. These datasets have been collected and donated to the public domain by Nabu Casa for the benefit of text-to-speech research now and in the future.
With hardware like the $13 ATOM Echo, it was possible in Chapter 2 to create a push-to-talk voice Assistant using ESPHome.
Using the latest ESPHome, you can push a button to start speaking and let Home Assistant detect the end of the voice command. Continuous mode is also available, allowing multiple conversation turns with Assist similar to an analog phone.
voice_assistant: microphone: ... speaker: ... binary_sensor: - platform: gpio pin: ... on_click: - if: condition: voice_assistant.is_running then: - voice_assistant.stop: else: - voice_assistant.start_continuous:
ESPHome’s new voice modes use Home Assistant to detect the end of each voice command. In your device’s configuration, you can now adjust how much silence is needed with “Finished speaking detection”:
ESPHome Voice Assistant have two config entities to automate it's behavior in Home Assistant
That does it for Chapter 3! A big thanks to Joris Pelgröm for his work on the Android app, and to the many Assist contributors. And as always, thank you to Nabu Casa and all of the Home Assistant Cloud subscribers for making this possible.
If you want to help fund our work on voice and further development of Home Assistant, ESPHome, Z-Wave JS and other related projects? Subscribe to Home Assistant Cloud.
After three chapters in the Year of Voice, the message from Home Assistant users and creators is loud and clear: we want a wake word for Assist!
In Chapter 4, our focus will be on delivering the foundation for wake word detection. As a part of the Open Home, this foundation will keep in line with our values: privacy, choice, and durability. Stay tuned!
Some links on this page are affiliate links and purchases using these links support the Home Assistant project.
This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2023/07/20/year-of-the-voice-chapter-3/