signalk-server
Version:
An implementation of a [Signal K](http://signalk.org) server for boats.
247 lines • 199 kB
HTML
<!DOCTYPE html><html class="default" lang="en" data-base="../../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ServerAPI | Signal K</title><meta name="description" content="Documentation for Signal K"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../../assets/style.css?cache=1783009712609"/><link rel="stylesheet" href="../../assets/highlight.css?cache=1783009712609"/><script defer src="../../assets/main.js?cache=1783009712609"></script><script async src="../../assets/icons.js?cache=1783009712609" id="tsd-icons-script"></script><script async src="../../assets/search.js?cache=1783009712609" id="tsd-search-script"></script><script async src="../../assets/navigation.js?cache=1783009712609" id="tsd-nav-script"></script><script async src="../../assets/hierarchy.js?cache=1783009712609" id="tsd-hierarchy-script"></script><link rel="stylesheet" href="../../assets/theme.css"/><script>if(window.self!==window.top){document.documentElement.classList.add('embedded')}</script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../../index.html" class="title"><img class="title-logo" src="../../assets/logo.svg" alt="Signal K"/><svg class="title-home-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-label="Documentation home"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg></a><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-search"></use></svg><span class="visible@s">Search</span></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><div id="tsd-toolbar-links"><a href="https://discord.gg/uuZrwz4dCS" target="_blank" rel="noopener" class="toolbar-icon visible@s" aria-label="Discord"><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z"></path></svg></a><a href="https://github.com/SignalK/signalk-server" target="_blank" rel="noopener" class="toolbar-icon visible@s" aria-label="Discord"><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></a><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../server-api.html">@signalk/server-api</a></li><li><a href="" aria-current="page">ServerAPI</a></li></ul><h1>Interface ServerAPI</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>SignalK server provides an interface to allow <a href="Plugin.html" class="tsd-kind-interface">Plugins</a> to:</p>
<ul>
<li>Discover Features.</li>
<li>Access / update the full data model</li>
<li>send / receive deltas (updates)</li>
<li>Interact with APIs</li>
<li>Expose HTTP endpoints</li>
</ul>
<p>These functions are available via the app object passed to the plugin when it is invoked.</p>
<div class="tsd-alert tsd-alert-warning"><div class="tsd-alert-title"><svg width="16" height="16" viewBox="0 0 16 16" aria-hidden="true"><use href="../../assets/icons.svg#icon-alertWarning"></use></svg><span>Warning</span></div><p>
Typing is incomplete. If you find a missing or inaccurate type, please <a href="https://github.com/SignalK/signalk-server/issues/1917">report it</a>.</p>
</div>
</div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">ServerAPI</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#debug">debug</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">enabled</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#notifications">notifications</a><span class="tsd-signature-symbol">:</span> <a href="NotificationsApi.html" class="tsd-signature-type tsd-kind-interface">NotificationsApi</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#radarapi">radarApi</a><span class="tsd-signature-symbol">:</span> <a href="radar/RadarApi.html" class="tsd-signature-type tsd-kind-interface">RadarApi</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#registerradarprovider">registerRadarProvider</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="radar/RadarProvider.html" class="tsd-signature-type tsd-kind-interface">RadarProvider</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#registerweatherprovider">registerWeatherProvider</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="WeatherProvider.html" class="tsd-signature-type tsd-kind-interface">WeatherProvider</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#resourcesapi">resourcesApi</a><span class="tsd-signature-symbol">:</span> <a href="ResourcesApi.html" class="tsd-signature-type tsd-kind-interface">ResourcesApi</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#selfcontext">selfContext</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#selfid">selfId</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#selftype">selfType</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#streambundle">streambundle</a><span class="tsd-signature-symbol">:</span> <a href="StreamBundle.html" class="tsd-signature-type tsd-kind-interface">StreamBundle</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#subscriptionmanager">subscriptionmanager</a><span class="tsd-signature-symbol">:</span> <a href="SubscriptionManager.html" class="tsd-signature-type tsd-kind-interface">SubscriptionManager</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#weatherapi">weatherApi</a><span class="tsd-signature-symbol">:</span> <a href="WeatherApi.html" class="tsd-signature-type tsd-kind-interface">WeatherApi</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#gethistoryapi">getHistoryApi</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">providerId</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#getradarapi">getRadarApi</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="radar/RadarApi.html" class="tsd-signature-type tsd-kind-interface">RadarApi</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#activateroute-1">activateRoute</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">dest</span><span class="tsd-signature-symbol">:</span> <a href="RouteDestination.html" class="tsd-signature-type tsd-kind-interface">RouteDestination</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#autopilotupdate-1">autopilotUpdate</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">deviceId</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">apInfo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-signature-symbol">[</span><span class="tsd-kind-index-signature">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]:</span> <a href="Value.html" class="tsd-signature-type tsd-kind-type-alias">Value</a> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#cleardestination-1">clearDestination</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#emitpropertyvalue-1">emitPropertyValue</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#error-1">error</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getcourse-1">getCourse</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="CourseInfo.html" class="tsd-signature-type tsd-kind-interface">CourseInfo</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getdatadirpath-1">getDataDirPath</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getfeatures-1">getFeatures</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">onlyEnabled</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="FeatureInfo.html" class="tsd-signature-type tsd-kind-interface">FeatureInfo</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getmetadata-1">getMetadata</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="Metadata.html" class="tsd-signature-type tsd-kind-interface">Metadata</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getpath-1">getPath</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getselfpath-1">getSelfPath</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#getserialports-1">getSerialPorts</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="Ports.html" class="tsd-signature-type tsd-kind-interface">Ports</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#handlemessage-1">handleMessage</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol"><</span><a href="Delta.html" class="tsd-signature-type tsd-kind-interface">Delta</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">skVersion</span><span class="tsd-signature-symbol">?:</span> <a href="SKVersion.html" class="tsd-signature-type tsd-kind-enum">SKVersion</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#onpropertyvalues-1">onPropertyValues</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <a href="PropertyValuesCallback.html" class="tsd-signature-type tsd-kind-type-alias">PropertyValuesCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#putpath-1">putPath</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">aPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">updateCb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">err</span><span class="tsd-signature-symbol">?:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">source</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#putselfpath-1">putSelfPath</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">aPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">updateCb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#queryrequest-1">queryRequest</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">requestId</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#readpluginoptions-1">readPluginOptions</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registeractionhandler-1">registerActionHandler</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">:</span> <a href="ActionHandler.html" class="tsd-signature-type tsd-kind-type-alias">ActionHandler</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">source</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registerautopilotprovider-1">registerAutopilotProvider</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="AutopilotProvider.html" class="tsd-signature-type tsd-kind-interface">AutopilotProvider</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">devices</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registerdeltainputhandler-1">registerDeltaInputHandler</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">handler</span><span class="tsd-signature-symbol">:</span> <a href="DeltaInputHandler.html" class="tsd-signature-type tsd-kind-type-alias">DeltaInputHandler</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registerhistoryapiprovider-1">registerHistoryApiProvider</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registerhistoryprovider-1">registerHistoryProvider</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">getHistory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">date</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date" class="tsd-signature-type external" target="_blank">Date</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">deltas</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">hasAnydata</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">hasResults</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">streamHistory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">spark</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">onDelta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">delta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registerputhandler-1">registerPutHandler</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">:</span> <a href="ActionHandler.html" class="tsd-signature-type tsd-kind-type-alias">ActionHandler</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">source</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#registerresourceprovider-1">registerResourceProvider</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="ResourceProvider.html" class="tsd-signature-type tsd-kind-interface">ResourceProvider</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#reportoutputmessages-1">reportOutputMessages</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">count</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#savepluginoptions-1">savePluginOptions</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">configuration</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">err</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ErrnoException</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#setdefaultmetadata-1">setDefaultMetadata</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <a href="MetaValue.html" class="tsd-signature-type tsd-kind-interface">MetaValue</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#setdestination-1">setDestination</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">dest</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> (PointDestination & { arrivalCircle?: number | undefined; })<br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#setpluginerror-1">setPluginError</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#setpluginstatus-1">setPluginStatus</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#unregisterhistoryapiprovider-1">unregisterHistoryApiProvider</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="2499"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="PropertyValuesEmitter.html" class="tsd-signature-type tsd-kind-interface">PropertyValuesEmitter</a></li><li class="tsd-hierarchy-item"><a href="ResourceProviderRegistry.html" class="tsd-signature-type tsd-kind-interface">ResourceProviderRegistry</a></li><li class="tsd-hierarchy-item"><a href="WithResourcesApi.html" class="tsd-signature-type tsd-kind-interface">WithResourcesApi</a></li><li class="tsd-hierarchy-item"><a href="WeatherProviderRegistry.html" class="tsd-signature-type tsd-kind-interface">WeatherProviderRegistry</a></li><li class="tsd-hierarchy-item"><a href="radar/RadarProviderRegistry.html" class="tsd-signature-type tsd-kind-interface">RadarProviderRegistry</a></li><li class="tsd-hierarchy-item"><a href="radar/WithRadarApi.html" class="tsd-signature-type tsd-kind-type-alias">WithRadarApi</a></li><li class="tsd-hierarchy-item"><a href="history/WithHistoryApi.html" class="tsd-signature-type tsd-kind-type-alias">WithHistoryApi</a></li><li class="tsd-hierarchy-item"><a href="history/HistoryProviderRegistry.html" class="tsd-signature-type tsd-kind-type-alias">HistoryProviderRegistry</a></li><li class="tsd-hierarchy-item"><a href="CourseApi.html" class="tsd-signature-type tsd-kind-interface">CourseApi</a></li><li class="tsd-hierarchy-item"><a href="WithNotificationsApi.html" class="tsd-signature-type tsd-kind-interface">WithNotificationsApi</a></li><li class="tsd-hierarchy-item"><a href="SelfIdentity.html" class="tsd-signature-type tsd-kind-interface">SelfIdentity</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ServerAPI</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L34">packages/server-api/src/serverapi.ts:34</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Autopilot API</h3><div class="tsd-index-list"><a href="#autopilotupdate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>autopilot<wbr/>Update</span></a>
<a href="#registerautopilotprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Autopilot<wbr/>Provider</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Configuration</h3><div class="tsd-index-list"><a href="#getdatadirpath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Data<wbr/>Dir<wbr/>Path</span></a>
<a href="#readpluginoptions" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>read<wbr/>Plugin<wbr/>Options</span></a>
<a href="#savepluginoptions" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>save<wbr/>Plugin<wbr/>Options</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Course API</h3><div class="tsd-index-list"><a href="#activateroute" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>activate<wbr/>Route</span></a>
<a href="#cleardestination" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>clear<wbr/>Destination</span></a>
<a href="#getcourse" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Course</span></a>
<a href="#setdestination" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Destination</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Data Model</h3><div class="tsd-index-list"><a href="#streambundle" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>streambundle</span></a>
<a href="#subscriptionmanager" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>subscriptionmanager</span></a>
<a href="#getmetadata" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Metadata</span></a>
<a href="#getpath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Path</span></a>
<a href="#getselfpath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Self<wbr/>Path</span></a>
<a href="#handlemessage" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>handle<wbr/>Message</span></a>
<a href="#putpath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>put<wbr/>Path</span></a>
<a href="#putselfpath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>put<wbr/>Self<wbr/>Path</span></a>
<a href="#registerdeltainputhandler" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Delta<wbr/>Input<wbr/>Handler</span></a>
<a href="#setdefaultmetadata" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Default<wbr/>Metadata</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Other</h3><div class="tsd-index-list"><a href="#notifications" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>notifications</span></a>
<a href="#selfcontext" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>self<wbr/>Context</span></a>
<a href="#selfid" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>self<wbr/>Id</span></a>
<a href="#selftype" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>self<wbr/>Type</span></a>
<a href="#gethistoryapi" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>History<wbr/>Api?</span></a>
<a href="#getradarapi" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Radar<wbr/>Api?</span></a>
<a href="#getfeatures" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Features</span></a>
<a href="#queryrequest" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>query<wbr/>Request</span></a>
<a href="#registeractionhandler" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Action<wbr/>Handler</span></a>
<a href="#registerhistoryapiprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>History<wbr/>Api<wbr/>Provider</span></a>
<a href="#registerhistoryprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>History<wbr/>Provider</span></a>
<a href="#registerputhandler" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Put<wbr/>Handler</span></a>
<a href="#unregisterhistoryapiprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>unregister<wbr/>History<wbr/>Api<wbr/>Provider</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Property Values</h3><div class="tsd-index-list"><a href="#emitpropertyvalue" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>emit<wbr/>Property<wbr/>Value</span></a>
<a href="#onpropertyvalues" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>on<wbr/>Property<wbr/>Values</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Radar API</h3><div class="tsd-index-list"><a href="#radarapi" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>radar<wbr/>Api</span></a>
<a href="#registerradarprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>register<wbr/>Radar<wbr/>Provider</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Resources API</h3><div class="tsd-index-list"><a href="#resourcesapi" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>resources<wbr/>Api</span></a>
<a href="#registerresourceprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Resource<wbr/>Provider</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Serial Ports</h3><div class="tsd-index-list"><a href="#getserialports" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Serial<wbr/>Ports</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Status and Debugging</h3><div class="tsd-index-list"><a href="#debug" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>debug</span></a>
<a href="#error" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>error</span></a>
<a href="#reportoutputmessages" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>report<wbr/>Output<wbr/>Messages</span></a>
<a href="#setpluginerror" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Plugin<wbr/>Error</span></a>
<a href="#setpluginstatus" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Plugin<wbr/>Status</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Weather API</h3><div class="tsd-index-list"><a href="#registerweatherprovider" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>register<wbr/>Weather<wbr/>Provider</span></a>
<a href="#weatherapi" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>weather<wbr/>Api</span></a>
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Autopilot API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Autopilot API</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="autopilotupdate"><span>autopilot<wbr/>Update</span><a href="#autopilotupdate" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="autopilotupdate-1"><span class="tsd-kind-call-signature">autopilotUpdate</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">deviceId</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">apInfo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-signature-symbol">[</span><span class="tsd-kind-index-signature">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]:</span> <a href="Value.html" class="tsd-signature-type tsd-kind-type-alias">Value</a> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#autopilotupdate-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">deviceId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>the autopilot device identifier</p>
</div></li><li><span><span class="tsd-kind-parameter">apInfo</span>: <span class="tsd-signature-symbol">{</span> <span class="tsd-signature-symbol">[</span><span class="tsd-kind-index-signature">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]:</span> <a href="Value.html" class="tsd-signature-type tsd-kind-type-alias">Value</a> <span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>object containing values keyed by <a href="AutopilotInfo.html" class="tsd-kind-interface">AutopilotInfo</a></p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from AutopilotProviderRegistry.autopilotUpdate</p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/autopilotapi.ts#L478">packages/server-api/src/autopilotapi.ts:478</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerautopilotprovider"><span>register<wbr/>Autopilot<wbr/>Provider</span><a href="#registerautopilotprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registerautopilotprovider-1"><span class="tsd-kind-call-signature">registerAutopilotProvider</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="AutopilotProvider.html" class="tsd-signature-type tsd-kind-interface">AutopilotProvider</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">devices</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registerautopilotprovider-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">provider</span>: <a href="AutopilotProvider.html" class="tsd-signature-type tsd-kind-interface">AutopilotProvider</a></span></li><li><span><span class="tsd-kind-parameter">devices</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from AutopilotProviderRegistry.registerAutopilotProvider</p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/autopilotapi.ts#L468">packages/server-api/src/autopilotapi.ts:468</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Configuration"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Configuration</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getdatadirpath"><span>get<wbr/>Data<wbr/>Dir<wbr/>Path</span><a href="#getdatadirpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getdatadirpath-1"><span class="tsd-kind-call-signature">getDataDirPath</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><a href="#getdatadirpath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the full path of the directory where the plugin can persist its internal data, e.g. data files, etc.
Callable in plugin's <code>start()</code> function and later, not in plugin constructor function.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">let</span><span class="hl-0"> myDataFile </span><span class="hl-1">=</span><span class="hl-0"> </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">'path'</span><span class="hl-0">).</span><span class="hl-7">join</span><span class="hl-0">( app.</span><span class="hl-7">getDataDirPath</span><span class="hl-0">(), </span><span class="hl-4">'somedatafile.ext'</span><span class="hl-0">)</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L340">packages/server-api/src/serverapi.ts:340</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="readpluginoptions"><span>read<wbr/>Plugin<wbr/>Options</span><a href="#readpluginoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="readpluginoptions-1"><span class="tsd-kind-call-signature">readPluginOptions</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><a href="#readpluginoptions-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Read the stored plugin configuration options.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">object</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-1">Example<a href="#example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">let</span><span class="hl-0"> options </span><span class="hl-1">=</span><span class="hl-0"> app.</span><span class="hl-7">readPluginOptions</span><span class="hl-0">();</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L328">packages/server-api/src/serverapi.ts:328</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="savepluginoptions"><span>save<wbr/>Plugin<wbr/>Options</span><a href="#savepluginoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="savepluginoptions-1"><span class="tsd-kind-call-signature">savePluginOptions</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">configuration</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">err</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ErrnoException</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#savepluginoptions-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Save changes to the plugin's configuration options.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">configuration</span>: <span class="tsd-signature-type">object</span></span></li><li><span><span class="tsd-kind-parameter">cb</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">err</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ErrnoException</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-2">Example<a href="#example-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">let</span><span class="hl-0"> options </span><span class="hl-1">=</span><span class="hl-0"> {</span><br/><span class="hl-0"> myConfigValue </span><span class="hl-1">=</span><span class="hl-0"> </span><span class="hl-4">'Something the plugin calculated'</span><br/><span class="hl-0">};</span><br/><br/><span class="hl-0">app.</span><span class="hl-7">savePluginOptions</span><span class="hl-0">(options, () </span><span class="hl-1">=></span><span class="hl-0"> {app.</span><span class="hl-7">debug</span><span class="hl-0">(</span><span class="hl-4">'Plugin options saved'</span><span class="hl-0">)});</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L313">packages/server-api/src/serverapi.ts:313</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Course API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Course API</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="activateroute"><span>activate<wbr/>Route</span><a href="#activateroute" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="activateroute-1"><span class="tsd-kind-call-signature">activateRoute</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">dest</span><span class="tsd-signature-symbol">:</span> <a href="RouteDestination.html" class="tsd-signature-type tsd-kind-interface">RouteDestination</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#activateroute-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Follow a route in the specified direction and starting at the specified point.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">dest</span>: <a href="RouteDestination.html" class="tsd-signature-type tsd-kind-interface">RouteDestination</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span></span><div class="tsd-comment tsd-typography"><p>Object containing route information.</p>
<ul>
<li>returns: Resolved Promise on success.</li>
</ul>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><p>Inherited from <a href="CourseApi.html">CourseApi</a>.<a href="CourseApi.html#activateroute">activateRoute</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/course.ts#L43">packages/server-api/src/course.ts:43</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="cleardestination"><span>clear<wbr/>Destination</span><a href="#cleardestination" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="cleardestination-1"><span class="tsd-kind-call-signature">clearDestination</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#cleardestination-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Cancels navigation to the current point or route being followed.</p>
</div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><p>Inherited from <a href="CourseApi.html">CourseApi</a>.<a href="CourseApi.html#cleardestination">clearDestination</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/course.ts#L20">packages/server-api/src/course.ts:20</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getcourse"><span>get<wbr/>Course</span><a href="#getcourse" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getcourse-1"><span class="tsd-kind-call-signature">getCourse</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="CourseInfo.html" class="tsd-signature-type tsd-kind-interface">CourseInfo</a><span class="tsd-signature-symbol">></span><a href="#getcourse-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Retrieves the current course information.</p>
</div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="CourseInfo.html" class="tsd-signature-type tsd-kind-interface">CourseInfo</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><p>Inherited from <a href="CourseApi.html">CourseApi</a>.<a href="CourseApi.html#getcourse">getCourse</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/course.ts#L13">packages/server-api/src/course.ts:13</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="setdestination"><span>set<wbr/>Destination</span><a href="#setdestination" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="setdestination-1"><span class="tsd-kind-call-signature">setDestination</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">dest</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> (PointDestination & { arrivalCircle?: number | undefined; })<br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><a href="#setdestination-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Set course to a specified position / waypoint.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">dest</span>: (PointDestination & { arrivalCircle?: number | undefined; }) <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span></span><div class="tsd-comment tsd-typography"><p>Object containing destination position information.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><p>Inherited from <a href="CourseApi.html">CourseApi</a>.<a href="CourseApi.html#setdestination">setDestination</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/course.ts#L30">packages/server-api/src/course.ts:30</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Data Model"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Data Model</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="streambundle"><span>streambundle</span><a href="#streambundle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">streambundle</span><span class="tsd-signature-symbol">:</span> <a href="StreamBundle.html" class="tsd-signature-type tsd-kind-interface">StreamBundle</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L159">packages/server-api/src/serverapi.ts:159</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="subscriptionmanager"><span>subscriptionmanager</span><a href="#subscriptionmanager" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">subscriptionmanager</span><span class="tsd-signature-symbol">:</span> <a href="SubscriptionManager.html" class="tsd-signature-type tsd-kind-interface">SubscriptionManager</a></div><div class="tsd-comment tsd-typography"><div class="tsd-tag-see"><h4 class="tsd-anchor-link" id="see">See<a href="#see" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><a href="../../Developing/Plugins/Processing_Data.html#subscribing-to-deltas">Processing data from the server</a></p>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L165">packages/server-api/src/serverapi.ts:165</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getmetadata"><span>get<wbr/>Metadata</span><a href="#getmetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getmetadata-1"><span class="tsd-kind-call-signature">getMetadata</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="Metadata.html" class="tsd-signature-type tsd-kind-interface">Metadata</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><a href="#getmetadata-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Metadata.html" class="tsd-signature-type tsd-kind-interface">Metadata</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L102">packages/server-api/src/serverapi.ts:102</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getpath"><span>get<wbr/>Path</span><a href="#getpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getpath-1"><span class="tsd-kind-call-signature">getPath</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><a href="#getpath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the entry for the provided path starting from the <code>root</code> of the full data model.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">unknown</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-remarks"><h4 class="tsd-anchor-link" id="remarks">Remarks<a href="#remarks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Returns <code>unknown</code> because the Signal K data model is dynamic and path-dependent.
Callers should validate the returned type at runtime.</p>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-3">Example<a href="#example-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">let</span><span class="hl-0"> baseStations </span><span class="hl-1">=</span><span class="hl-0"> app.</span><span class="hl-7">getPath</span><span class="hl-0">(</span><span class="hl-4">'shore.basestations'</span><span class="hl-0">);</span><br/><br/><span class="hl-6">// baseStations:</span><br/><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-4">'urn:mrn:imo:mmsi:2766140'</span><span class="hl-0">: {</span><br/><span class="hl-0"> url: </span><span class="hl-4">'basestations'</span><span class="hl-0">,</span><br/><span class="hl-0"> navigation: { position: {latitude: </span><span class="hl-2">45.2</span><span class="hl-0">, longitude: </span><span class="hl-2">76.4</span><span class="hl-0">} },</span><br/><span class="hl-0"> mmsi: </span><span class="hl-4">'2766140'</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-4">'urn:mrn:imo:mmsi:2766160'</span><span class="hl-0">: {</span><br/><span class="hl-0"> url: </span><span class="hl-4">'basestations'</span><span class="hl-0">,</span><br/><span class="hl-0"> navigation: { position: {latitude: </span><span class="hl-2">46.9</span><span class="hl-0">, longitude: </span><span class="hl-2">72.22</span><span class="hl-0">} },</span><br/><span class="hl-0"> mmsi: </span><span class="hl-4">'2766160'</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">}</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L97">packages/server-api/src/serverapi.ts:97</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getselfpath"><span>get<wbr/>Self<wbr/>Path</span><a href="#getselfpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getselfpath-1"><span class="tsd-kind-call-signature">getSelfPath</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><a href="#getselfpath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the entry for the provided path starting from <code>vessels.self</code> in the full data model.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">unknown</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-remarks"><h4 class="tsd-anchor-link" id="remarks-1">Remarks<a href="#remarks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Returns <code>unknown</code> because the Signal K data model is dynamic and path-dependent.
Callers should validate the returned type at runtime.</p>
</div><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-4">Example<a href="#example-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="ts"><span class="hl-1">let</span><span class="hl-0"> uuid </span><span class="hl-1">=</span><span class="hl-0"> app.</span><span class="hl-7">getSelfPath</span><span class="hl-0">(</span><span class="hl-4">'uuid'</span><span class="hl-0">);</span><br/><span class="hl-6">// Note: This is synonymous with app.getPath('vessels.self.uuid')</span><br/><br/><span class="hl-0">app.</span><span class="hl-7">debug</span><span class="hl-0">(uuid);</span><br/><span class="hl-6">// urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L67">packages/server-api/src/serverapi.ts:67</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="handlemessage"><span>handle<wbr/>Message</span><a href="#handlemessage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="handlemessage-1"><span class="tsd-kind-call-signature">handleMessage</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">id</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol"><</span><a href="Delta.html" class="tsd-signature-type tsd-kind-interface">Delta</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">skVersion</span><span class="tsd-signature-symbol">?:</span> <a href="SKVersion.html" class="tsd-signature-type tsd-kind-enum">SKVersion</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#handlemessage-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Emit a delta message.</p>
<p><em>Note: These deltas are handled by the server in the same way as any other incoming deltas.</em></p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">id</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">msg</span>: <a href="https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype" class="tsd-signature-type external" target="_blank">Partial</a><span class="tsd-signature-symbol"><</span><a href="Delta.html" class="tsd-signature-type tsd-kind-interface">Delta</a><span class="tsd-signature-symbol">></span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">skVersion</span>: <a href="SKVersion.html" class="tsd-signature-type tsd-kind-enum">SKVersion</a></span><div class="tsd-comment tsd-typography"><p>Optional parameter to specify the Signal K version of the delta.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-5">Example<a href="#example-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-0">app.</span><span class="hl-7">handleMessage</span><span class="hl-0">(</span><span class="hl-4">'my-signalk-plugin'</span><span class="hl-0">, {</span><br/><span class="hl-0"> updates: [</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> values: [</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> path: </span><span class="hl-4">'navigation.courseOverGroundTrue'</span><span class="hl-0">,</span><br/><span class="hl-0"> value: </span><span class="hl-2">1.0476934</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> ]</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> ]</span><br/><span class="hl-0">});</span>
</code><button type="button">Copy</button></pre>
<p>Plugins emitting deltas that use Signal K v2 paths (like the <a href="http://localhost:3000/admin/openapi/?urls.primaryName=course">Course API</a> paths) should call <code>handleMessage</code> with the optional <code>skVersion</code> parameter set to <code>v2</code>. This prevents v2 API data getting mixed in v1 paths' data in full data model & the v1 http API.</p>
<p>Omitting the <code>skVersion</code> parameter will cause the delta to be sent as <code>v1</code>.</p>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L297">packages/server-api/src/serverapi.ts:297</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="putpath"><span>put<wbr/>Path</span><a href="#putpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="putpath-1"><span class="tsd-kind-call-signature">putPath</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">aPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">updateCb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">err</span><span class="tsd-signature-symbol">?:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">source</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><a href="#putpath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Call the PUT handler for a path with a specified context.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">aPath</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The path for the PUT request</p>
</div></li><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">boolean</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">object</span></span><div class="tsd-comment tsd-typography"><p>The value to send in the PUT request</p>
</div></li><li><span><span class="tsd-kind-parameter">updateCb</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">err</span><span class="tsd-signature-symbol">?:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error" class="tsd-signature-type external" target="_blank">Error</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></span><div class="tsd-comment tsd-typography"><p>Callback invoked when the update completes, with error if failed</p>
</div></li><li><span><span class="tsd-kind-parameter">source</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The source identifier for this update</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L149">packages/server-api/src/serverapi.ts:149</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="putselfpath"><span>put<wbr/>Self<wbr/>Path</span><a href="#putselfpath" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="putselfpath-1"><span class="tsd-kind-call-signature">putSelfPath</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">aPath</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">updateCb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><a href="#putselfpath-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Call the PUT handler for a path on the vessel's own context.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">aPath</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The path for the PUT request</p>
</div></li><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">unknown</span></span><div class="tsd-comment tsd-typography"><p>The value to send in the PUT request</p>
</div></li><li><span><span class="tsd-kind-parameter">updateCb</span>: <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></span><div class="tsd-comment tsd-typography"><p>Callback invoked when the update completes</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L135">packages/server-api/src/serverapi.ts:135</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerdeltainputhandler"><span>register<wbr/>Delta<wbr/>Input<wbr/>Handler</span><a href="#registerdeltainputhandler" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registerdeltainputhandler-1"><span class="tsd-kind-call-signature">registerDeltaInputHandler</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">handler</span><span class="tsd-signature-symbol">:</span> <a href="DeltaInputHandler.html" class="tsd-signature-type tsd-kind-type-alias">DeltaInputHandler</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registerdeltainputhandler-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Register a function to intercept all delta messages <em>before</em> they are processed by the server.</p>
<p>The callback function should call <code>next(delta)</code> with either:</p>
<ul>
<li>A modified delta (if it wants to alter the incoming delta)</li>
<li>With the original delta to process it normally.</li>
</ul>
<div class="tsd-alert tsd-alert-important"><div class="tsd-alert-title"><svg width="16" height="16" viewBox="0 0 16 16" aria-hidden="true"><use href="../../assets/icons.svg#icon-alertImportant"></use></svg><span>Important</span></div><p>
Not calling <code>next(delta)</code> will cause the incoming delta to be dropped and will only show in delta statistics.</p>
</div>
<p>Other, non-delta messages produced by provider pipe elements are emitted normally.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">handler</span>: <a href="DeltaInputHandler.html" class="tsd-signature-type tsd-kind-type-alias">DeltaInputHandler</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-6">Example<a href="#example-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-0">app.</span><span class="hl-7">registerDeltaInputHandler</span><span class="hl-0">((</span><span class="hl-5">delta</span><span class="hl-0">, </span><span class="hl-5">next</span><span class="hl-0">) </span><span class="hl-1">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> delta.updates.</span><span class="hl-7">forEach</span><span class="hl-0">(</span><span class="hl-5">update</span><span class="hl-0"> </span><span class="hl-1">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> update.values.</span><span class="hl-7">forEach</span><span class="hl-0">(</span><span class="hl-5">pathValue</span><span class="hl-0"> </span><span class="hl-1">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0">(pathValue.</span><span class="hl-7">startsWith</span><span class="hl-0">(</span><span class="hl-4">"foo"</span><span class="hl-0">)) {</span><br/><span class="hl-0"> pathValue.path </span><span class="hl-1">=</span><span class="hl-0"> </span><span class="hl-4">"bar"</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> })</span><br/><span class="hl-0"> })</span><br/><span class="hl-0"> </span><span class="hl-7">next</span><span class="hl-0">(delta)</span><br/><span class="hl-0">});</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L233">packages/server-api/src/serverapi.ts:233</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="setdefaultmetadata"><span>set<wbr/>Default<wbr/>Metadata</span><a href="#setdefaultmetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="setdefaultmetadata-1"><span class="tsd-kind-call-signature">setDefaultMetadata</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <a href="MetaValue.html" class="tsd-signature-type tsd-kind-interface">MetaValue</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span><a href="#setdefaultmetadata-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Suggest default metadata for a path. The server persists this metadata
only for fields not already set by the user in baseDeltas.json.</p>
<p>Use this to provide sensible defaults (e.g., displayUnits) for paths
your plugin publishes, without overwriting user choices.</p>
<p>Idempotent: on subsequent server starts, fields already persisted
from a previous call will not be overwritten.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Signal K path (e.g., 'electrical.batteries.house.energy')</p>
</div></li><li><span><span class="tsd-kind-parameter">value</span>: <a href="MetaValue.html" class="tsd-signature-type tsd-kind-interface">MetaValue</a></span><div class="tsd-comment tsd-typography"><p>Metadata fields to suggest</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span></h4><p>true if any new fields were applied, false if all fields already existed</p>
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-7">Example<a href="#example-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-1">await</span><span class="hl-0"> app.</span><span class="hl-7">setDefaultMetadata</span><span class="hl-0">(</span><span class="hl-4">'electrical.batteries.house.energy'</span><span class="hl-0">, {</span><br/><span class="hl-0"> displayUnits: { category: </span><span class="hl-4">'energy'</span><span class="hl-0">, targetUnit: </span><span class="hl-4">'Wh'</span><span class="hl-0"> }</span><br/><span class="hl-0">})</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L126">packages/server-api/src/serverapi.ts:126</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Other"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Other</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="notifications"><span>notifications</span><a href="#notifications" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">notifications</span><span class="tsd-signature-symbol">:</span> <a href="NotificationsApi.html" class="tsd-signature-type tsd-kind-interface">NotificationsApi</a></div><aside class="tsd-sources"><p>Inherited from <a href="WithNotificationsApi.html">WithNotificationsApi</a>.<a href="WithNotificationsApi.html#notifications">notifications</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/notificationsapi.ts#L221">packages/server-api/src/notificationsapi.ts:221</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selfcontext"><span>self<wbr/>Context</span><a href="#selfcontext" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">selfContext</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="SelfIdentity.html">SelfIdentity</a>.<a href="SelfIdentity.html#selfcontext">selfContext</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L514">packages/server-api/src/serverapi.ts:514</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selfid"><span>self<wbr/>Id</span><a href="#selfid" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">selfId</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="SelfIdentity.html">SelfIdentity</a>.<a href="SelfIdentity.html#selfid">selfId</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L513">packages/server-api/src/serverapi.ts:513</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selftype"><span>self<wbr/>Type</span><a href="#selftype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">selfType</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><p>Inherited from <a href="SelfIdentity.html">SelfIdentity</a>.<a href="SelfIdentity.html#selftype">selfType</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L512">packages/server-api/src/serverapi.ts:512</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="gethistoryapi"><code class="tsd-tag">Optional</code><span>get<wbr/>History<wbr/>Api</span><a href="#gethistoryapi" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">getHistoryApi</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">providerId</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a><span class="tsd-signature-symbol">></span></div><div class="tsd-comment tsd-typography"><p>Returns a promise for a History API implementation, or rejects if unavailable.
The property is optional to support explicitly older servers that do not have a history api provider.</p>
<p>When called without arguments, returns a proxy to the default provider.
When called with a provider id, returns that specific provider's HistoryApi instance.</p>
</div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">providerId</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a><span class="tsd-signature-symbol">></span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">providerId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>Optional id of a specific history provider plugin. If omitted, returns the default provider.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a><span class="tsd-signature-symbol">></span></h4><p>Promise that resolves to a <a href="history/HistoryApi.html" class="tsd-kind-interface">HistoryApi</a> instance if available, or rejects with an error if not.</p>
</li></ul></li></ul></div><aside class="tsd-sources"><p>Inherited from WithHistoryApi.getHistoryApi</p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/history.ts#L138">packages/server-api/src/history.ts:138</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getradarapi"><code class="tsd-tag">Optional</code><span>get<wbr/>Radar<wbr/>Api</span><a href="#getradarapi" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">getRadarApi</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="radar/RadarApi.html" class="tsd-signature-type tsd-kind-interface">RadarApi</a><span class="tsd-signature-symbol">></span></div><div class="tsd-comment tsd-typography"><p>Returns a promise for the active Radar API implementation, or rejects if unavailable.
The property is optional to support older servers that do not have radar API support.</p>
</div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature"><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="radar/RadarApi.html" class="tsd-signature-type tsd-kind-interface">RadarApi</a><span class="tsd-signature-symbol">></span></li><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="radar/RadarApi.html" class="tsd-signature-type tsd-kind-interface">RadarApi</a><span class="tsd-signature-symbol">></span></h4><p>Promise that resolves to a <a href="radar/RadarApi.html" class="tsd-kind-interface">RadarApi</a> instance if available, or rejects with an error if not.</p>
</li></ul></li></ul></div><aside class="tsd-sources"><p>Inherited from WithRadarApi.getRadarApi</p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/radarapi.ts#L788">packages/server-api/src/radarapi.ts:788</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getfeatures"><span>get<wbr/>Features</span><a href="#getfeatures" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getfeatures-1"><span class="tsd-kind-call-signature">getFeatures</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">onlyEnabled</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="FeatureInfo.html" class="tsd-signature-type tsd-kind-interface">FeatureInfo</a><span class="tsd-signature-symbol">></span><a href="#getfeatures-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the available APIs and Plugins.</p>
<p><em>Example:</em></p>
<pre><code class="javascript"><span class="hl-1">let</span><span class="hl-0"> features </span><span class="hl-1">=</span><span class="hl-0"> app.</span><span class="hl-7">getFeatures</span><span class="hl-0">();</span><br/><br/><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-4">"apis"</span><span class="hl-0">: [</span><br/><span class="hl-0"> </span><span class="hl-4">"resources"</span><span class="hl-0">,</span><span class="hl-4">"course"</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-4">"plugins"</span><span class="hl-0">: [</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-4">"id"</span><span class="hl-0">: </span><span class="hl-4">"anchoralarm"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"name"</span><span class="hl-0">: </span><span class="hl-4">"Anchor Alarm"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"version"</span><span class="hl-0">: </span><span class="hl-4">"1.13.0"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"enabled"</span><span class="hl-0">: </span><span class="hl-2">true</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-4">"id"</span><span class="hl-0">: </span><span class="hl-4">"autopilot"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"name"</span><span class="hl-0">: </span><span class="hl-4">"Autopilot Control"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"version"</span><span class="hl-0">: </span><span class="hl-4">"1.4.0"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"enabled"</span><span class="hl-0">: </span><span class="hl-2">false</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-4">"id"</span><span class="hl-0">: </span><span class="hl-4">"sk-to-nmea2000"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"name"</span><span class="hl-0">: </span><span class="hl-4">"Signal K to NMEA 2000"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"version"</span><span class="hl-0">: </span><span class="hl-4">"2.17.0"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"enabled"</span><span class="hl-0">: </span><span class="hl-2">false</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-4">"id"</span><span class="hl-0">: </span><span class="hl-4">"udp-nmea-sender"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"name"</span><span class="hl-0">: </span><span class="hl-4">"UDP NMEA0183 Sender"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"version"</span><span class="hl-0">: </span><span class="hl-4">"2.0.0"</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-4">"enabled"</span><span class="hl-0">: </span><span class="hl-2">false</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> ]</span><br/><span class="hl-0">}</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">onlyEnabled</span>: <span class="tsd-signature-type">boolean</span></span><div class="tsd-comment tsd-typography"><p><code>undefined</code> (not provided): list all features</p>
<ul>
<li><code>true</code>: list only enabled features</li>
<li><code>false</code>: list only disabled features</li>
</ul>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="FeatureInfo.html" class="tsd-signature-type tsd-kind-interface">FeatureInfo</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><p>Inherited from WithFeatures.getFeatures</p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/features.ts#L50">packages/server-api/src/features.ts:50</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="queryrequest"><span>query<wbr/>Request</span><a href="#queryrequest" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="queryrequest-1"><span class="tsd-kind-call-signature">queryRequest</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">requestId</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><a href="#queryrequest-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Query the status of an async request by its ID.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">requestId</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The request ID to query</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h4><p>Promise resolving to the request status/result</p>
<aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L172">packages/server-api/src/serverapi.ts:172</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registeractionhandler"><span>register<wbr/>Action<wbr/>Handler</span><a href="#registeractionhandler" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registeractionhandler-1"><span class="tsd-kind-call-signature">registerActionHandler</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">:</span> <a href="ActionHandler.html" class="tsd-signature-type tsd-kind-type-alias">ActionHandler</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">source</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registeractionhandler-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">context</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">callback</span>: <a href="ActionHandler.html" class="tsd-signature-type tsd-kind-type-alias">ActionHandler</a></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">source</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L437">packages/server-api/src/serverapi.ts:437</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerhistoryapiprovider"><span>register<wbr/>History<wbr/>Api<wbr/>Provider</span><a href="#registerhistoryapiprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registerhistoryapiprovider-1"><span class="tsd-kind-call-signature">registerHistoryApiProvider</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registerhistoryapiprovider-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">provider</span>: <a href="history/HistoryApi.html" class="tsd-signature-type tsd-kind-interface">HistoryApi</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from <a href="history/HistoryProviderRegistry.html">HistoryProviderRegistry</a>.<a href="history/HistoryProviderRegistry.html#registerhistoryapiprovider">registerHistoryApiProvider</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/history.ts#L117">packages/server-api/src/history.ts:117</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerhistoryprovider"><span>register<wbr/>History<wbr/>Provider</span><a href="#registerhistoryprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registerhistoryprovider-1"><span class="tsd-kind-call-signature">registerHistoryProvider</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">getHistory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">date</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date" class="tsd-signature-type external" target="_blank">Date</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">deltas</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">hasAnydata</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">hasResults</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">streamHistory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">spark</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">onDelta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">delta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registerhistoryprovider-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">provider</span>: <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">getHistory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">date</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date" class="tsd-signature-type external" target="_blank">Date</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">deltas</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">hasAnydata</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">hasResults</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">streamHistory</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">spark</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">onDelta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">delta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></span><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">getHistory</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">date</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date" class="tsd-signature-type external" target="_blank">Date</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">deltas</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">hasAnydata</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">hasResults</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">streamHistory</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">spark</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">onDelta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">delta</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></h5></li></ul></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L444">packages/server-api/src/serverapi.ts:444</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerputhandler"><span>register<wbr/>Put<wbr/>Handler</span><a href="#registerputhandler" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registerputhandler-1"><span class="tsd-kind-call-signature">registerPutHandler</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">context</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">callback</span><span class="tsd-signature-symbol">:</span> <a href="ActionHandler.html" class="tsd-signature-type tsd-kind-type-alias">ActionHandler</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">source</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registerputhandler-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Register a handler to action <a href="http://signalk.org/specification/1.3.0/doc/put.html"><code>PUT</code></a> requests for a specific path.</p>
<p>The action handler can handle the request synchronously or asynchronously.</p>
<p>The <code>callback</code> parameter should be a function which accepts the following arguments:</p>
<ul>
<li><code>context</code></li>
<li><code>path</code></li>
<li><code>value</code></li>
<li><code>callback</code></li>
</ul>
<p>For synchronous actions, the handler must return a value describing the response of the request:</p>
<pre><code class="javascript"><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-5">state</span><span class="hl-0">: </span><span class="hl-4">'COMPLETED'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-5">statusCode</span><span class="hl-0">: </span><span class="hl-2">200</span><br/><span class="hl-0">}</span>
</code><button type="button">Copy</button></pre>
<p>or</p>
<pre><code class="javascript"><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-5">state</span><span class="hl-0">:</span><span class="hl-4">'COMPLETED'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-5">statusCode</span><span class="hl-0">: </span><span class="hl-2">400</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-5">message</span><span class="hl-0">:</span><span class="hl-4">'Some Error Message'</span><br/><span class="hl-0">}</span>
</code><button type="button">Copy</button></pre>
<p>The <code>statusCode</code> value can be any valid HTTP response code.</p>
<p>For asynchronous actions, that may take considerable time to complete and the requester should not be kept waiting for the result, the handler must return:</p>
<pre><code class="javascript"><span class="hl-0">{ </span><span class="hl-5">state</span><span class="hl-0">: </span><span class="hl-4">'PENDING'</span><span class="hl-0"> }</span>
</code><button type="button">Copy</button></pre>
<p>When the action has completed the handler should call the <code>callback</code> function with the result:</p>
<pre><code class="javascript"><span class="hl-7">callback</span><span class="hl-0">({ state: </span><span class="hl-4">'COMPLETED'</span><span class="hl-0">, statusCode: </span><span class="hl-2">200</span><span class="hl-0"> })</span>
</code><button type="button">Copy</button></pre>
<p>or</p>
<pre><code class="javascript"><span class="hl-7">callback</span><span class="hl-0">({</span><br/><span class="hl-0"> state:</span><span class="hl-4">'COMPLETED'</span><span class="hl-0">,</span><br/><span class="hl-0"> statusCode: </span><span class="hl-2">400</span><span class="hl-0">,</span><br/><span class="hl-0"> message:</span><span class="hl-4">'Some Error Message'</span><br/><span class="hl-0">})</span>
</code><button type="button">Copy</button></pre>
<p><em>Example: Synchronous response:</em></p>
<pre><code class="javascript"><span class="hl-1">function</span><span class="hl-0"> </span><span class="hl-7">myActionHandler</span><span class="hl-0">(</span><span class="hl-5">context</span><span class="hl-0">, </span><span class="hl-5">path</span><span class="hl-0">, </span><span class="hl-5">value</span><span class="hl-0">, </span><span class="hl-5">callback</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0">(</span><span class="hl-7">doSomething</span><span class="hl-0">(context, path, value)){</span><br/><span class="hl-0"> </span><span class="hl-1">return</span><span class="hl-0"> { state: </span><span class="hl-4">'COMPLETED'</span><span class="hl-0">, statusCode: </span><span class="hl-2">200</span><span class="hl-0"> };</span><br/><span class="hl-0"> } </span><span class="hl-1">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">return</span><span class="hl-0"> { state: </span><span class="hl-4">'COMPLETED'</span><span class="hl-0">, statusCode: </span><span class="hl-2">400</span><span class="hl-0"> };</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-0">plugin.</span><span class="hl-7">start</span><span class="hl-0"> </span><span class="hl-1">=</span><span class="hl-0"> (</span><span class="hl-5">options</span><span class="hl-0">) </span><span class="hl-1">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> app.</span><span class="hl-7">registerPutHandler</span><span class="hl-0">(</span><span class="hl-4">'vessels.self'</span><span class="hl-0">, </span><span class="hl-4">'some.path'</span><span class="hl-0">, myActionHandler, </span><span class="hl-4">'somesource.1'</span><span class="hl-0">);</span><br/><span class="hl-0">}</span>
</code><button type="button">Copy</button></pre>
<p><em>Example: Asynchronous response:</em></p>
<pre><code class="javascript"><span class="hl-1">function</span><span class="hl-0"> </span><span class="hl-7">myActionHandler</span><span class="hl-0">(</span><span class="hl-5">context</span><span class="hl-0">, </span><span class="hl-5">path</span><span class="hl-0">, </span><span class="hl-5">value</span><span class="hl-0">, </span><span class="hl-5">callback</span><span class="hl-0">) {</span><br/><br/><span class="hl-0"> </span><span class="hl-7">doSomethingAsync</span><span class="hl-0">(context, path, value, (</span><span class="hl-5">result</span><span class="hl-0">) </span><span class="hl-1">=></span><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0">(result) {</span><br/><span class="hl-0"> </span><span class="hl-7">callback</span><span class="hl-0">({ state: </span><span class="hl-4">'COMPLETED'</span><span class="hl-0">, result: </span><span class="hl-2">200</span><span class="hl-0"> })</span><br/><span class="hl-0"> } </span><span class="hl-1">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">callback</span><span class="hl-0">({ state: </span><span class="hl-4">'COMPLETED'</span><span class="hl-0">, result: </span><span class="hl-2">400</span><span class="hl-0"> })</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> });</span><br/><br/><span class="hl-0"> </span><span class="hl-1">return</span><span class="hl-0"> { state: </span><span class="hl-4">'PENDING'</span><span class="hl-0"> };</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-0">plugin.</span><span class="hl-7">start</span><span class="hl-0"> </span><span class="hl-1">=</span><span class="hl-0"> (</span><span class="hl-5">options</span><span class="hl-0">) </span><span class="hl-1">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> app.</span><span class="hl-7">registerPutHandler</span><span class="hl-0">(</span><span class="hl-4">'vessels.self'</span><span class="hl-0">, </span><span class="hl-4">'some.path'</span><span class="hl-0">, myActionHandler);</span><br/><span class="hl-0">}</span>
</code><button type="button">Copy</button></pre>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">context</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">callback</span>: <a href="ActionHandler.html" class="tsd-signature-type tsd-kind-type-alias">ActionHandler</a></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">source</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L430">packages/server-api/src/serverapi.ts:430</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="unregisterhistoryapiprovider"><span>unregister<wbr/>History<wbr/>Api<wbr/>Provider</span><a href="#unregisterhistoryapiprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="unregisterhistoryapiprovider-1"><span class="tsd-kind-call-signature">unregisterHistoryApiProvider</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#unregisterhistoryapiprovider-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from <a href="history/HistoryProviderRegistry.html">HistoryProviderRegistry</a>.<a href="history/HistoryProviderRegistry.html#unregisterhistoryapiprovider">unregisterHistoryApiProvider</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/history.ts#L118">packages/server-api/src/history.ts:118</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Property Values"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Property Values</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="emitpropertyvalue"><span>emit<wbr/>Property<wbr/>Value</span><a href="#emitpropertyvalue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="emitpropertyvalue-1"><span class="tsd-kind-call-signature">emitPropertyValue</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#emitpropertyvalue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Emit a property value that can be received by listeners.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>The property name identifier</p>
</div></li><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">unknown</span></span><div class="tsd-comment tsd-typography"><p>The value to emit (can be any type including functions)</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from <a href="PropertyValuesEmitter.html">PropertyValuesEmitter</a>.<a href="PropertyValuesEmitter.html#emitpropertyvalue">emitPropertyValue</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/propertyvalues.ts#L45">packages/server-api/src/propertyvalues.ts:45</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="onpropertyvalues"><span>on<wbr/>Property<wbr/>Values</span><a href="#onpropertyvalues" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="onpropertyvalues-1"><span class="tsd-kind-call-signature">onPropertyValues</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">cb</span><span class="tsd-signature-symbol">:</span> <a href="PropertyValuesCallback.html" class="tsd-signature-type tsd-kind-type-alias">PropertyValuesCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span><a href="#onpropertyvalues-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">cb</span>: <a href="PropertyValuesCallback.html" class="tsd-signature-type tsd-kind-type-alias">PropertyValuesCallback</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from <a href="PropertyValuesEmitter.html">PropertyValuesEmitter</a>.<a href="PropertyValuesEmitter.html#onpropertyvalues">onPropertyValues</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/propertyvalues.ts#L50">packages/server-api/src/propertyvalues.ts:50</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Radar API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Radar API</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="radarapi"><span>radar<wbr/>Api</span><a href="#radarapi" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">radarApi</span><span class="tsd-signature-symbol">:</span> <a href="radar/RadarApi.html" class="tsd-signature-type tsd-kind-interface">RadarApi</a></div><div class="tsd-comment tsd-typography"><p>Access the Radar API to get radar info and manage radars.</p>
</div><aside class="tsd-sources"><p>Inherited from <a href="radar/RadarProviderRegistry.html">RadarProviderRegistry</a>.<a href="radar/RadarProviderRegistry.html#radarapi">radarApi</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/radarapi.ts#L760">packages/server-api/src/radarapi.ts:760</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerradarprovider"><span>register<wbr/>Radar<wbr/>Provider</span><a href="#registerradarprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">registerRadarProvider</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="radar/RadarProvider.html" class="tsd-signature-type tsd-kind-interface">RadarProvider</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>Register a radar provider plugin.
See Radar Provider Plugins documentation for details.</p>
</div><aside class="tsd-sources"><p>Inherited from <a href="radar/RadarProviderRegistry.html">RadarProviderRegistry</a>.<a href="radar/RadarProviderRegistry.html#registerradarprovider">registerRadarProvider</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/radarapi.ts#L754">packages/server-api/src/radarapi.ts:754</a></li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Resources API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Resources API</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="resourcesapi"><span>resources<wbr/>Api</span><a href="#resourcesapi" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">resourcesApi</span><span class="tsd-signature-symbol">:</span> <a href="ResourcesApi.html" class="tsd-signature-type tsd-kind-interface">ResourcesApi</a></div><div class="tsd-comment tsd-typography"><p>Access the Resources API to list, get, set, and delete resources.</p>
</div><aside class="tsd-sources"><p>Inherited from <a href="ResourceProviderRegistry.html">ResourceProviderRegistry</a>.<a href="ResourceProviderRegistry.html#resourcesapi">resourcesApi</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/resourcesapi.ts#L401">packages/server-api/src/resourcesapi.ts:401</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerresourceprovider"><span>register<wbr/>Resource<wbr/>Provider</span><a href="#registerresourceprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="registerresourceprovider-1"><span class="tsd-kind-call-signature">registerResourceProvider</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="ResourceProvider.html" class="tsd-signature-type tsd-kind-interface">ResourceProvider</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#registerresourceprovider-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Used by <em>Resource Provider plugins</em> to register each resource type it handles.
See <a href="../../Developing/Plugins/Resource_Providers.html#registering-as-a-resource-provider"><code>Resource Provider Plugins</code></a> for details.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">provider</span>: <a href="ResourceProvider.html" class="tsd-signature-type tsd-kind-interface">ResourceProvider</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Inherited from <a href="ResourceProviderRegistry.html">ResourceProviderRegistry</a>.<a href="ResourceProviderRegistry.html#registerresourceprovider">registerResourceProvider</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/resourcesapi.ts#L394">packages/server-api/src/resourcesapi.ts:394</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Serial Ports"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Serial Ports</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getserialports"><span>get<wbr/>Serial<wbr/>Ports</span><a href="#getserialports" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getserialports-1"><span class="tsd-kind-call-signature">getSerialPorts</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="Ports.html" class="tsd-signature-type tsd-kind-interface">Ports</a><span class="tsd-signature-symbol">></span><a href="#getserialports-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns Ports object which contains information about the serial ports available on the machine.</p>
</div><h4 class="tsd-returns-title">Returns <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise" class="tsd-signature-type external" target="_blank">Promise</a><span class="tsd-signature-symbol"><</span><a href="Ports.html" class="tsd-signature-type tsd-kind-interface">Ports</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L464">packages/server-api/src/serverapi.ts:464</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Status and Debugging"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Status and Debugging</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="debug"><span>debug</span><a href="#debug" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">debug</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">enabled</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">args</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span> <span class="tsd-signature-symbol">}</span></div><div class="tsd-comment tsd-typography"><p>Log debug messages.</p>
<p>This function exposes the <code>debug</code> method from the <a href="https://www.npmjs.com/package/debug">debug module</a>.
The npm module name is used as the debug name.</p>
<p><code>app.debug()</code> can take any type and will serialize it before outputting.</p>
<p>Use <code>app.debug.enabled</code> to guard expensive log arguments so they are not
computed when the debug name is disabled:</p>
<pre><code class="ts"><span class="hl-1">if</span><span class="hl-0"> (app.debug.enabled) app.</span><span class="hl-7">debug</span><span class="hl-0">(</span><span class="hl-4">'state: '</span><span class="hl-0"> </span><span class="hl-1">+</span><span class="hl-0"> </span><span class="hl-2">JSON</span><span class="hl-0">.</span><span class="hl-7">stringify</span><span class="hl-0">(big))</span>
</code><button type="button">Copy</button></pre>
<div class="tsd-alert tsd-alert-note"><div class="tsd-alert-title"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true"><use href="../../assets/icons.svg#icon-alertNote"></use></svg><span>Note</span></div><p>
Do not use <code>debug</code> from the debug module directly! Using <code>app.debug()</code> provided by the server ensures that the plugin taps into the server's debug logging system, including the helper switches in Admin UI's Server Log page.</p>
</div>
</div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L199">packages/server-api/src/serverapi.ts:199</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="error"><span>error</span><a href="#error" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="error-1"><span class="tsd-kind-call-signature">error</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#error-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">msg</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L177">packages/server-api/src/serverapi.ts:177</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="reportoutputmessages"><span>report<wbr/>Output<wbr/>Messages</span><a href="#reportoutputmessages" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="reportoutputmessages-1"><span class="tsd-kind-call-signature">reportOutputMessages</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">count</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#reportoutputmessages-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Report to the server that the plugin has sent data to other hosts, which will update the output message rate and
icon in the Dashboard.</p>
<p><em>Note: This function is for use when the plugin is sending data to hosts other than the Signal K server (e.g.
network packets, http requests or messages sent to a broker).</em></p>
<p><em><strong>This function should NOT be used for deltas that the plugin sends with <code>handleMessage()</code>!</strong></em></p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">count</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>number of handled messages between the last
call and this one. If omitted the call will count as one output
message.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-8">Example<a href="#example-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-0">app.</span><span class="hl-7">reportOutputMessages</span><span class="hl-0">(</span><span class="hl-2">54</span><span class="hl-0">);</span>
</code><button type="button">Copy</button></pre>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L486">packages/server-api/src/serverapi.ts:486</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="setpluginerror"><span>set<wbr/>Plugin<wbr/>Error</span><a href="#setpluginerror" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="setpluginerror-1"><span class="tsd-kind-call-signature">setPluginError</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#setpluginerror-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Set the current error status of the plugin that is displayed in the plugin configuration UI and the Dashboard.</p>
<p>The <code>msg</code> parameter should be a short text message describing the current status of the plugin.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">msg</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-9">Example<a href="#example-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-0">app.</span><span class="hl-7">setPluginError</span><span class="hl-0">(</span><span class="hl-4">'Error connecting to database'</span><span class="hl-0">);</span>
</code><button type="button">Copy</button></pre>
<p><em>Note: Replaces deprecated <code>setProviderError()</code></em></p>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L267">packages/server-api/src/serverapi.ts:267</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="setpluginstatus"><span>set<wbr/>Plugin<wbr/>Status</span><a href="#setpluginstatus" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="setpluginstatus-1"><span class="tsd-kind-call-signature">setPluginStatus</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">msg</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#setpluginstatus-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Set the current status of the plugin that is displayed in the plugin configuration UI and the Dashboard.</p>
<p>The <code>msg</code> parameter should be a short text message describing the current status of the plugin.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">msg</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-10">Example<a href="#example-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="javascript"><span class="hl-0">app.</span><span class="hl-7">setPluginStatus</span><span class="hl-0">(</span><span class="hl-4">'Initializing'</span><span class="hl-0">);</span><br/><span class="hl-6">// Do something</span><br/><span class="hl-0">app.</span><span class="hl-7">setPluginStatus</span><span class="hl-0">(</span><span class="hl-4">'Done initializing'</span><span class="hl-0">);</span>
</code><button type="button">Copy</button></pre>
<p><em>Note: Replaces deprecated <code>setProviderStatus()</code></em></p>
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/serverapi.ts#L251">packages/server-api/src/serverapi.ts:251</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Weather API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h2>Weather API</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="registerweatherprovider"><span>register<wbr/>Weather<wbr/>Provider</span><a href="#registerweatherprovider" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">registerWeatherProvider</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">provider</span><span class="tsd-signature-symbol">:</span> <a href="WeatherProvider.html" class="tsd-signature-type tsd-kind-interface">WeatherProvider</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>Used by <em>Weather Provider plugins</em> to register the weather service from which the data is sourced.
See <a href="../../Developing/Plugins/Weather_Providers.html#registering-a-weather-provider"><code>Weather Provider Plugins</code></a> for details.</p>
</div><aside class="tsd-sources"><p>Inherited from <a href="WeatherProviderRegistry.html">WeatherProviderRegistry</a>.<a href="WeatherProviderRegistry.html#registerweatherprovider">registerWeatherProvider</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/weatherapi.ts#L119">packages/server-api/src/weatherapi.ts:119</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="weatherapi"><span>weather<wbr/>Api</span><a href="#weatherapi" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">weatherApi</span><span class="tsd-signature-symbol">:</span> <a href="WeatherApi.html" class="tsd-signature-type tsd-kind-interface">WeatherApi</a></div><div class="tsd-comment tsd-typography"><p>Access the Weather API to get observations, forcasts and warnings.</p>
</div><aside class="tsd-sources"><p>Inherited from <a href="WeatherProviderRegistry.html">WeatherProviderRegistry</a>.<a href="WeatherProviderRegistry.html#weatherapi">weatherApi</a></p><ul><li>Defined in <a href="https://github.com/SignalK/signalk-server/blob/67249e0e0fdcf7f9b0298bfada4cec32ea581a38/packages/server-api/src/weatherapi.ts#L125">packages/server-api/src/weatherapi.ts:125</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Autopilot API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Autopilot API</summary><div><a href="#autopilotupdate"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>autopilot<wbr/>Update</span></a><a href="#registerautopilotprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Autopilot<wbr/>Provider</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Configuration"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Configuration</summary><div><a href="#getdatadirpath"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Data<wbr/>Dir<wbr/>Path</span></a><a href="#readpluginoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>read<wbr/>Plugin<wbr/>Options</span></a><a href="#savepluginoptions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>save<wbr/>Plugin<wbr/>Options</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Course API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Course API</summary><div><a href="#activateroute"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>activate<wbr/>Route</span></a><a href="#cleardestination"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>clear<wbr/>Destination</span></a><a href="#getcourse"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Course</span></a><a href="#setdestination"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Destination</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Data Model"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Data Model</summary><div><a href="#streambundle"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>streambundle</span></a><a href="#subscriptionmanager"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>subscriptionmanager</span></a><a href="#getmetadata"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Metadata</span></a><a href="#getpath"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Path</span></a><a href="#getselfpath"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Self<wbr/>Path</span></a><a href="#handlemessage"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>handle<wbr/>Message</span></a><a href="#putpath"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>put<wbr/>Path</span></a><a href="#putselfpath"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>put<wbr/>Self<wbr/>Path</span></a><a href="#registerdeltainputhandler"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Delta<wbr/>Input<wbr/>Handler</span></a><a href="#setdefaultmetadata"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Default<wbr/>Metadata</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Other"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Other</summary><div><a href="#notifications"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>notifications</span></a><a href="#selfcontext"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>self<wbr/>Context</span></a><a href="#selfid"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>self<wbr/>Id</span></a><a href="#selftype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>self<wbr/>Type</span></a><a href="#gethistoryapi"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>History<wbr/>Api</span></a><a href="#getradarapi"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Radar<wbr/>Api</span></a><a href="#getfeatures"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Features</span></a><a href="#queryrequest"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>query<wbr/>Request</span></a><a href="#registeractionhandler"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Action<wbr/>Handler</span></a><a href="#registerhistoryapiprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>History<wbr/>Api<wbr/>Provider</span></a><a href="#registerhistoryprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>History<wbr/>Provider</span></a><a href="#registerputhandler"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Put<wbr/>Handler</span></a><a href="#unregisterhistoryapiprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>unregister<wbr/>History<wbr/>Api<wbr/>Provider</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Property Values"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Property Values</summary><div><a href="#emitpropertyvalue"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>emit<wbr/>Property<wbr/>Value</span></a><a href="#onpropertyvalues"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>on<wbr/>Property<wbr/>Values</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Radar API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Radar API</summary><div><a href="#radarapi"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>radar<wbr/>Api</span></a><a href="#registerradarprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>register<wbr/>Radar<wbr/>Provider</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Resources API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Resources API</summary><div><a href="#resourcesapi"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>resources<wbr/>Api</span></a><a href="#registerresourceprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>register<wbr/>Resource<wbr/>Provider</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Serial Ports"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Serial Ports</summary><div><a href="#getserialports"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Serial<wbr/>Ports</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Status and Debugging"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Status and Debugging</summary><div><a href="#debug"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>debug</span></a><a href="#error"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>error</span></a><a href="#reportoutputmessages"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>report<wbr/>Output<wbr/>Messages</span></a><a href="#setpluginerror"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Plugin<wbr/>Error</span></a><a href="#setpluginstatus"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Plugin<wbr/>Status</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Weather API"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg>Weather API</summary><div><a href="#registerweatherprovider"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>register<wbr/>Weather<wbr/>Provider</span></a><a href="#weatherapi"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../../assets/icons.svg#icon-1024"></use></svg><span>weather<wbr/>Api</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../../modules.html">Signal K</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>