-
-
Notifications
You must be signed in to change notification settings - Fork 13
Mod Store
The Mod Store installs and manages extension modules for Ava. Mods add new features, device-specific hardware support, and custom integrations, all without modifying Ava itself.
Mods are lightweight Java modules that run inside Ava's process. They can expose new entities to Home Assistant, add device-specific hardware controls, or extend Ava with entirely new capabilities like AI assistants and Zigbee gateways.
What Mods Can Do:
- Add support for special hardware devices (smart screens, smart speakers, LED controllers)
- Expose sensors, switches, buttons, and text entities to Home Assistant
- Add GPIO, system interface, and service call capabilities
- Extend device attributes and automation flows
- Add custom Ava interaction logic
- Integrate open-source components like AI assistants and Zigbee coordinators
Two categories of mods:
- Device Support — hardware-specific mods for particular devices or chip platforms
- Features — general-purpose mods that work on any compatible Android device
- Go to Settings -> Advanced -> Mod Store
- Browse available mods
- Install, enable, disable, or manage mods
| Section | Description |
|---|---|
| Installed | Mods currently installed on this device |
| Available | Mods available for installation from the repository |
| Refresh | Check for new mods and updates |
| Manage | Configure, update, or uninstall installed mods |
- Go to Settings -> Advanced -> Mod Store
- Find the mod in the Available list
- Tap to download
- The voice service will restart to apply changes
- Find the mod in the Installed list
- Tap Enable or Disable
- The voice service restarts to apply changes
- Tap Update on an installed mod when a new version is available
- The voice service restarts to apply changes
- Find the mod in the Installed list
- Tap Manage -> Uninstall
- Confirm deletion
Some mods have configurable options. After installing a mod:
- Find the mod in the Installed list
- Tap Manage
- Configure available options
- If no options are available, "This module has no configurable options" is shown
Configuration options include toggles, text fields, number inputs, and dropdown selectors. Changes take effect after the voice service restarts.
Some mods require additional permissions:
- If a mod requires a permission that hasn't been granted, it cannot be enabled
- If permission is denied permanently, open app settings and allow the required permission for that module
- Some mods require ADB or root access for hardware-level operations
Mods can be enabled, disabled, and reloaded via ADB broadcast without opening the Ava UI:
# Enable a mod
adb shell am broadcast -a com.example.ava.ACTION_SET_MOD_ENABLED --es mod_id echo_dot_led --ez mod_enabled true
# Reload all enabled mods
adb shell am broadcast -a com.example.ava.ACTION_RELOAD_MODSee Mod Development for full broadcast reference.
| Topic | Description |
|---|---|
| Mod Development | Complete developer guide — manifest spec, entity types, manager API, voice pipeline, device hooks, build, publishing |
Source: github.com/knoop7/ava-mods
These mods add support for specific hardware devices. Install them only on the matching device.
Version: 1.0.5 | Author: Ava
Device compatibility hooks for Allwinner A64 chip devices, including Ococci tablets and smart screens.
What It Does:
- Home key remapping — configure short press and long press actions
- Inductor sensor support — GPIO 129 sensor for proximity-based screen toggle
- Volume control fix — corrects volume control behavior on A64 devices
Configuration:
| Setting | Options | Default |
|---|---|---|
| Home Key Short Press | screen_toggle, voice_wake, none | screen_toggle |
| Home Key Long Press | screen_toggle, voice_wake, service_toggle, none | voice_wake |
| Inductor Sensor (GPIO 129) | screen_toggle, none | screen_toggle |
How to Use:
- Install on an Allwinner A64 device (Ococci tablet, smart screen, etc.)
- Configure home key actions in mod settings
- The inductor sensor automatically toggles the screen when triggered
- No Home Assistant entities are exposed, this mod operates at the device level
Version: 1.0.0 | Author: Ava
Device compatibility hooks for Amazon Echo Show models.
What It Does:
- Corrects audio routing for Echo Show's speaker and microphone
- Handles Echo Show-specific display behavior
- Enables Ava to function as a voice satellite on Echo Show devices
How to Use:
- Install on an Amazon Echo Show device that has been set up for Android app installation
- No configuration needed, the mod applies hooks automatically
- No Home Assistant entities are exposed, this mod operates at the device level
Version: 1.1.3 | Author: Ava
Exposes Facebook Portal hardware sensors and controls to Home Assistant through Ava. Sensor logic adapted from the portal-ha-bridge project, without requiring MQTT.
Supported Devices: Facebook Portal family on Android 9-10: Portal (10"), Portal Mini, Portal+ (1st and 2nd gen).
Entities Exposed to Home Assistant:
All features are disabled by default. Enable each one in the mod settings before it appears in Home Assistant.
| Entity | Type | Description |
|---|---|---|
| Portal Presence | binary_sensor | Meta face-presence detection via logcat |
| Presence Detection | switch | Enable/disable presence monitoring |
| Ambient Light | sensor | Lux reading from TCS34x0 sensor |
| Light R / G / B | sensor | Color channels (hardware dependent) |
| Temperature | sensor | Ambient temperature (hardware dependent) |
| Temperature Offset | number | Calibration offset for temperature |
| Tap Tilt | text_sensor | left / right / up / down / front / back |
| Tap Tilt Sensitivity | number | Tap detection threshold |
| Accel X / Y / Z | sensor | Raw accelerometer values |
| Sound Level | sensor | 0-100 ambient loudness |
| Doorbell | button | Synthesized doorbell tone on media stream |
| Alert | button | Synthesized alert tone on media stream |
| Screen Timeout | switch | Idle screen-off timer |
| Screen Timeout Minutes | number | 1-240 minutes, presence keeps screen awake |
Permissions (require ADB or root):
| Permission | Used For |
|---|---|
| READ_LOGS | Portal presence sensor |
| RECORD_AUDIO | Sound level sensor |
| WRITE_SECURE_SETTINGS | Screen sleep fallback |
| CAMERA | Reserved for future camera features |
| WRITE_SETTINGS | Brightness control |
| SYSTEM_ALERT_WINDOW | Background overlay access |
Setup:
- Install the Facebook Portal mod from Settings -> Advanced -> Mod Store
- Download
provision.shfrom the mod source chmod +x provision.sh- Connect your Portal via USB and verify ADB:
adb devices - Run:
./provision.sh com.example.ava - Open mod settings and enable the features you need
- For presence or screen timeout, also turn on the corresponding switch in Home Assistant
Version: 1.0.10 | Author: Ava
Device support for Tuya S8E smart screens with screen backlight control, small display control, and climate readings.
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Screen Backlight | switch | Toggle the main screen backlight |
| Small Screen Backlight | switch | Toggle the small display backlight |
| Temperature | sensor | Ambient temperature in °C |
| Humidity | sensor | Ambient humidity in % |
| Rotary Position | text_sensor | Current rotary knob position |
| Reset Rotary Position | button | Reset the rotary position counter |
| Gesture Direction | text_sensor | Detected gesture direction |
How to Use:
- Install on a Tuya S8E device
- No configuration needed, all entities appear automatically in Home Assistant
- Control backlights from HA switches
- Monitor temperature and humidity from HA sensors
- The rotary position and gesture direction update in real time (500ms refresh)
Version: 1.0.0 | Author: slovebj
LED and motion sensor support for YX M5612 devices.
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Blue LED | switch | Toggle blue LED |
| Red LED | switch | Toggle red LED |
| Green LED | switch | Toggle green LED |
| Motion Sensor | binary_sensor | PIR motion detection |
How to Use:
- Install on a YX M5612 device
- No configuration needed, all entities appear automatically in Home Assistant
- Toggle individual LED colors from HA switches
- Use the motion sensor for presence-based automations
These mods add general-purpose features that work on any compatible Android device.
Version: 1.0.0 | Author: Ava
Control the device flashlight (camera flash) from Home Assistant.
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Toggle Flashlight | button | Toggle the flashlight on/off |
Requirements: Android 5.0+ (API 21) with Camera2 API, Camera permission, Physical flashlight hardware
How to Use:
- Install on any device with a flashlight
- Grant camera permission if prompted
- Toggle the flashlight from the HA button entity
Version: 1.3.0 | Author: Ava
Exposes device GPS location to Home Assistant with configurable sensors and update behavior. Includes reverse geocoding via OpenStreetMap Nominatim.
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Latitude | sensor | Current latitude |
| Longitude | sensor | Current longitude |
| Altitude | sensor | Current altitude |
| Speed | sensor | Current speed |
| Accuracy | sensor | GPS accuracy in meters |
| Refresh Location | button | Force a location update |
Configuration:
| Setting | Default | Description |
|---|---|---|
| Provider | gps | GPS_PROVIDER or NETWORK_PROVIDER |
| Update Interval (seconds) | 5 | How often to request location updates |
| Min Distance (meters) | 1 | Minimum movement to trigger update |
| Enable Latitude | On | Expose latitude sensor |
| Enable Longitude | On | Expose longitude sensor |
| Enable Altitude | On | Expose altitude sensor |
| Enable Speed | On | Expose speed sensor |
| Enable Accuracy | On | Expose accuracy sensor |
Requirements: Android 5.0+ (API 21), Location permission (ACCESS_FINE_LOCATION), GPS or network location provider
Version: 1.1.1 | Author: Ava
Keep WiFi and ADB debugging alive across crashes and reboots. Root preferred, Shizuku fallback.
Version: 1.5.0 | Author: Ava
A pure-Java Android AI assistant that runs as a mod inside Ava. Connects any OpenAI or Anthropic-compatible LLM to device-level tools via an agentic loop. No separate APK, no framework dependency.
What It Does:
- Execute shell commands and Termux scripts
- Automate UI interactions via Accessibility Service (click, scroll, type, screenshot)
- Read and write files on the device
- Control Ava's internal browser
- Search the web (Tavily API with 17 fallback engines)
- Schedule recurring tasks via cron
- Maintain persistent memory and learn skills
Channels:
| Channel | Description |
|---|---|
| Android | Native voice satellite integration via Ava |
| WebConsole | Local HTTP server with SSE streaming and tool call rendering |
| Telegram | Bot channel with long-polling |
| QQ Bot channel (sandbox supported) |
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Agent Status | text_sensor | Current agent state |
| AI Response | text_sensor | Latest AI response (optional) |
| Heartbeat Status | text_sensor | Heartbeat monitoring state |
| Total Tokens | text_sensor | Cumulative token usage |
| Clear Memory | button | Clear all persistent memory |
Configuration:
| Setting | Default | Description |
|---|---|---|
| Provider | openai | API protocol: openai or anthropic |
| API Key | (empty) | Your LLM API key |
| Model | stepfun/step-3.5-flash | Model ID |
| Custom API URL | https://openrouter.ai/api/v1 | API endpoint |
| Max Tokens | 4096 | Max reply tokens (512-8192) |
| Max Tool Iterations | 30 | Max tool rounds per turn (1-100) |
| Tavily Key | (empty) | Optional Tavily web search API key |
| Telegram Token | (empty) | Optional Telegram bot token |
| QQ App ID | (empty) | Optional QQ bot app ID |
| QQ Client Secret | (empty) | Optional QQ bot secret |
| QQ Sandbox | Off | QQ sandbox mode |
| Heartbeat Enabled | On | Heartbeat monitoring |
| Expose AI Response | Off | Show AI responses as HA text sensor |
| Web Console Enabled | On | Enable local web console |
| Web Console Password | openclaw | Web console password |
Requirements: Android 9+ (API 28), Ava app installed, Internet permission. Optional: Shizuku or root for shell commands, Accessibility service for UI automation.
How to Use:
- Install the OpenClaw mod
- Configure your LLM provider, API key, and model in mod settings
- Optionally configure Telegram, QQ, or web console channels
- Talk to Ava normally, OpenClaw intercepts and processes with your chosen LLM
- The AI can control the device, run scripts, take screenshots, and more
- Access the web console at
http://device-ip:portfor a chat interface with tool call visualization - Use the Clear Memory button to reset the AI's persistent memory
Version: 1.0.0 | Author: pantherale0
Fixes Qualcomm audio concurrency issues that block microphone access when wake sounds play during voice assistant activation.
The Problem:
On Qualcomm devices (ThinkSmart View and others using msm8953-snd-card-mtp), the HAL driver blocks microphone access when audio is already playing. When Ava plays a wake sound during VOICE_ASSISTANT_STT_START, the microphone fails with error code -19 (ENODEV).
This mod fixes the issue by modifying the sound trigger configuration to allow concurrent audio sessions.
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Apply Audio Fix | button | Apply the concurrency fix |
| Fix Status | sensor | Current fix status |
Supported Devices:
- ThinkSmart View (Android 11 via treble)
- Other Qualcomm devices using
msm8953-snd-card-mtpsound card - Run
cat /proc/asound/cardsto confirm compatibility
Requirements: Root access is required to modify system files
How to Use:
- Install on a compatible Qualcomm device
- Tap Apply Audio Fix in mod settings or from the HA button
- The mod modifies
/vendor/etc/sound_trigger_platform_info.xmland/vendor/build.prop - Reboot the device after applying
- Verify the fix by checking the Fix Status sensor
- After the fix, wake sounds and microphone access work simultaneously
Version: 1.1.2 | Author: Ava
Turns your Ava device into a Zigbee coordinator gateway by bridging a USB Zigbee dongle over TCP. Supports Tuya S6E/T6E/S7E/S9E and NSPanel Pro.
Entities Exposed to Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Zigbee Status | binary_sensor | TCP server running status |
| Zigbee Restart | button | Restart the TCP server |
Configuration:
| Setting | Default | Description |
|---|---|---|
| Serial Port | /dev/ttyS5 | Serial device path for the Zigbee dongle |
| Baud Rate | 115200 | Serial communication speed |
| TCP Port | 8888 | TCP port for the bridge server |
| Listen Address | 0.0.0.0 | Bind address (0.0.0.0 = all interfaces) |
| Auto Start | On | Start the bridge automatically when Ava starts |
| RTS/CTS Flow | Off | Hardware flow control |
Requirements: Android device with USB host or serial port access, Root access for serial port access, Zigbee coordinator dongle (CC2652, ConBee, EZSP, etc.)
How to Use:
- Install the Zigbee Gateway mod
- Connect your Zigbee dongle to the device (USB or built-in serial)
- Configure the serial port path, baud rate, and TCP port in mod settings
- Enable Auto Start for automatic operation
- In Home Assistant, add a Zigbee2MQTT or ZHA integration pointing to
device-ip:8888 - Use the Restart button if you need to restart the bridge
- Monitor the Zigbee Status sensor to confirm the server is running
- Tap Refresh to check for available mods
- Check network connection
- Mods may not be available for your device
- Check network access
- Check repository URL
- Check module configuration
- Try again later
- Check if the mod requires additional permissions
- Grant the required permission
- If permission was denied permanently, open app settings and allow it
- Some mods require root or ADB provisioning
This is expected. After enable, disable, or update, the voice service restarts automatically to apply changes. This ensures the mod is properly loaded or unloaded.
- On a Facebook Portal: Facebook Portal mod
- On a Tuya S8E: Tuya S8E mod
- On an Allwinner A64 tablet: Allwinner A64 Custom mod
- On an Amazon Echo Show: Echo Show Support mod
- On a YX M5612: YX LED Controller mod
- On any device with GPS: GPS Location mod
- On any device with a flashlight: Flashlight mod
- On a Qualcomm device with audio issues: Qualcomm Audio Concurrency Fix
- On a device with a Zigbee dongle: Zigbee Gateway mod
- On any device, for AI assistant capabilities: OpenClaw (Mini) mod
- On any device, to keep WiFi/ADB alive: WiFi & ADB Keep-Alive mod
Yes. See Mod Development for the complete developer guide. Source code, build scripts, and examples are at https://github.com/knoop7/ava-mods.
Back to Home