Android Voice Assistant for Home Assistant (ESPHome Satellite)
  • Kotlin 57.4%
  • C 30.8%
  • C++ 9.7%
  • Starlark 0.8%
  • CMake 0.6%
  • Other 0.7%
Find a file
2026-02-12 09:28:28 +09:00
.agent/rules feat: Add local presence detection using CameraX and ML Kit 2026-02-03 20:06:39 +09:00
app perf(presence): unbind camera outside work schedule to reduce idle drain 2026-02-12 09:15:20 +09:00
backups/icons Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
doc docs: sync roadmap status with current implementation 2026-02-12 09:28:28 +09:00
esphomeproto Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
gradle feat: Add local presence detection using CameraX and ML Kit 2026-02-03 20:06:39 +09:00
microfeatures Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
.gitignore feat: 集成VAD静音检测与自动停止,优化连续对话稳定性 2026-02-01 09:11:49 +09:00
build.gradle.kts Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
deploy.bat Refactor: Optimized screen power management and added new idle expressions 2026-02-04 15:23:30 +09:00
gradle.properties Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
gradlew Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
gradlew.bat Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
LICENSE Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
logs.txt Fix: Voice logic regression and TTS timeout 2026-02-04 18:59:43 +09:00
README.md Update git clone URL in README 2026-01-27 21:00:58 +09:00
settings.gradle.kts Initial release of NabuKey (Refactored from Ava) 2026-01-27 20:58:38 +09:00
view_logs.bat commit 2026-02-07 11:18:13 +09:00

# NabuKey

NabuKey is an open-source Android voice assistant designed to integrate seamlessly with Home Assistant. It functions as a voice satellite, allowing you to control your smart home using voice commands directly from your Android device.

Features

  • Home Assistant Voice Satellite: Turns your Android device into a voice satellite for Home Assistant.
  • ESPHome Protocol: Uses the efficient ESPHome native API for fast and reliable communication with Home Assistant.
  • Local Wake Word: Supports on-device wake word detection for privacy and speed.
  • Voice Commands: Control lights, switches, media players, and other entities in your smart home.
  • Media Player: Can act as a media player target for Home Assistant.
  • Development Ready: Configured for modern Android development with dependency injection (Hilt) and Jetpack Compose.

Acknowledgements & Attribution

This project is a fork and evolution of the Android Voice Assistant (Ava) project. We gratefully acknowledge the original authors and contributors of Ava for providing the solid foundation upon which NabuKey is built.

NabuKey aims to extend the capabilities of the original project with a focus on:

  • Refined user experience and branding.
  • Enhanced stability and integration features.
  • Continued support for the latest Android standards.

Getting Started

Prerequisites

  • JDK 17: Ensure you have Java Development Kit 17 installed.
  • Android SDK: Android command-line tools and SDK platforms (API 34+ recommended).
  • Home Assistant: A running instance of Home Assistant with the ESPHome integration enabled.

Building from Source

  1. Clone the repository:

    git clone https://github.com/chfenix/NabuKey.git
    cd NabuKey
    
  2. Build the project using Gradle:

    ./gradlew clean assembleDebug
    
  3. Install on your device:

    adb install -r app/build/outputs/apk/debug/NabuKey-debug.apk
    

Development

NabuKey is built using modern Android technologies:

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Dependency Injection: Hilt
  • Build System: Gradle (Kotlin DSL)

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

This project is a derivative work of Ava, originally licensed under the Apache License, Version 2.0.