Skip to content
KNOOP edited this page Jun 29, 2026 · 5 revisions

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.


Overview

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

Access the Mod Store

  1. Go to Settings -> Advanced -> Mod Store
  2. Browse available mods
  3. Install, enable, disable, or manage mods

Mod Store Interface

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

Managing Mods

Install a Mod

  1. Go to Settings -> Advanced -> Mod Store
  2. Find the mod in the Available list
  3. Tap to download
  4. The voice service will restart to apply changes

Enable / Disable

  1. Find the mod in the Installed list
  2. Tap Enable or Disable
  3. The voice service restarts to apply changes

Update

  1. Tap Update on an installed mod when a new version is available
  2. The voice service restarts to apply changes

Uninstall

  1. Find the mod in the Installed list
  2. Tap Manage -> Uninstall
  3. Confirm deletion

Mod Configuration

Some mods have configurable options. After installing a mod:

  1. Find the mod in the Installed list
  2. Tap Manage
  3. Configure available options
  4. 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.


Permissions

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

Headless Control

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_MOD

See Mod Development for full broadcast reference.


Topics

Topic Description
Mod Development Complete developer guide — manifest spec, entity types, manager API, voice pipeline, device hooks, build, publishing

Mod List

Source: github.com/knoop7/ava-mods

Device Support Mods

These mods add support for specific hardware devices. Install them only on the matching device.


Allwinner A64 Custom

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:

  1. Install on an Allwinner A64 device (Ococci tablet, smart screen, etc.)
  2. Configure home key actions in mod settings
  3. The inductor sensor automatically toggles the screen when triggered
  4. No Home Assistant entities are exposed, this mod operates at the device level

Echo Show Support

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:

  1. Install on an Amazon Echo Show device that has been set up for Android app installation
  2. No configuration needed, the mod applies hooks automatically
  3. No Home Assistant entities are exposed, this mod operates at the device level

Facebook Portal

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:

  1. Install the Facebook Portal mod from Settings -> Advanced -> Mod Store
  2. Download provision.sh from the mod source
  3. chmod +x provision.sh
  4. Connect your Portal via USB and verify ADB: adb devices
  5. Run: ./provision.sh com.example.ava
  6. Open mod settings and enable the features you need
  7. For presence or screen timeout, also turn on the corresponding switch in Home Assistant

Tuya S8E

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:

  1. Install on a Tuya S8E device
  2. No configuration needed, all entities appear automatically in Home Assistant
  3. Control backlights from HA switches
  4. Monitor temperature and humidity from HA sensors
  5. The rotary position and gesture direction update in real time (500ms refresh)

YX LED Controller

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:

  1. Install on a YX M5612 device
  2. No configuration needed, all entities appear automatically in Home Assistant
  3. Toggle individual LED colors from HA switches
  4. Use the motion sensor for presence-based automations

Feature Mods

These mods add general-purpose features that work on any compatible Android device.


Flashlight

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:

  1. Install on any device with a flashlight
  2. Grant camera permission if prompted
  3. Toggle the flashlight from the HA button entity

GPS Location

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


WiFi & ADB Keep-Alive

Version: 1.1.1 | Author: Ava

Keep WiFi and ADB debugging alive across crashes and reboots. Root preferred, Shizuku fallback.


OpenClaw (Mini)

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 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:

  1. Install the OpenClaw mod
  2. Configure your LLM provider, API key, and model in mod settings
  3. Optionally configure Telegram, QQ, or web console channels
  4. Talk to Ava normally, OpenClaw intercepts and processes with your chosen LLM
  5. The AI can control the device, run scripts, take screenshots, and more
  6. Access the web console at http://device-ip:port for a chat interface with tool call visualization
  7. Use the Clear Memory button to reset the AI's persistent memory

Qualcomm Audio Concurrency Fix

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-mtp sound card
  • Run cat /proc/asound/cards to confirm compatibility

Requirements: Root access is required to modify system files

How to Use:

  1. Install on a compatible Qualcomm device
  2. Tap Apply Audio Fix in mod settings or from the HA button
  3. The mod modifies /vendor/etc/sound_trigger_platform_info.xml and /vendor/build.prop
  4. Reboot the device after applying
  5. Verify the fix by checking the Fix Status sensor
  6. After the fix, wake sounds and microphone access work simultaneously

Zigbee Gateway

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:

  1. Install the Zigbee Gateway mod
  2. Connect your Zigbee dongle to the device (USB or built-in serial)
  3. Configure the serial port path, baud rate, and TCP port in mod settings
  4. Enable Auto Start for automatic operation
  5. In Home Assistant, add a Zigbee2MQTT or ZHA integration pointing to device-ip:8888
  6. Use the Restart button if you need to restart the bridge
  7. Monitor the Zigbee Status sensor to confirm the server is running

FAQ

Mod Store shows no mods?

  1. Tap Refresh to check for available mods
  2. Check network connection
  3. Mods may not be available for your device

Mod installation failed?

  1. Check network access
  2. Check repository URL
  3. Check module configuration
  4. Try again later

Mod won't enable?

  1. Check if the mod requires additional permissions
  2. Grant the required permission
  3. If permission was denied permanently, open app settings and allow it
  4. Some mods require root or ADB provisioning

Voice service restarts after mod changes?

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.

Which mods should I install?

  • 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

Can I write my own 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

Clone this wiki locally