Skip to content

feature: Weather API definition. #1733

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

feature: Weather API definition. #1733

wants to merge 13 commits into from

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
Related Link
Specification SignalK/specification#662
Open-Meteo Provider Plugin https://github.com/SignalK/openmeteo-provider-plugin

@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.

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.

4 participants