ovos-PHAL-plugin-termux
July 30, 2026 ยท View on GitHub
A PHAL plugin that controls system volume, vibration, and the camera on Termux. It runs as part of the Platform/Hardware Abstraction Layer in OpenVoiceOS.
The plugin listens for OVOS bus messages and translates them into termux-api calls, so volume and camera commands work on an Android device running Termux.
For voice control of volume, use the companion ovos-skill-volume.
Install
pip install ovos-PHAL-plugin-termux
Usage
OVOS loads this plugin as a PHAL entry point. It handles these bus messages:
self.bus.on("mycroft.volume.get", self.handle_volume_request)
self.bus.on("mycroft.volume.set", self.handle_volume_change)
self.bus.on("mycroft.volume.mute", self.handle_mute_request)
self.bus.on("mycroft.volume.unmute", self.handle_unmute_request)
It also handles camera messages (ovos.phal.camera.ping, ovos.phal.camera.get) and can vibrate the device on record start, record end, sleep, and error events.
Config
"PHAL": {
"ovos-PHAL-plugin-termux": {
"stream": "music",
"camera_id": 0,
"vibrate_on_record_start": false,
"vibrate_on_record_end": false,
"vibrate_on_sleep": false,
"vibrate_on_error": true
}
}
HiveMind support
This plugin works with OVOS and with HiveMind satellites.
Allow mycroft.volume.get.response in your HiveMind setup, so your satellite can report volume:
hivemind-core allow-msg "mycroft.volume.get.response"
Related projects
- ovos-PHAL - the plugin host this plugin registers with
- ovos-skill-volume - the skill that drives volume control through voice