Question · Voice and AI
How do you set up voice commands in Home Assistant?
Create a voice assistant under **Settings** > **Voice assistants**, set its conversation agent to **Home Assistant**, choose a speech-to-text engine and Piper, then expose each device to Assist. Assist controls only the devices you have exposed, so check that step first when a command does nothing.
Updated October 17, 20264 min read8 cited facts, each traced to its source
You set up voice commands in Home Assistant by creating a voice assistant, which Home Assistant calls Assist, and then exposing the devices you want to control. Once a speech engine and a voice are connected, you speak a built-in command such as "turn on the living room light". Assist can act on a device only after you expose it, so this is the first step to check when a command does nothing.
This answer follows the project's own setup guide and sentence documentation, checked on 17 October 2026. The steps assume the Home Assistant Operating System, which the project says you need to run the whole local voice setup together 1.
Create the assistant in five steps
The fastest route uses the local speech apps. Install the speech-to-text app you want, either Speech-to-Phrase or Whisper, and install Piper for the spoken reply. Then:
- Start both apps. Under Settings > Devices & services, the Wyoming integration should discover both services 2. Select Add for each.
- Go to Settings > Voice assistants and select Add assistant. If you do not see that button, the project says a non-default configuration may need changes in configuration.yaml instead.
- Give the assistant a name and choose its language.
- Under Conversation agent, select Home Assistant. Under Speech-to-text, select the engine you installed, and under Text-to-speech, select Piper. Choose the language for each.
- Expose your devices to Assist. Until you do, you will not be able to control them by voice 3.
Step 4 has the most choices. Speech-to-Phrase is fast but recognizes only a fixed set of phrases, while Whisper transcribes open speech on slower hardware. Our question on the best speech to text for Home Assistant compares the two, and our question on Whisper in Home Assistant covers that engine's setup.
Expose devices and use names Home Assistant knows
Exposure is the rule that matters most. Assist works from the names and areas in your Home Assistant system, so a spoken name has to match one of them. A device you have not exposed does not respond at all, however clearly you say its name. Expose the devices, then test each one with a simple sentence before you try more complicated requests.
If a command is not recognized, check that the device or area name matches exactly what Home Assistant shows. You can also give a device an alias, which is an extra name Assist accepts. Our list of voice commands Home Assistant understands gives the built-in sentences for each group, such as lights, covers, scenes, media, lists and timers.
Add your own sentences as triggers
Built-in sentences cover common actions, but not every phrase you want. The project lets you add your own sentences to Assist's intent recognizer, either by extending an existing intent or by creating a new one 4. In the interface, you create a sentence trigger by entering one or more sentences, and you leave out punctuation 5. A sentence trigger starts an automation when Assist hears the phrase, so it can make a phrase such as "movie night" run a set of actions.
Two cases behave differently from the rest. Timers you start by voice are voice timers that belong to the device where you started them, and they do not create timer entities you can use in dashboards or automations 6. Delayed commands, such as turning off the lights in 5 minutes, cannot be cancelled or modified, unlike regular voice timers 7. Plan around both before you rely on them for something important.
When a language model should answer
Built-in commands go to the built-in matcher, and a language model only handles what that matcher does not understand. Home Assistant says Assist handles commands first by default, and sends questions or commands it does not understand to the AI you have set up 8. If you want a model to take the leftover requests, choose an open speech engine such as Whisper, since Speech-to-Phrase is built only for the phrases it knows.
What to check if nothing happens
Work through these in order. First, confirm the assistant you are talking to is the one with the right conversation agent and speech engines. Second, confirm the device is exposed to Assist. Third, check the spelling of the device or area name against Home Assistant. Fourth, try a built-in sentence from the project's list before a custom one. If a custom sentence still fails, check that you left out punctuation.
For the full picture of how the parts fit together, read our guide to Home Assistant voice. For the wider difference between a voice assistant that acts and a dictation tool that types, see voice assistants compared with dictation. For the terms used here, see the glossary entry for voice command and the glossary entry for wake word.
Evidence
Every number on this page, with where it comes from. Open a fact to see the exact words in its source.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
Go deeper
Related questions
- Can Home Assistant use ChatGPT or a local LLM for voice?
- Can you control Home Assistant with Alexa or Google Assistant voice commands?
- Does Home Assistant voice control work offline?
- How do you use Whisper for speech to text in Home Assistant?
- What is the best speech to text for Home Assistant?
- What is the Home Assistant Voice Preview Edition?
- What voice commands does Home Assistant understand?
- Are AI summaries of voice recordings accurate?