ovos-PHAL-plugin-connectivity-events

July 31, 2026 ยท View on GitHub

This is a PHAL plugin for OVOS. It watches network and internet connectivity and publishes the result on the messagebus, so skills, the GUI, and the enclosure can react to going online or offline without probing the network themselves.

How it works

The plugin polls connectivity on an interval and tracks a connectivity state (UNKNOWN, NONE, PORTAL, LIMITED, FULL), modeled on NetworkManager's connectivity states. A check first tests DNS, then HTTP:

  • No DNS reachable -> NONE
  • DNS reachable but no HTTP -> LIMITED
  • Both reachable -> FULL

When the state changes, the plugin emits messagebus events:

  • mycroft.network.connected / mycroft.network.disconnected
  • mycroft.internet.connected / mycroft.internet.disconnected
  • enclosure.notify.no_internet

It also emits level snapshots on every check, mycroft.network.state and mycroft.internet.state, each with a {"state": "connected"|"disconnected"} payload.

Send ovos.PHAL.internet_check on the bus to trigger a check on demand. The plugin responds with {"internet_connected": bool, "network_connected": bool}.

Install

pip install ovos-PHAL-plugin-connectivity-events

Configuration

The plugin reads its settings from the PHAL configuration section:

{
  "check_interval": 60,
  "disable_scheduled_checks": false
}
  • check_interval: seconds between automatic checks. Default: 60.
  • disable_scheduled_checks: if true, the plugin does not poll on a timer. It still responds to ovos.PHAL.internet_check.

License

Apache-2.0