Skip to content

History API: return values split by source #2780

Description

@macjl

History API: return values split by source

The History API now supports filtering by sourceRef via path|sourceRef (#2737), which is useful when the client already knows the source.

What is still missing is a provider-agnostic way to discover/use historical sources when the client does not know them yet.

Example:

GET /signalk/v2/api/history/values?paths=navigation.headingMagnetic&from=...&to=...&splitBySource=true

Expected: return one series per historical source, using the existing values[].sourceRef field:

{
  "values": [
    {
      "path": "navigation.headingMagnetic",
      "method": "average",
      "sourceRef": "can0.c03382007cfd1670"
    },
    {
      "path": "navigation.headingMagnetic",
      "method": "average",
      "sourceRef": "can0.c050a008e8331bf1"
    }
  ],
  "data": [
    ["2026-06-16T21:32:00Z", 1.5289, 1.7188]
  ]
}

Use case: calibration tools need to select and compare specific historical sources without depending on the underlying history provider.

This would complement #2737: filtering works once a source is known; splitBySource=true would allow clients to discover/use source-separated historical values through the History API itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions