Skip to content

Autopilot Head should detect Autopilot API v2 providers without requiring specific plugins #605

Description

@macjl

Problem

The Autopilot Head widget currently appears to be gated by a fixed plugin dependency list, such as the legacy Signal K autopilot plugin or a specific provider plugin. This prevents the widget from being added when Signal K has an active Autopilot API v2 provider registered by another plugin.

This is a problem because the Signal K Autopilot API v2 is provider-based. A compatible autopilot can be exposed through:

/signalk/v2/api/vessels/self/autopilots

without the historical autopilot plugin being active.

Expected behavior

When adding or configuring the Autopilot Head widget, Skip should consider the widget available if the server exposes at least one Autopilot API v2 provider at:

/signalk/v2/api/vessels/self/autopilots

The widget should not require a hard-coded plugin id if the v2 API already reports an available provider.

Current behavior

The widget can be blocked before its own Autopilot API discovery/configuration flow runs, with a message indicating that one of the known autopilot plugins is installed but none is active.

Suggested direction

The Autopilot Head dependency check could be relaxed or changed from a hard-coded plugin-id requirement to an API capability check:

  1. Prefer Autopilot API v2 provider discovery via /signalk/v2/api/vessels/self/autopilots.
  2. Allow the widget when that endpoint returns one or more providers.
  3. Keep legacy plugin checks only as a fallback for v1 compatibility.

This would make the widget work with any compatible Signal K Autopilot API v2 provider, while preserving support for existing provider plugins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions