@yachteye/signalk-position-fallback
v1.0.4
Published
A Signal K plugin that provides a fallback position when the primary position source is not available.
Readme
YachtEye - Position Fallback Plugin
A Signal K plugin that provides a fallback position when the primary GPS position source is unavailable or too old. The plugin periodically checks the age of the current position in the Signal K tree and, if it exceeds a configured threshold, fetches the latest position from the YachtEye API.
Installation
This plugin can be installed through the Signal K App Store. For detailed instructions on how to use the App Store, please visit signalk.org.
- Open your Signal K server's web interface
- Navigate to the App Store
- Search for "YachtEye - Position Fallback" or
@yachteye/signalk-position-fallback - Click Install
- Enable the plugin in your Signal K server configuration
Setup
After installation, configure the plugin with the following settings:
Required Settings
- API endpoint: The YachtEye API endpoint URL (e.g.,
https://api.yachteye.com) - API key: Your YachtEye API key for authenticating requests
Optional Settings
- MMSI override: If set, this MMSI will be used instead of the MMSI from the Signal K tree. Leave empty to use the MMSI from your vessel's Signal K configuration (make sure it's there!).
- Interval: The interval in seconds between position checks. Default:
240(4 minutes) - GPS position age: The maximum age of the GPS position in seconds before the API position is used as fallback. Default:
600(10 minutes) - Provide headingTrue: If enabled, the plugin will populate the value of
navigation.headingTruewith thenavigation.courseOverGroundTrue. Default:true

IMPORTANT
If you have more than one position source, and want to make sure that the Signal K REST APIs returns position from this plugin instead of an older position from another source, make sure you set up the "Source Priorities" in your "Connection" settings (don't forget to do the same for headingTrue, if not disabled):

How It Works
- The plugin runs at the configured interval (default: every 4 minutes)
- It checks the current position in the Signal K tree (
navigation.position) - If the position timestamp is missing or older than the configured timeout (default: 10 minutes), the plugin:
- Fetches the latest position from the YachtEye API using the configured MMSI
- Updates the Signal K tree with:
navigation.position(longitude, latitude)navigation.rateOfTurnnavigation.courseOverGroundTruenavigation.speedOverGroundnavigation.headingTrue(if not disabled)
Notes
- The plugin is disabled by default after installation (
signalk-plugin-enabled-by-default: false) - You must manually enable it in your Signal K server configuration
- The MMSI can be obtained from your vessel's Signal K configuration or explicitly set in the plugin settings
- If no MMSI is available (neither from Signal K tree nor override), the plugin will log an error and skip the position check
