ha-voice

Configure Home Assistant Assist pipelines, custom intents, wake words, and voice satellites.

Updated Jun 11, 2026
One-click install
npx skills add https://github.com/brillianodhiya/VisionScript --skill ha-voice-brillianodhiya
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ha-voice
Source: https://github.com/brillianodhiya/VisionScript/tree/main/.agents/skills/ha-voice
Command: npx skills add https://github.com/brillianodhiya/VisionScript --skill ha-voice-brillianodhiya

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up local voice control in Home Assistant requires coordinating STT engines, TTS engines, conversation agents, wake word detection, and custom intent sentence patterns, which is error-prone and scattered across many documentation pages. ## Core Features & Use Cases - Assist Pipeline Configuration: Connect Faster Whisper STT, Piper TTS, and conversation agents into a working voice pipeline. - Custom Intent Creation: Build natural voice commands using sentence patterns, slots, lists, and optional groups in custom_sentences YAML files. - Voice Satellite Setup: Configure ESPHome devices (ESP32-S3, INMP441 microphone, MAX98357A speaker) as room-based voice satellites with wake word detection. - Use Case: You want to say "turn on the bedroom light" and have Home Assistant respond locally. Use this Skill to configure the pipeline, define the intent with slot lists, and test it in Assist Developer Tools. ## Quick Start Ask the assistant to configure a Home Assistant Assist pipeline with local Piper TTS and Faster Whisper STT plus a custom intent for controlling lights.

Frequently Asked Questions about ha-voice

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create custom voice intents in Home Assistant?▼

Create YAML files in the custom_sentences/en/ directory with language, version, and intents blocks. Define sentence patterns using slots like {name:list} and matching lists of entity aliases, then test phrases in Assist Developer Tools before deploying.

How to set up a Home Assistant Assist pipeline with local STT and TTS?▼

Configure an assist_pipeline entry specifying faster_whisper as the STT engine and tts.piper as the TTS engine, plus a conversation engine. Both engines must be installed as integrations first, and the pipeline links them into one voice workflow.

Piper vs Google Cloud TTS for Home Assistant voice control?▼

Piper runs locally with no cloud dependency but requires 100+ MB of disk space per voice model. Google Cloud and OpenAI TTS offer more voices but need API keys and internet access. Choose based on privacy needs and available hardware.

Why is my Home Assistant intent not matching voice commands?▼

Intent matching fails when sentence patterns are too strict or list values are incorrect. Use optional groups in square brackets, verify {slot:list} names match list definitions, and test exact phrases in Assist Developer Tools to debug.

Can I build a voice satellite with ESPHome for Home Assistant?▼

Yes, use an ESP32-S3 board with an INMP441 I2S microphone and MAX98357A speaker. Configure i2s_audio, microphone, speaker, and voice_assistant blocks in ESPHome, then connect it to your Assist pipeline over WiFi.

Why is my wake word not triggering in Home Assistant?▼

Wake word detection fails due to model sensitivity, disconnected microphones, or missing binary_sensor entities. Test the microphone separately, verify the wake word entity exists before enabling it in the pipeline, and check WiFi signal strength on satellites.