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"

License

Apache License 2.0