Skip to content

About

SignalK plugin for offline tide predictions at the vessel's position, powered by Slackwater

Topics

Resources

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Latest commit

 

History

296 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

signalk-tides

A SignalK plugin that provides offline tidal predictions for the vessel's position, powered by Slackwater.

Since 2.0, predictions are computed locally from harmonic constituents — no network access or API keys required.

Installation

Install signalk-tides from the SignalK Appstore or manually by running npm install signalk-tides in the SignalK server directory (~/.signalk).

Usage

This plugin depends on navigation.position.

It publishes the following tide data:

  • environment.tide.heightHigh
  • environment.tide.timeHigh
  • environment.tide.heightLow
  • environment.tide.timeLow
  • environment.tide.heightNow
  • environment.tide.stationName
  • environment.tide.state — tide trend, rising or falling
  • environment.tide.timeToNextExtreme — seconds until the next high or low water

Tides API

The plugin mounts the Slackwater API at /signalk/v2/api/tides, which serves station search, extremes, and timeline predictions. The synthetic station vessel/default resolves to the configured default station, or the nearest station to the vessel when none is set:

$ curl http://localhost:3000/signalk/v2/api/tides/stations/vessel/default/extremes

Tides resource

It also registers a tides resource, which returns the next 7 days of tide extremes for the vessel's position.

$ curl http://localhost:3000/signalk/v2/api/resources/tides
Response
{
   "datum": "MLLW",
   "units": "meters",
   "station": {
      "id": "noaa/9414290",
      "name": "San Francisco",
      "latitude": 37.806,
      "longitude": -122.465
   },
   "extremes": [
      { "time": "2025-03-29T00:45:00.000Z", "level": 0.025, "high": false, "low": true, "label": "Low" },
      { "time": "2025-03-29T07:20:00.000Z", "level": 1.928, "high": true, "low": false, "label": "High" }
   ]
}

Chart plotter widget

The plugin offers a tide widget to chart plotters that support Signal K Plotter Extensions, such as Freeboard-SK. It shows the tide at the vessel's position: the level now with its trend, and the next high or low water, on the predicted curve. Tapping it opens the full Tides app in a panel beside the chart.

In Freeboard-SK, press and hold an empty spot in a corner of the chart (or right-click it and choose Add widget here) and pick Tides.

License

This plugin is a fork of the signalk-tides-api plugin (which is no longer working) and is licensed under the Apache License 2.0. Kudos to @joabakk and @sbender9 for the original work.

About

SignalK plugin for offline tide predictions at the vessel's position, powered by Slackwater

Topics

Resources

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages