Metadata-Version: 2.4
Name: ovos-PHAL-plugin-system
Version: 1.3.3
Summary: A plugin for OpenVoiceOS hardware abstraction layer
Home-page: https://github.com/OpenVoiceOS/ovos-PHAL-plugin-system
Author: JarbasAi
Author-email: jarbasai@mailfence.com
License: Apache-2.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Text Processing :: Linguistic
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ovos-plugin-manager<2.0.0,>=0.0.26
Requires-Dist: ovos-utils<1.0.0,>=0.1.0
Requires-Dist: ovos_config<2.0.0,>=0.0.5
Requires-Dist: ovos-bus-client<2.0.0,>=1.1.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

# ovos-PHAL-plugin - system

Provides system specific commands to OVOS.
The dbus interface for this plugin is not yet established.

# Install

`pip install ovos-PHAL-plugin-system`

# Config

This plugin is a Admin plugin, it needs to run as root and to be explicitly enabled in mycroft.conf

```javascript
{
"PHAL": {
    "admin": {
        "ovos-PHAL-plugin-system": {"enabled": true}
    }
}
}
```
if not enabled (omit config above) it will be run as the regular user, you need to ensure [polkit policy](#) is set to allow usage of systemctl without sudo.  Not yet implemented


handle bus events to interact with the OS

```python
self.bus.on("system.ntp.sync", self.handle_ntp_sync_request)
self.bus.on("system.ssh.status", self.handle_ssh_status)
self.bus.on("system.ssh.enable", self.handle_ssh_enable_request)
self.bus.on("system.ssh.disable", self.handle_ssh_disable_request)
self.bus.on("system.reboot", self.handle_reboot_request)
self.bus.on("system.shutdown", self.handle_shutdown_request)
self.bus.on("system.factory.reset", self.handle_factory_reset_request)
self.bus.on("system.factory.reset.register", self.handle_reset_register)
self.bus.on("system.configure.language", self.handle_configure_language_request)
self.bus.on("system.mycroft.service.restart", self.handle_mycroft_restart_request)
```
