npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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

  1. Open your Signal K server's web interface
  2. Navigate to the App Store
  3. Search for "YachtEye - Position Fallback" or @yachteye/signalk-position-fallback
  4. Click Install
  5. 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.headingTrue with the navigation.courseOverGroundTrue. Default: true

Screenshot of Settings

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):

Screenshot of YachtEye Position Fallback Plugin

How It Works

  1. The plugin runs at the configured interval (default: every 4 minutes)
  2. It checks the current position in the Signal K tree (navigation.position)
  3. 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.rateOfTurn
      • navigation.courseOverGroundTrue
      • navigation.speedOverGround
      • navigation.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