
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
signalk-derived-data
Advanced tools
Signal K server plugin that emits deltas for values derived from other Signal K values — wind angles computed from AWA + heading, CPA/TCPA from AIS tracks, moon illumination from time + position, tank volumes from calibrated levels, and so on.
Through the Signal K server admin UI — App Store → search for
signalk-derived-data → install. Or from the command line in your
~/.signalk dir:
npm install signalk-derived-data
Requires signalk-server
with Node >=22.
Every calculator here is optional and enabled individually in the
plugin's config screen. Each has a derivedFrom list of Signal K
paths and emits on one or more output paths.
dawn / sunrise / day / sunset / dusk /
night) from time + positionsunrise, sunriseEnd, goldenHourEnd,
solarNoon, goldenHour, sunsetStart, sunset, dusk,
nauticalDusk, night, nadir, nightEnd, nauticalDawn, dawncourseGreatCircle.nextPoint.positiondepth.belowSurface + design.draft.maximumdepth.belowTransducer + depth.transducerToKeeldepth.belowKeel + design.draft.maximumdefaults.json)Drop a file into src/calcs/. Each calculator is a default-exported
factory function that receives the server app + plugin instance and
returns a Calculation descriptor:
import type { Calculation, CalculationFactory } from '../types'
const factory: CalculationFactory = function (_app): Calculation {
return {
group: 'course data',
optionKey: 'vmg_Wind',
title: 'Velocity Made Good to wind',
derivedFrom: [
'environment.wind.angleTrueWater',
'navigation.speedOverGround'
],
debounceDelay: 200,
calculator: function (trueWindAngle: number, speedOverGround: number) {
const vmg_wind = Math.cos(trueWindAngle) * speedOverGround
return [{ path: 'performance.velocityMadeGood', value: vmg_wind }]
}
}
}
module.exports = factory
derivedFrom lists the Signal K paths the calculator subscribes to;
the plugin feeds their latest values into calculator in the same
order. Return a { path, value } list (or [] / undefined to skip
emission this tick).
Issues and pull requests welcome at
SignalK/signalk-derived-data.
npm test runs the full mocha suite; npm run typecheck +
npm run build guard the TypeScript surface; npm run mutation
runs Stryker against the calcs.
Apache-2.0. See LICENSE.
FAQs
Plugin that derives signalk data from other signalk data
The npm package signalk-derived-data receives a total of 1,279 weekly downloads. As such, signalk-derived-data popularity was classified as popular.
We found that signalk-derived-data demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.