# PHAL-plugin-mac
Project description
PHAL-plugin-mac
Provides system specific commands to OVOS for Mac OS. Creates fake ducking for OCP/ovos-media, barge-in volume adjustment, GUI button compatability, and allows for management of OVOS services.
Tested on Mac OS Sonoma 14.6.1, but should be valid for all currently supported Mac OS versions as of August 2024.
Install
pip install PHAL-plugin-mac
Requires associated skill for volume-based voice commands:
- skill-ovos-volume
Config
This plugin is not an Admin plugin, but in order for most of the system level commands to work, the user must be in the sudoers file. This can be done by running the following command in the terminal:
sudo vim /private/etc/sudoers.d/<username>
Replace with the username of the user running the OVOS instance.
Then add the following lines to the file:
<username> ALL=(ALL) NOPASSWD: /usr/sbin/systemsetup
<username> ALL=(ALL) NOPASSWD: /usr/sbin/shutdown
<username> ALL=(ALL) NOPASSWD: /usr/bin/sntp
<username> ALL=(ALL) NOPASSWD: /usr/bin/defaults
Be sure to replace <username> with the username of the user running the OVOS instance.
NOTE: Do this at your own risk. This is a security risk and should only be done if you understand the implications.
Handle bus events to interact with the OS
System
system.ntp.syncsystem.ssh.status,system.ssh.enable,system.ssh.disablesystem.reboot,system.shutdownsystem.configure.languagesystem.mycroft.service.restart
Volume
mycroft.volume.get,mycroft.volume.setmycroft.volume.increase,mycroft.volume.decreasemycroft.volume.mute,mycroft.volume.unmute,mycroft.volume.mute.toggle
Display brightness
Uses the canonical OVOS PHAL brightness namespace:
phal.brightness.control.get→ replies withphal.brightness.control.get.response{"brightness": 0..100}phal.brightness.control.set→{"brightness": 0..100}, replies withphal.brightness.control.set.confirmphal.brightness.control.sync→ re-emitsphal.brightness.control.get.responsephal.brightness.control.auto.dim.update→ no-op on macOS (auto-dim is OS-managed via System Settings → Lock Screen)
Optional dependency: macOS has no built-in command-line API for display brightness. To enable brightness handling, install the small Homebrew formula
brightness:brew install brightnessIf
brightnessis not onPATH, the plugin still loads and the brightness handlers become no-ops (a warning is logged on startup). All other functionality is unaffected.The screenshot location can be customised via the
screenshot_dirconfig key. The default is the XDG cache location ($XDG_CACHE_HOME/ovos/screenshots, falling back to~/.cache/ovos/screenshots) so the plugin behaves correctly when running as a background service.
Display: dark mode (Mac-specific extension)
These events are not yet part of the canonical OVOS message spec; they are provided here so Mac users can drive macOS appearance from skills:
system.display.dark_mode.get→ replies withsystem.display.dark_mode.get.response{"enabled": bool}system.display.dark_mode.set→{"enabled": bool}, replies with.set.confirm/.set.failedsystem.display.dark_mode.toggle→ flips current state, replies with.set.confirm/.set.failed
Power & screen (Mac-specific extension)
system.lock→ locks the screen (pmset displaysleepnow); replies withsystem.lock.confirm/system.lock.failedsystem.sleep→ sleeps the Mac (pmset sleepnow); replies withsystem.sleep.confirm/system.sleep.failedsystem.screenshot→ captures the full screen viascreencapture -x. Optional{"path": str}; defaults to~/Pictures/ovos-screenshot-<timestamp>.png. Replies withsystem.screenshot.complete{"path": str}/system.screenshot.failed
Credits
Oscillate Labs (@mikejgray)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ovos_phal_plugin_mac-0.2.0.tar.gz.
File metadata
- Download URL: ovos_phal_plugin_mac-0.2.0.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9809f39016f1a74b8fe4801e42acf8c99bb8e7fbc018bdc811771fd2f33566e
|
|
| MD5 |
731f5c171290336aae725942adb5153a
|
|
| BLAKE2b-256 |
455b1e514306e844685e378e0d51fd91497d9f1f232a77e98c8f8aedf1908843
|
File details
Details for the file ovos_phal_plugin_mac-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ovos_phal_plugin_mac-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e88f8b50732c1782063fb1e8b5b12fd6a1693358e8ab888a88b3ad39c329394
|
|
| MD5 |
719275f914604adc7d8835bdb0e1fcae
|
|
| BLAKE2b-256 |
6af23b374a0bc6ed8003328eb8e30bb949d5a0d4a6b47b47881aa4d0a62f91fa
|