# Signal K Read-only Input

Updated: 2026-05-08  
Version: v0.1.2

## Scope

KSF NMEA Sniffer uses Signal K as a read-only WLAN/LAN input.

The app connects to a Signal K server WebSocket stream, displays incoming delta values, and records the source information supplied by the server. It does not send writes or publish values.

## Typical Endpoint

Most Signal K Node Server and OpenPlotter/OpenMarine installations expose the stream here:

`ws://host:3000/signalk/v1/stream`

Examples:

- `<server-ip>:3000`
- `openplotter.local:3000`
- `ws://server.local:3000/signalk/v1/stream`

The app connects to the Signal K server address. Signal K deltas are normally
not received by listening for a general network broadcast. The server may be
discoverable by an mDNS/Bonjour hostname such as `openplotter.local`, but if
that does not work you need the actual IP address of the device running Signal K.
The Mac's own IP address only tells you which LAN/WLAN subnet to look on.

If the Host/IP field already includes `ws://` or `wss://`, the app uses that scheme. If it only contains `host:port`, the app creates a `ws://` URL and applies the configured path.

## Subscribe Modes

- `Self vessel`: `subscribe=self`
- `All updates`: `subscribe=all`
- `Heartbeat only`: `subscribe=none`

`Cached values` controls `sendCachedValues=true/false`.

## Safety Boundary

This feature is intentionally receive-only:

- No Signal K `PUT`.
- No Signal K `POST`.
- No delta publishing.
- No CAN, NMEA2000, or NMEA0183 transmit path.

This keeps the app safe for diagnostics on a live boat network.

## References

- Signal K URL and port conventions: `https://signalk.org/specification/1.7.0/doc/urls_ports.html`
- Signal K WebSocket streaming API: `https://signalk.org/specification/1.5.0/doc/streaming_api.html`
