Home Assistant9 min read

Mastering Home Assistant Local Voice Control with Rhasspy & OpenWakeWord

Configure Home Assistant local voice control with Rhasspy and OpenWakeWord to process all commands on-device, keeping your data private.

In this article 12
  1. Key Takeaways
  2. Why Home Assistant Local Voice Control is Essential in 2026
  3. Understanding the Core Components: Rhasspy Home Assistant & OpenWakeWord Setup
  4. Setting Up Rhasspy for Home Assistant
  5. Integrating OpenWakeWord for Wake Word Detection
  6. Crafting Custom Voice Commands and Intents
  7. Hardware Considerations for Optimal Performance
  8. Advanced Use Cases & Future Prospects for Home Assistant Local Voice in 2026+
  9. Conclusion
  10. FAQ
  11. Recommended Gear
  12. Related Articles

Key Takeaways

  • Home Assistant local voice control provides superior privacy, speed, and reliability compared to cloud-dependent alternatives.
  • Rhasspy handles speech-to-text, natural language understanding, and text-to-speech entirely offline, and integrates with Home Assistant.
  • OpenWakeWord 2026 offers highly accurate and customizable local wake word detection, ensuring commands are only processed when intended.
  • Setting up these components involves installing add-ons, configuring MQTT, defining custom intents, and optimizing hardware performance.

In 2026, the demand for privacy-centric smart home solutions continues to surge. While cloud-based voice assistants offer convenience, they often come at the cost of data privacy and reliance on internet connectivity. For the tech-savvy homeowner, achieving true autonomy and enhanced security means bringing voice control local. Home Assistant local voice control handles this using open-source tools like Rhasspy and OpenWakeWord to deliver an offline, highly customizable experience.

This guide covers setting up a fully local voice control system for your Home Assistant instance, ensuring your commands stay within your network and your smart home stays responsive without an internet connection.

Why Home Assistant Local Voice Control is Essential in 2026

Local voice control gives users strong privacy and full control over their smart homes. Unlike proprietary cloud services that process your voice commands on remote servers, a local setup ensures all speech data remains within your network. This significantly reduces privacy smart home voice concerns, as your conversations are not transmitted to third-party companies for analysis or storage. Moreover, local processing drastically cuts down latency, making your smart home feel more responsive. Commands like “turn off the lights” execute almost instantaneously, reducing response times by up to 70% compared to cloud-based solutions, which rely on internet round trips.

Beyond privacy and speed, local voice control offers unparalleled reliability. Your smart home remains fully functional even during internet outages, a critical advantage in an increasingly connected world. This resilience drives adoption, with over 300,000 Home Assistant instances globally now using some form of local voice processing to make their smart homes more reliable.

Understanding the Core Components: Rhasspy Home Assistant & OpenWakeWord Setup

To build a truly local voice assistant, we rely on two primary open-source projects: Rhasspy and OpenWakeWord. Together, they form the backbone of a private, powerful voice interface for Home Assistant.

Rhasspy: The Offline Voice Assistant Toolkit

Rhasspy (pronounced RAH-spee) is an open-source, offline voice assistant toolkit designed to be highly customizable. It handles several stages of voice processing:

  1. Wake Word Detection (optional, but we’ll use OpenWakeWord): Detects a specific phrase to activate the listener.
  2. Speech-to-Text (STT): Converts spoken words into written text. Rhasspy supports various local STT engines like Vosk or Piper.
  3. Intent Recognition (NLU): Understands the user’s intention from the transcribed text and extracts relevant entities. This is where your custom commands are defined.
  4. Text-to-Speech (TTS): Converts a text response back into spoken audio. Rhasspy offers several local TTS options.

Rhasspy communicates with Home Assistant primarily via MQTT, a lightweight messaging protocol perfect for smart home environments. This modular design makes Rhasspy Home Assistant integration incredibly flexible and powerful.

OpenWakeWord 2026: Precision Wake Word Detection

While Rhasspy includes basic wake word detection, OpenWakeWord 2026 is a dedicated, highly advanced, and open-source wake word library that significantly improves accuracy and reduces false positives. Developed to be lightweight and efficient, it’s ideal for running on edge devices. OpenWakeWord allows for custom wake words, letting you choose a phrase unique to your home, further enhancing the privacy smart home voice experience. Its 2026 iteration boasts improved model performance and broader hardware compatibility, making it the go-to choice for reliable local wake word activation.

Setting Up Rhasspy for Home Assistant

Getting Rhasspy running as part of your Home Assistant local voice ecosystem is straightforward. The easiest method is to install it as a Home Assistant Add-on, but Docker installations are also common for more advanced setups.

Installation (Home Assistant Add-on)

  1. Navigate to Settings > Add-ons in Home Assistant.
  2. Click Add-on Store.
  3. Search for “Rhasspy” and install the official add-on.
  4. Start the add-on and check the logs for any errors.

Basic Rhasspy Configuration

Once installed, access the Rhasspy web interface (usually http://your-home-assistant-ip:12101). The initial setup involves defining your profile. Key settings include:

  • Language: Set to your preferred language (e.g., en-US).
  • Wake Word: Select OpenWakeWord as your wake word system.
  • Speech to Text: Choose a local engine like Vosk or Piper.
  • Intent Recognizer: Select FuzzyWuzzy or Hass-NLU.
  • Text to Speech: Choose Piper or Mimic3.
  • MQTT: Enable and configure your MQTT broker details. Rhasspy needs this to communicate with Home Assistant. Ensure your Home Assistant instance has an MQTT broker set up.

Here’s an example of a minimal profiles/en/profile.json that Rhasspy uses internally, or what you’d configure via the UI:

{
  "language": "en-US",
  "wake_word": {
    "system": "openwakeword",
    "openwakeword": {
      "model": "hey_mycroft_v3.tflite" 
    }
  },
  "speech_to_text": {
    "system": "vosk",
    "vosk": {
      "model": "vosk-model-en-us-0.22"
    }
  },
  "intent": {
    "system": "fuzzymatcher"
  },
  "text_to_speech": {
    "system": "piper",
    "piper": {
      "voice": "en_US-amy-medium"
    }
  },
  "mqtt": {
    "enabled": true,
    "host": "core-mqtt",
    "port": 1883,
    "username": "homeassistant",
    "password": "your_mqtt_password"
  },
  "home_assistant": {
    "enabled": true,
    "url": "http://homeassistant.local:8123",
    "access_token": "YOUR_LONG_LIVED_ACCESS_TOKEN"
  }
}

Remember to generate a long-lived access token in Home Assistant for Rhasspy to connect securely. For detailed instructions on advanced Home Assistant Blueprints for developers, you might find insights into further integrations.

Integrating OpenWakeWord for Wake Word Detection

OpenWakeWord 2026 is a significant leap forward in local wake word technology. Its ability to accurately detect wake words with minimal false positives makes it well suited for Home Assistant local voice systems. When using the Rhasspy add-on, OpenWakeWord is often integrated directly.

OpenWakeWord Setup within Rhasspy

In Rhasspy’s web interface, under the Wake Word section, select OpenWakeWord. You can then choose from pre-trained models or even train your own custom wake word. For example, selecting hey_mycroft_v3.tflite provides a reliable, open-source wake word. The latest 2026 models offer enhanced performance and even lower resource consumption, making them perfect for Raspberry Pi 5 or similar edge devices.

For custom wake words, you’ll typically record several samples of your chosen phrase and use OpenWakeWord’s training tools (often command-line based) to generate a new model. This personalized approach truly cements your privacy smart home voice setup.

Crafting Custom Voice Commands and Intents

Once Rhasspy is processing audio and detecting your wake word, the next step is to teach it what to do. This involves defining intents and sentences that Rhasspy understands and maps to Home Assistant actions. Home Assistant’s native intent_script integration or the newer sentences.yaml approach are ideal for this.

Defining Sentences in Home Assistant

Create a sentences.yaml file in your Home Assistant configuration directory (or integrate directly into configuration.yaml if preferred):

# config/sentences.yaml
language: en
intents:
  TurnOnLight:
    data:
      - "turn on the {device} light"
      - "activate {device} light"
  TurnOffLight:
    data:
      - "turn off the {device} light"
      - "deactivate {device} light"
  SetBrightness:
    data:
      - "set the {device} light to {brightness} percent"
      - "make {device} light {brightness} percent bright"
slots:
  device:
    - "living room"
    - "kitchen"
    - "bedroom"
  brightness:
    - "50"
    - "75"
    - "100"

Then, link this in your configuration.yaml:

# configuration.yaml
homeassistant:
  customize:
    # ... other customizations

intent_script:
  TurnOnLight:
    action:
      - service: light.turn_on
        data:
          entity_id: light.{{ device | replace(' ', '_') }}_light
  TurnOffLight:
    action:
      - service: light.turn_off
        data:
          entity_id: light.{{ device | replace(' ', '_') }}_light
  SetBrightness:
    action:
      - service: light.turn_on
        data:
          entity_id: light.{{ device | replace(' ', '_') }}_light
          brightness_pct: "{{ brightness | int }}"

Restart Home Assistant for changes to take effect. Now, when you say “Hey Mycroft, turn on the living room light,” Rhasspy will process it, recognize the TurnOnLight intent with device: living room, and trigger the corresponding Home Assistant automation. For more complex automation ideas, refer to our Home Assistant Automations Guide.

Hardware Considerations for Optimal Performance

The performance of your Home Assistant local voice setup heavily depends on your chosen hardware. For the best experience in 2026, consider the following:

  • Microphones: High-quality USB microphones or dedicated voice HATs for Raspberry Pi (like ReSpeaker arrays) are important for clear audio input. Distributed microphone arrays using ESPHome DIY sensors can extend coverage across multiple rooms.
  • Processing Power: While Rhasspy and OpenWakeWord are efficient, a dedicated device like a Raspberry Pi 5, an Intel NUC, or a low-power mini PC is recommended for optimal performance. This ensures smooth STT and NLU processing without impacting your main Home Assistant instance.
  • Edge AI Accelerators: For truly demanding scenarios or very large custom wake word models, consider an inexpensive AI accelerator like a Coral Edge TPU. OpenWakeWord can use these for even faster and more accurate detection, reducing CPU load by up to 40%.

Advanced Use Cases & Future Prospects for Home Assistant Local Voice in 2026+

As local AI capabilities continue to evolve, so does the potential for Home Assistant local voice. In 2026, we’re seeing exciting developments:

  • Local LLM Integration: Combine Rhasspy’s STT with local large language models (LLMs) like those available through Unleashing Local AI with Home Assistant: Ollama Integration. This allows for more natural, conversational interactions and complex query handling, moving beyond predefined intents.
  • Multi-room Audio Synchronisation: Implement whole-home audio announcements or responses, synchronized across multiple voice satellite devices.
  • Context-Aware Interactions: Future developments in Home Assistant’s voice pipeline will allow for more context-aware commands, remembering previous interactions or understanding the state of your home to interpret ambiguous requests.

Embracing Home Assistant local voice not only enhances your privacy and system responsiveness today but also positions your smart home to take full advantage of future advancements in local AI and smart home autonomy.

Conclusion

Building a Home Assistant local voice control system with Rhasspy and OpenWakeWord 2026 is a rewarding project that offers significant advantages in privacy, speed, and reliability. By taking control of your voice data and processing it entirely offline, you create a smart home that is truly yours – responsive, secure, and independent of external cloud services. The journey from basic setup to advanced custom commands demonstrates the power of open-source software and the vibrant Home Assistant community. Add local voice capabilities to your Home Assistant automation system.

FAQ

What are the main benefits of Home Assistant local voice control over cloud-based assistants?

Home Assistant local voice control offers superior privacy because your voice data never leaves your local network. It also provides faster response times due to offline processing and ensures your smart home remains functional even during internet outages, leading to greater reliability and autonomy.

Can I use my own custom wake word with OpenWakeWord 2026?

Yes, OpenWakeWord 2026 fully supports custom wake words. You can record samples of your desired phrase and use the provided tools to train a new, personalized wake word model. This enhances security and customization for your privacy smart home voice setup.

For optimal performance, a dedicated device like a Raspberry Pi 5, an Intel NUC, or a low-power mini PC is recommended. These devices provide sufficient processing power for speech-to-text and natural language understanding. High-quality microphones also matter for accurate voice input.

Is it difficult to integrate Rhasspy with Home Assistant?

No, integrating Rhasspy with Home Assistant is relatively straightforward, especially using the official Home Assistant Add-on. The primary method of communication is MQTT, which is a standard protocol for Home Assistant. Configuration involves setting up intents and sentences in Home Assistant’s configuration files to map voice commands to specific actions.

Can I use local voice control to interact with all my Home Assistant devices?

Yes, with properly defined intents and entities, you can use local voice control to interact with virtually any device or service integrated into Home Assistant. This includes lights, switches, thermostats, media players, and even complex automations, allowing for comprehensive control of your smart home environment.

If you want to build this setup, this is where I would start:

Affiliate links: if you buy through them I earn a small commission, at no extra cost to you.

The end. Thanks for reading.

Keep reading.