signalk-autopilot
is composed of 2 modules:
- A graphical interface that emulates a Raymarine remote control
To be able to acknowledge pilot related alarms through the GUI you need to install thesignalk-alarm-silencer
plugin. - A back-end API described below.
This current only supports Raymarine NMEA 2000 Autopilots, but I'll be adding support for other autopilots as needed.
All messages to plugin are done using PUT requests. These can be done via HTTP or over WebSockets.
Detailed info on PUT and Request/Response
Http:
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/target/headingMagnetic
{
"value": 1.52,
}
Delta:
{
"context": "vessels.self",
"requestId": "184743-434373-348483",
"put": {
"path": "steering.autopilot.target.headingMagnetic",
"value": 1.52
}
}
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/actions/advanceWaypoint
{
"value": 1,
}
The value
can be auto
, wind
, route
, or standby
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/state
{
"value": "auto",
}
The value
is in degrees and is the amount to change. So when in auto
at a heading of 180, a value of -10
will change the target heading would be changed to 170
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/actions/adjustHeading
{
"value": -10,
}
The value
is port
or starboard
.
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/actions/tack
{
"value": "port",
}
The value
is the heading in radians.
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/target/headingMagnetic
{
"value": 1.52,
}
The value
is the wind angle in radians.
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/target/windAngleApparent
{
"value": 1.52,
}