Signal K output
BoatKit can expose its current categorized vessel data to Signal K applications on your local vessel network. Clients can discover the available endpoints, browse the data through REST, or receive live updates through a WebSocket stream.
This endpoint is read-only. It presents BoatKit values as custom Signal K sensors; it is not a writable Signal K server or a canonical mapping of every BoatKit value.
Before you start
You need:
- Administrator access to BoatKit settings.
- A dedicated BoatKit device or a tablet-hosted vessel with its BoatKit runtime active.
- A Signal K client on the same local vessel network.
- The BoatKit web address if your client cannot discover the service automatically.
Enable the endpoint
- Open Settings > Integrations > Signal K.
- Under Read-only Endpoint, turn on Enabled.
- Append
/signalkto the BoatKit web address you already use and open that address. The discovery document provides the authoritative REST and WebSocket URLs for your client.
BoatKit implements Signal K v1.7 discovery, read-only REST access to the vessel-data tree, and delta WebSocket streaming. Vessel-data REST writes are rejected, as are WebSocket put operations.
Connect a client
Dedicated BoatKit devices advertise an enabled endpoint using the standard _signalk-http._tcp and _signalk-ws._tcp DNS-SD service types. These advertisements begin after the device's BoatKit Cloud registration has been confirmed.
A tablet-hosted vessel can provide the same HTTP and WebSocket endpoints while its hosted runtime is active. The native tablet app does not publish the dedicated device's Signal K advertisements, so you may need to enter the tablet's BoatKit address in the client. Preserve any port included in that address and open /signalk to obtain the complete endpoint URLs.
Choose whether to require authentication
Authentication is off by default. Leaving it off can be appropriate on a trusted vessel network where every connected device is allowed to read the data.
To require a login:
- Under Authentication, set a nonblank Username.
- Set a Password containing at least 12 characters.
- Turn on Require authentication.
- Configure the client to obtain a bearer token from
/signalk/v1/auth/loginusing that username and password.
BoatKit also sets an HTTP-only Signal K cookie for clients that continue using the same HTTP session. Changing the username, password, or authentication requirement invalidates existing Signal K sessions and closes their streams. Sign in again or reconnect the client after making one of these changes.
Authentication controls who can read the endpoint, but it does not encrypt ordinary local HTTP or WebSocket traffic. Use the endpoint only on a trusted vessel network unless BoatKit is being served through TLS.
Understand the data layout
Current BoatKit categorized values appear below the self vessel's sensors branch. Each custom sensor preserves its recognizable BoatKit category ID as the sensor name, and its current value appears in the sensor's reading field.
This is a schema-compliant custom sensor projection. It does not map readings to canonical Signal K paths such as navigation.speedOverGround. A client that displays only known canonical paths may not show these sensors automatically, even when it connects successfully.
Numeric measurements are converted to Signal K's SI wire units. Supported measurements that are currently invalid are sent as null. Readings also include timestamps and source metadata.
Confirm it is working
- Open
/signalkon the BoatKit host. - Confirm that the discovery document lists Signal K v1.7 HTTP and WebSocket URLs.
- Connect a compatible client using one of those URLs.
- Inspect the self vessel and confirm that its
sensorsbranch contains current readings. - If authentication is enabled, confirm that the client can log in and continue reading data with the issued session.
Offline behavior
The endpoint runs locally and does not need an internet connection after BoatKit is running. A dedicated device whose BoatKit Cloud registration was previously confirmed can continue serving the local endpoint during ordinary offline operation.
The endpoint is available only while the dedicated or tablet-hosted BoatKit vessel runtime is active. A tablet client will lose access when the hosted runtime stops.
Limitations
The current release exposes only BoatKit's categorized vessel data. It does not include:
- Every BoatKit data model or historical data
- Commands, controls, or settings
- Canonical Signal K navigation, environment, or electrical path mappings
- A Signal K plugin runtime or JavaScript processing engine
- A writable control surface
Troubleshooting
If /signalk does not open:
- Confirm that Settings > Integrations > Signal K > Read-only Endpoint > Enabled is on.
- Confirm that the dedicated or tablet-hosted BoatKit runtime is active.
- Check that you used the correct BoatKit host address and preserved any required port.
- Confirm that the client device can reach BoatKit over the local vessel network.
If automatic discovery does not find a dedicated BoatKit device:
- Confirm that the endpoint is enabled and the device's BoatKit Cloud registration has previously been confirmed.
- Open
/signalkdirectly and configure the client with the URLs in the discovery document. - For a tablet-hosted vessel, use the tablet's BoatKit address because the native app does not publish Signal K DNS-SD advertisements.
If the client reports an authentication error:
- Check the configured username and password.
- Obtain a new token from
/signalk/v1/auth/loginafter any credential or authentication-setting change. - Confirm that the client sends the bearer token when opening both REST and WebSocket connections.
If discovery succeeds but no readings appear:
- Inspect the self vessel's
sensorsbranch through the advertised REST URL. - Confirm that BoatKit itself is receiving current categorized readings.
- Check whether the client supports custom Signal K paths. Clients limited to canonical paths may connect successfully without displaying BoatKit's custom sensors.