knoop7/Ava-Pro
Ava turns any Android 5+ device into a voice-first Home Assistant kiosk. Native C++ under the hood, so a 10-year-old tablet still listens, talks, and runs the house - with AirPlay-grade audio in every room, all in sync.
Ava Pro – Home Assistant’s Android Companion
Ava Pro is a native Android app that turns any Android device (phones, tablets, fire‑sticks, car infotainment units, etc.) into a full‑featured Home Assistant client. It runs as a background service and provides on‑device voice interaction, Bluetooth proxying, intercom, sensor integration and UI overlays – all without needing MQTT, custom Home Assistant integrations or additional hardware like an ESP32.
Core ideas
- On‑device AI – Voice wake‑word detection, voice‑print recognition and ambient‑sound classification run locally via ONNX Runtime / TensorFlow Lite, so no cloud calls are required.
- Native performance – The engine is written in C++ and compiled as a regular Android app, giving near‑zero idle CPU usage and no overheating on wall‑mounted tablets.
- Single‑install solution – One APK replaces the typical ESPHome BLE proxy, dedicated voice satellite, and intercom hardware.
Main features
| Category | What it does |
|---|---|
| Screen overlays | Floating panels show voice feedback, clock, weather, media controls, quick‑switches – visible above any other app and dismissible at will. |
| Voice | Custom wake‑words (dual‑wake), acoustic echo cancellation, <120 ms on‑device voice‑print identification, ambient‑sound detection (glass break, baby cry, doorbell, siren). |
| Bluetooth proxy | Acts as an ESPHome BLE proxy, handling private address resolution, RSSI‑based distance filtering and screen‑off scanning – extending BLE coverage without extra hardware. |
| Audio | LAN‑based intercom and voice messaging, loss‑less multi‑room sync via Sendspin, seamless audio across overlay transitions. |
| Display | Multi‑layer floating UI, animated notifications, screensaver with adaptive‑on‑display, optional Home‑Launcher mode. |
| Camera | Direct binary pipeline for snapshots and motion detection, exposed as Home Assistant sensors (no HTTP bridge). |
| Sensors | Exposes ESPHome‑style sensors (light, magnetic field, proximity, battery, Wi‑Fi, storage, memory, uptime) with a foreground service that stays alive even with the screen off. |
| Fleet management | UDP LAN discovery + ADB, remote screen control, shell access, log retrieval, config push, passcode‑protected deep‑link access. |
| Mods | Runtime module loader (DexClassLoader) lets you add offline ZIP packs for DL‑DLNA, AirPlay, Edge TTS (400+ voices), offline STT, Zigbee gateway, biometric auth, GPS, on‑device AI, RTSP/MJPEG camera streaming, and device‑specific packs (Echo Show, Portal, etc.). |
Getting started
- Install – Download the latest APK from the GitHub Releases page and install it on your Android device.
- Connect – Open Home Assistant; Ava appears automatically under Discovered ESPHome devices. Tap Add to pair.
- Extend – Pair with community‑built Home Assistant blueprints and HTML dashboards (e.g., @lone‑baggie’s repositories) for ready‑made scenes and polished UI.
Technical lineage & ecosystem
Ava Pro builds on the original brownard/Ava project and integrates tightly with:
- Home Assistant & ESPHome (core home‑automation platform)
- WebRTC, Music Assistant, Sendspin (audio streaming)
- openWakeWord / microWakeWord (wake‑word models)
- ONNX Runtime & TensorFlow Lite (on‑device inference)
- GeckoView, Shizuku, Jetpack Compose, Media3 (Android UI & media stack)
- Protocol Buffers, Opus (data serialization & audio codec)
License & community
The app is released under CC BY‑NC‑ND 4.0 – free to share with attribution, but not for commercial use or redistribution of modified versions. The repository includes a Wiki with practical guides and a badge linking to a DeepWiki AI‑docs page.
In short: Ava Pro turns any Android device into a low‑power, on‑device AI hub for Home Assistant, handling voice commands, BLE proxying, intercom, sensors and rich UI overlays without extra hardware or cloud services.
Related
- Project
- Project
- Project
- Project
- Project