Connecting to SignalK Server (marine data exchange format)

Hi all,
I would like to connect a Home Assistant (i.e. Boat Assistant) to a SignalK Server, who is acting as data source (all boat NMEA0183 & NMEA2000 format data are converted in SignalK on a RasperryPi).

After accessing the documentaion of the SignalK (http://signalk.org/specification/1.5.0/doc/signalk.pdf), I have realized that the SignalK Server is providing JSON messages via Websocket API with SignalK data format.
The connection will be established by:

A web client or HTTP capable device can discover and
connect to a Signal K server using the following process:

Query for Signal K services using mDNS
Connect to the host and port advertised as ‘signalk-http’ via HTTP (e.g.
http://10.1.1.40:80 )
Per the Urls and Ports section, make a GET request for /signalk to retrieve a
JSON object containing an endpoints JSON object
Make further REST calls for more specific data, or open a websocket connection to
start streaming updates.

As far as I understood the Home Assistant concept ( I joined HA approx 1 year ago), I think it might be possible for an experienced HA programmer to guide me in the right direction about next steps to get the job done. Handling JSON syntax seems to be usual for many Add-Ons etc.

On my boat I will have a RasperryPi for navigational reasons , an Android car radio and I would like to have the boat status vizualised with Home Assistant retrieving all navigational data and presenting the fuel, water and black water tank levels etcpp.

Your help is appreciated.
My next step will be to install

1 RasperryPi with AvNav & SignalK Server, combined with Marine Control Server ( QuickGuide/PDF)
2.RasperryPi with Home Assistant

Regards,
Jörg

Don’t know very much about this but there isn’t there a SignalK addin for NodeRed or SignalK to MQTT? This would give you all the hooks into the nmea data wouldn’t it? Seabits.com has integrated SignalK with InfluxDB and Grafana…

You coined the term BoatAssistant before and independent of me! Would like to see a dedicated sub-forum on this site for boat and rv specific applications. HA has so many compelling uses in the boat and RV markets but doesn’t seem to be getting any traction.

1 Like

This OS comes with SignalK and Homeassistant and it’s designed for a boat.

https://bareboat-necessities.github.io/my-bareboat/bareboat-os.html

Might be a good place to start

2 Likes

Here is more on how to integrate homeassistant with SignalK

I tried to connect my SignalK server with HA in the way described in previous post. Two plugins exist in the SignalK app store, that offer an option “run local server”:

signalk-mqtt-home-asisstant and
signalk-mqtt-gw

I have tried both on a RaspberryPi Zero 2W and both throw an error “Failed to start: Expected ‘schema’ to be an object or boolean”. Via Slack I have contacted the author of plugin signalk-mqtt-gw to try to get a fix, but he stated that the plugin uses an own, locally embedded broker, which is a really old one and which should not be used anymore. Therefore the package signalk-mqtt-gw has been deprecated now (and signalk-mqtt-home-asisstant is even older and also not working). The author recommended to use signalk-mqtt-bridge in combination with an own MQTT broker.

Now I have gotten this set-up to work with the help of this post of the author of plugin signalk-mqtt-bridge. Here is the description of the neccessary set-up to connect SignalK with Home Assistant:

how do you achieve this?

On my boat I also have an Actisense logger that expoerts data, but not sure how to read/convert those data