Skip to content

Conversation

@panaaj
Copy link
Member

@panaaj panaaj commented May 3, 2024

Version 2 Weather API:

Goals:

  • Implement an API (with OpenAPI definition) for accessing weather information sourced from various weather services (i.e. NOAA, OpenWeather, Open-Meteo, etc).
  • Support multiple weather providers
  • Provide access to observation, forecast and warnings.

Features:

  • API operations under the path /signalk/v2/api/weather
  • List and switch between providers/signalk/v2/api/weather/_providers

The following table contains links to weather provider plugins that are ready for publishing once the API is merged and available.

Related Link
Specification SignalK/specification#662
OpenMeteo Provider Plugin https://github.com/SignalK/openmeteo-provider-plugin
OpenWeather Provider Plugin https://github.com/panaaj/signalk-openweather-provider

@panaaj panaaj added the feature label May 3, 2024
@panaaj panaaj requested a review from tkurki May 5, 2024 08:05
Copy link
Contributor

@bkeepers bkeepers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@panaaj nice work on this proposal. I'm curious what the current status is.

One question: what would you think about adding parameters to control the date/range of the forecast. For example, getting a 3-day vs 7-day forecast, and specifying a start date. Specifically, I'm thinking about tides, but I think it applies to all the data.

I recently released the signalk-tides plugin, which uses the resource API to return tide forecast, and accepts a date parameter.

_Note: This API is currently under development and the information provided here is likely to change._


The Signal K server [Weather API](../rest-api/autopilot_api.md) will provide a common set of operations for retrieving meteorological data and (like the Resources API) will rely on a "provider plugin" to facilitate communication with the autopilot device.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused about the references to autopilot here. Is this just remnants of a copy/paste from another doc?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy and paste error.

water?: {
temperature?: number
level?: number
levelTendency?: TendencyKind
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify, is this for tide level? If so, I'm curious if you have thoughts on how this API would be used to get the tide forecast. For example, the time and height of the next extreme, or a 3/5/7 day tide forecast.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is there because this is a path that appears in the meteo context that is populated from AIS messages.

More of an alignment thing at this stage of the game.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to clarify, is this for tide level?

Water level (incl. tide):
Deviation from local chart datum, in 0.01 metre steps. -10.0 to +30.0 metres

Water level trend:
0 = steady, 1 = decreasing, 2 = increasing

More info here:
https://www.iala.int/asm/meteorological-hydrographic-data/
https://academy.iala.int/asm/metreorological-hydrological-data-2/

@panaaj
Copy link
Member Author

panaaj commented Mar 22, 2025

This has stalled due to prioritising work on the autopilot API, but am keen to progress.
A parameter to specify the number of days would be ideal.

@panaaj
Copy link
Member Author

panaaj commented Mar 22, 2025

I think alignment with tides information, where it makes sense, is a good idea.

@panaaj
Copy link
Member Author

panaaj commented May 10, 2025

Updated to accept the number of forecast (hourly or point) or observation records to return.

Will add the option to accept a date.

@panaaj panaaj requested review from KEGustafsson and bkeepers May 23, 2025 06:24
@panaaj
Copy link
Member Author

panaaj commented May 23, 2025

I feel this is somewhat closer to a first release.
Have created providers for both OpenMeteo and OpenWeather to trial at least two data sources.

@panaaj
Copy link
Member Author

panaaj commented Sep 10, 2025

@tkurki Seeking review with the intent to merge ready for next server release.

@panaaj panaaj merged commit 75164ae into master Sep 15, 2025
5 checks passed
@panaaj panaaj deleted the v2_api_weather branch September 15, 2025 04:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants