Turn Any Android 7-16 Device into a BLE Smart Home Control Panel

Sorry for the late reply — I went to engage with the community, but we were like trapped in our own separate worlds, just talking to ourselves. Now Ava has completely set itself apart from those products. The current Mod system truly unlocks each device’s full skill tree, because what’s needed is complete, per-device customization — whether it’s Tuya, NSPro 4-inch screens, or other specialized hardware. These devices are inherently capable

1 Like

Supports a large number of feature implementations, reducing memory footprint and CPU by 10%

The key takeaway is a complete and perfect solution to the audio desynchronization issue in the Sendspin protocol; this time, perfect synchronization is achieved without any adjustments.

Thank you to the developer for this great app. I need help with the following issue: I can’t enter my username and password on the Home Assist page of my screensaver. When I try to enter something in the input field, the screensaver minimizes and the main window opens.

May I ask why not open source the BLE proxy implementation? There are already more like GitHub - Zen3515/homeassistant-mobile-ble-proxy: Use mobile phone as bluetooth proxy using esphome protocol · GitHub and the rest of the app seems open sourced.
Even if with a restrictive license for that part if compatible with Apache's.

I can't start the service without camera permission even though I've turned off sensors and all camera functionality in the settings.

Thank you for your interest and feedback. Apologies for the delayed response as I have been fully tied up with other project Regarding the request to open-source the Bluetooth Proxy protocol code and the comparison with other available solutions, I would like to clarify core considerations from a technical and strategic perspective:

Avoiding Vibe Coding
While some open-source snippets you mentioned can implement basic Bluetooth connectivity, Ava Pro’s Bluetooth Proxy is far from a simple functional stack.

This specific codebase contains massive adaptations tailored to the Android underlying protocol stack, built on countless nights of continuous debugging to eliminate unstable edge-case bugs across different Android versions.

Reliability vs. Vibe Coding: Code generated through Vibe Coding might seem to work initially, but it invariably introduces a significant volume of unpredictable and untraceable bugs. Ava's code has been heavily stress-tested and finely tuned.

Protecting the Project Ecosystem

The Bluetooth Proxy is a killer feature unique to Ava. Making it public at this stage means hard work would be instantly cloned by AI to create cheap, fragmented copycats. This would be deeply unfair to long-term supporters and detrimental to the project's sustainability.

Security & Privacy

Why the Floating Window acts as a Secure Isolation Layer
Regarding concerns over security, Ava’s decision to utilize a System Alert Window architecture is precisely designed to cut off all potential sniffing and surveillance sources.

Architectural Isolation

According to the official Google Android Developer Guidelines defining SYSTEM_ALERT_WINDOW https://developer.android.com/reference/android/Manifest.permission#SYSTEM_ALERT_WINDOW

this permission allows an application to display content on top of all other apps.

Physical-Level Defense: Unlike traditional embedded browsers (WebView) or plugin-based architectures

which are highly vulnerable to input sniffing, context hijacking, or malicious script injection by the host environment

Ava seals all interactive logic inside an isolated, top-level floating window. This effectively shields the interaction source from external background listeners.

Within the Android ecosystem, this isolated window architecture establishes a robust privacy firewall, making it inherently more secure than standard embedded solutions.

Every architectural decision and line of code in Ava has been refined through rigorous engineering.

I hope this provides a clearer understanding of why we must protect core intellectual assets. will continue to focus on delivering the ultimate user experience and unmatched Bluetooth Proxy stability.

Thank you for your understanding and support.

Don't worry, bro. I will definitely optimize this code in future updates. Android's permission handling is tricky; once declared, some OS versions will inevitably trigger the prompt.


Fully Kiosk—it is completely closed-source, yet thousands of people use it without issue. It requires camera permission for its motion/human detection feature. If you want that feature, the camera is technically mandatory; there's no contradiction.
For privacy, you can easily monitor network traffic to verify security, use Root to deny the permission, or just put a small piece of tape over the lens. Ava’s camera permission is strictly for human detection, completely safe and reasonable.

I imagine the reason the post reads weird is because of translation, but still feels off? are you planning on monetizing it?

EDIT: by "If I can't verify the build comes from the code, it doesn't matter to me" I mean more "doesn't matter" as in "not really useful" since I don't have nor will have a perfect knowledge of all the components that go from the app, os, kernel, firmware and whatnot.
If I can't verify at the source of the app I just won't really bother with it.
Even less when I won't be using the latest android version with better security features.
Source code at git can be awesome but since the apk at the release page can be whatever so not really useful for me if can't be build.

Because it might feel I come as a bit agressive.
I ask because I think this app offers some stuff I am very interested and just want that couple of things to be a very nice round package. Having a dashboard app for android controllable in the same way of a ESPHome and in the way it is in the app seems very nice.
Both wallpanel.xyz and view assist don't fully make my setup the way I wanted.

To be clear, this questions are because I am interested.
And if the answer is something "it is close source because I am emotionally attached" for example I will say "same, understandable".
If the answer to "can we get a build without the closed source parts?" is "nope, too hard to maintain" it will be completely reasonable.

Sorry, I thought you were deliberately trying to embarrass me, then I see
That's okay, if it's convenient to build together,

PS: There are indeed a lot of strange doubts that make me feel disheartened

The construction is very simple, I can remove the Bluetooth part, as a mod or other hidden, at least I can run, so that the follow-up can, the current trend, avapro tends to be stable, big obvious mistakes, it is true that I have not found it, many of them are tested hundreds of times

If you find something that needs to be corrected, you can tell it directly, and I will fix it directly~

1 Like

EDIT: Ignore, I changed some settings and set auto launch to on and disabled all the features I did not need and it appears to be working now

Hey @knoop7! Thanks for the work, love this app. Personally, I find the kiosk browser suboptimal compared to Fully Kiosk, which I can detail if you'd like. Because of that, I decided to leave Fully Kiosk in front as the main browser still, and that is working fine.

However, I am encountering an issue. I am running Ava Pro in the background with the wake words and BLE Proxy enabled. Those work perfectly still.

When I use the Manual Wake button, it works perfectly and does what it is supposed to do using my chosen assistant.
However, when I say the wake word and a command, the wake word chime plays but a small warning that says "Network fluctuation, check", and then it does not do any actions. Note that the tablet is connected over Ethernet and so it is very stable.

Hey @knoop7, the app has been working great over the past weeks as a background voice assistant!

However, the Bluetooth proxy does not appear to work...at all. I see no advertisements, and the lock right next to the tablet does not work at all. (I ended up needing an ESP32)

Could this be a Samsung limitation, or a known issue...?

Hardware is a Samsung S10 Lite connected over PoE

You can experience fixing Samsung issues and providing extensive fixes :grin:

2 Likes

1. Native Sidebar — Device-First Control

Added a fully native sidebar to address the long-standing limitation where local device control was only possible through the Home Assistant web panel. This enables standalone operation in locked-down environments such as Full Kiosk without requiring HA frontend access.

  • Modular layout: Re-order, toggle visibility, and resize sidebar components via Settings → Sidebar.
  • Service gate: The master toggle in the top-right corner must be active for tap targets to respond; tap the status chip to switch state.

2. Wake-Word Visual Pipeline & Accent Color Theming

Resolved the historical gap where wake-word interaction stopped at the "listening" animation with no visibility into subsequent pipeline stages. 0.4.9 introduces state-aware visual feedback across the full conversational lifecycle:

  • Idle → Listening → Thinking → Speaking: each phase renders distinct, real-time morphing effects.
  • Visual language now aligns with modern voice appliances: fluid, responsive, and stateful.

Color theming is now available. Hardware with white bezels or custom mounts no longer clashes with the legacy alert green; accent colors are configurable at Settings → Wake Word → Theme Color.


3. Dual Wake-Word Engine Architecture

Dimension microWakeWord vsWakeWord
Runtime TFLite binary classifier ONNX CTC phoneme decoder + edit-distance matcher
Model footprint 50–80 KB (uint8 quantized) ~500 KB
Inference cadence 10 ms/frame, stride 3 80 ms cycle, 1.3 s analysis window, 128×40 feature map
Audio frontend Fixed micro-features Adaptive noise floor + spectral VAD
Decision logic 5-frame sliding mean Voice gate → CTC confidence → edit distance ≤1 → 2-hit confirm → 2 s cooldown
Output Scalar probability [0,1] Phoneme sequence with full traceability
Hot-swap wake word Requires full retraining Manifest JSON swap at runtime
Resource cost Minimal Significantly higher CPU/RAM
False-wake defense Single threshold (zero-sum trade-off) Multi-layer independent gates
Debuggability Opaque Phoneme-level inspection
Ideal deployment Low-end Android 7, persistent background Noise-sensitive or audit-critical environments

Migration notes: vsWakeWord is a port of the upstream engine; it trades model size for robustness. Optimal performance requires clear enunciation or standard American English in moderately quiet environments. Loud or heavily accented input may degrade accuracy until the noise-adaptive frontend completes calibration.


Upgrade path: Download the APK from release assets, or trigger OTA via Settings → About → Check for Updates.

2 Likes

Thanks! I will install it in the morning; thank you for the hard work and great release!

1 Like

Thanks, this is pretty cool!

  1. maybe ot, but if it's monitoring bluetooth, is there any way to use the ava app with a BLE beacon to set up some sort of automation to alert if the beacon goes too far away from your phone? Like if I want to make sure I didn't leave my backpack behind.

  2. anyway, to get this to work with passive Bluetooth monitor and not just the native home assistant Bluetooth functionality, the problem is the home assistant Bluetooth functionality automatically down samples thermometers, which I understand why for most cases, but for some cases I want higher sampling resolution than what the official integrations let me do.

1 Like

Hello, your requirements have been adopted and implemented, so you can quickly try it out

0.5.6 Video Calls, Bluetooth Alerts & Mod Platform.

Video Calls: Ava intercom now streams live video during voice calls. Front camera sends low-bandwidth video over LAN — no internet, no cloud. Tap screen for controls. Check kids from kitchen to bedroom, see who's at front door. Path: Settings → Extensions → Voice Messages.

Bluetooth Presence Alerts: Track BLE beacons with custom alert sounds, per-device RSSI threshold and away delay. Alert on near or out of range. On-device alert + HA binary sensor. Track backpack, child wristband, elderly care devices. Path: Settings → Bluetooth → bell icon. Thanks @AJolly.

Voice Replies Restructured: All reply settings under Voice Config → Voice Replies. Standard TTS vs Streaming TTS switch. Whisper Response auto-lowers volume in quiet rooms. Continuous Conversation with two end conditions.

Mod Extension Platform: Runtime-loadable Java modules extend hardware without APK modification. Add LED rings, GPIO, new HA entities, hook 14 voice pipeline events, intercept hardware buttons. Headless config via JSON patches. Full guide: GitHub - knoop7/ava-mods: Modular extension system for Ava voice assistant · GitHub. Addresses #90.

Fixes: HA port persistence, voiceprint accuracy, dark mode screen-off, Bluetooth small-screen layout, device deletion confirmation, Gecko crash recovery, stability polish

Thank you so much for your really useful app. I'm going to replace my Fullykiosk with it, since it works really well.

I've noticed two things.

  1. I'm missing an option to export/import settings. I have four tablets, and it's a lot of manual work at first :wink:
  2. I'm using custom:webrtc-camera *1 on my dashboard, and it no longer switches to full screen.

*1 GitHub - AlexxIT/WebRTC: Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other technologies. · GitHub

1 Like

All have been realized. Thank you for your support

Three new mods, better translations, and smoother browser handling.

IR Blaster turns your old Android into a Home Assistant infrared remote. TVs, ACs, fans — anything with an IR receiver. Works on Xiaomi/Redmi, older Samsung Galaxy models, even USB-C IR adapters. Path: Mod Store → Devices → IR Blaster (ESPHome).

BLE ADV Proxy connects Ava to BLE advertising lights and remotes via ha-ble-adv. Disables the built-in Bluetooth proxy automatically to avoid conflicts. Thanks @realroywalker for the deep testing in #96.

Sticky Note lets Home Assistant push persistent on-screen messages. Family reminders, doorbell alerts, laundry done — visible at a glance. Color, size, drag position, one-tap clear.

Voice Calls from HA — Home Assistant can now start Ava voice calls, video calls, and voice messages directly. Hang up and redial too. Thanks @deergitseason for pushing this in #101.

Backup & Restore is here. Copy your config across multiple tablets without starting from scratch. Thanks @lorbi from the HA community.

Russian, German, and Vietnamese translations polished. Browser display fixed — GeckoView users, update your engine pack. Facebook Portal presence detection no longer dies after 15 seconds. Phicomm R1 support added with LED ring and wake lights.

2 Likes