A powerful Home Assistant integration that simplifies the management and installation of wakeword files from GitHub repositories. Designed for seamless integration with voice assistants like Wyoming, openWakeWord, and other wake word detection systems.
Compatible with: Home Assistant 2024.1.0+ | HACS Ready | Multi-Language Support
- Multi-Repository Support: Add multiple GitHub repositories containing wakeword files
- Language Selection: Choose specific languages from each repository
- Automatic Installation: Downloads and installs .tflite files to the correct Home Assistant directory
- Repository Management: Add, remove, and manage repositories through the UI
- Service Calls: Programmatically install/remove wakewords via services
- HACS Compatible: Easy installation and updates through HACS
- Open HACS in your Home Assistant instance
- Go to "Integrations"
- Click the three dots in the top right corner
- Select "Custom repositories"
- Add
https://github.com/fwartner/home-assistant-wakeword-installer
as repository - Select "Integration" as category
- Click "Add"
- Find "Wakeword Installer" in HACS and install it
- Restart Home Assistant
- Go to Configuration > Integrations > Add Integration > "Wakeword Installer"
- Download the latest release from the releases page
- Extract the contents and copy the
wakeword_installer
folder to your Home Assistantcustom_components
directory - Restart Home Assistant
- Go to Configuration > Integrations
- Click "Add Integration" and search for "Wakeword Installer"
- Home Assistant 2024.1.0 or later
- Internet connection for downloading repositories
- Write access to
/share/openwakeword/
directory
-
When setting up the integration, enter:
- Repository Name: A friendly name for the repository
- Repository URL: The GitHub repository URL (e.g.,
https://github.com/username/wakewords-repo
)
-
Select the languages you want to install from the repository
-
Optionally add more repositories
Your GitHub repository should be organized with language subfolders containing .tflite files:
repository/
├── english/
│ ├── hey_assistant.tflite
│ └── wake_up.tflite
├── german/
│ ├── hallo_assistent.tflite
│ └── aufwachen.tflite
└── spanish/
├── hola_asistente.tflite
└── despertar.tflite
- Go to Configuration > Integrations
- Find "Wakeword Manager" and click "Configure"
- Use the options to:
- Add new repositories
- Remove existing repositories
- Install wakewords from all configured repositories
The integration provides several services:
Install wakewords from configured repositories.
service: wakeword_installer.install_wakewords
data:
repository: "my-wakewords" # Optional: specific repository
languages: ["english", "german"] # Optional: specific languages
Remove installed wakeword files.
service: wakeword_installer.remove_wakewords
data:
repository: "my-wakewords"
languages: ["english"]
Get a list of currently installed wakeword files.
service: wakeword_installer.list_installed
Refresh available languages from all configured repositories.
service: wakeword_installer.refresh_repositories
Wakeword files are installed to /share/openwakeword/
with the naming convention:
{language}_{original_filename}.tflite
For example: english_hey_assistant.tflite
- Public GitHub repositories
- Repositories with language-based folder structure
- .tflite wakeword files
- Ensure the GitHub repository URL is correct and publicly accessible
- Check that the repository contains .tflite files in language subdirectories
- Verify Home Assistant has write permissions to
/share/openwakeword/
- Check the Home Assistant logs for detailed error messages
- Ensure your repository has subdirectories containing .tflite files
- The integration looks for directories in the repository root
Check out the example repository structure at: https://github.com/fwartner/home-assistant-wakewords-collection
This integration is compatible with:
- openWakeWord: Open-source wake word detection
- Wyoming Protocol: Home Assistant's voice assistant ecosystem
- Piper: Neural text-to-speech system
- Whisper: Automatic speech recognition
- Any system that uses .tflite files: Custom implementations
- Home Assistant Wakewords Collection - Curated collection of community wakewords
- Create your own repository following the structure guidelines
- Create a public GitHub repository
- Organize .tflite files in language subdirectories:
your-repo/ ├── english/ │ ├── hey_assistant.tflite │ └── wake_up.tflite ├── german/ │ ├── hallo_assistent.tflite │ └── aufwachen.tflite └── README.md
- Share your repository URL with the community
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# Clone the repository
git clone https://github.com/fwartner/home-assistant-wakeword-installer.git
cd home-assistant-wakeword-installer
# Install development dependencies
make setup-dev
# Run linting and type checking
make lint
This project is licensed under the MIT License - see the LICENSE file for details.
See CHANGELOG.md for a list of changes and releases.
When reporting issues, please include:
- Home Assistant version
- Integration version
- Error messages from logs
- Steps to reproduce
- Repository URL (if applicable)
Star ⭐ this repository if you find it useful!