PHAL plugin - Network Manager

July 31, 2026 ยท View on GitHub

This plugin provides the network manager interface for OpenVoiceOS. It uses nmcli for all communication with NetworkManager. The D-Bus interface is a work in progress (#15).

Requires

This plugin needs nmcli.

Install

pip install ovos-PHAL-plugin-network-manager

Config

This plugin is an admin plugin. It needs to run as root and to be enabled in mycroft.conf.

{
"PHAL": {
    "admin": {
        "ovos-PHAL-plugin-network-manager": {"enabled": true}
    }
}
}

If you omit this config, the plugin runs as the regular user. In that case, set the polkit policy to allow nmcli without sudo.

Event Details

Scanning

This plugin scans for nearby networks. Use the following event to start a scan.

# Scanning:
# ovos.phal.nm.scan
# - type: Request
# - description: Allows client to request for a network scan
#
# ovos.phal.nm.scan.complete
# - type: Response
# - description: Emited when the requested scan is completed
# with a network list
Connecting

This plugin connects to and disconnects from networks. Use the following events to manage a connection.

# Connecting:
# ovos.phal.nm.connect
# - type: Request
# - description: Allows clients to connect to a given network
#
# ovos.phal.nm.connection.successful
# - type: Response
# - description: Emitted when a connection is successfully established
#
# ovos.phal.nm.connection.failure
# - type: Response
# - description: Emitted when a connection fails to establish
#
# Disconnecting:
# ovos.phal.nm.disconnect
# - type: Request
# - description: Allows clients to disconnect from a network
#
# ovos.phal.nm.disconnection.successful
# - type: Response
# - description: Emitted when a connection successfully disconnects
#
# ovos.phal.nm.disconnection.failure
# - type: Response
# - description: Emitted when a connection fails to disconnect
Forget Networks

This plugin also forgets networks that a client already connected to. Use the following events to forget a network.

# Forgetting:
# ovos.phal.nm.forget
# - type: Request
# - description: Allows a client to forget a network
#
# ovos.phal.nm.forget.successful
# - type: Response
# - description: Emitted when a connection successfully is forgetten
#
# ovos.phal.nm.forget.failure
# - type: Response
# - description: Emitted when a connection fails to forget

Related projects

License

Apache-2.0