- Kotlin 57.4%
- C 30.8%
- C++ 9.7%
- Starlark 0.8%
- CMake 0.6%
- Other 0.7%
| .agent/rules | ||
| app | ||
| backups/icons | ||
| doc | ||
| esphomeproto | ||
| gradle | ||
| microfeatures | ||
| .gitignore | ||
| build.gradle.kts | ||
| deploy.bat | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| logs.txt | ||
| README.md | ||
| settings.gradle.kts | ||
| view_logs.bat | ||
# 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
-
Clone the repository:
git clone https://github.com/chfenix/NabuKey.git cd NabuKey -
Build the project using Gradle:
./gradlew clean assembleDebug -
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.