signalk-ais-navionics-converter 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,6 +15,7 @@ IMPORTANT: The following are required for the plugin to function:
15
15
  - [Configuration Parameters](#configuration-parameters)
16
16
  - [Basic Settings](#basic-settings)
17
17
  - [TCP Port](#tcp-port)
18
+ - [Websocket Port](#websocket-port)
18
19
  - [Update Interval for Changed Vessels](#update-interval-for-changed-vessels)
19
20
  - [Update Interval for Unchanged Vessels](#update-interval-for-unchanged-vessels)
20
21
  - [Data Filtering](#data-filtering)
@@ -57,11 +58,11 @@ IMPORTANT: The following are required for the plugin to function:
57
58
  - [Author](#author)
58
59
  - [Contributing](#contributing)
59
60
  - [Changelog](#changelog)
60
- - [Version 1.0.0](#version-100)
61
61
 
62
62
  ## Features
63
63
 
64
- - **TCP Server**: Broadcasts NMEA 0183 AIS messages ([Type 1 - Position report](https://gpsd.gitlab.io/gpsd/AIVDM.html#_types_1_2_and_3_position_report_class_a) and [Type 5 - static and voyage related data](https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_5_static_and_voyage_related_data)) to connected clients
64
+ - **TCP Server**: Broadcasts NMEA 0183 AIS messages ([Type 1 - Position report AIS class A](https://gpsd.gitlab.io/gpsd/AIVDM.html#_types_1_2_and_3_position_report_class_a), [Type 19 - Extended position report AIS class B](https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_19_extended_class_b_cs_position_report), [Type 5 - static and voyage related data class A](https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_5_static_and_voyage_related_data) and [Type 24 - static data report class B](https://gpsd.gitlab.io/gpsd/AIVDM.html#_type_24_static_data_report)) to connected clients
65
+ - **Websocket Server**: Same data broadcasted by the TCP server is send via a separate Websocket Server to connected clients. In addition the vessel data is broadcasted as JSON object ({"mmsi": 123456, ....})
65
66
  - **Smart Update Logic**:
66
67
  - Sends updates immediately when vessel data changes
67
68
  - Resends unchanged vessels periodically to prevent timeout in navigation apps
@@ -92,6 +93,10 @@ Warning: AIS data provided by this plugin can assist navigation. However, it nev
92
93
  - **Default**: 10113
93
94
  - **Description**: Port for the NMEA 0183 TCP server. Configure your navigation app (e.g., Navionics, OpenCpn) to connect to this port.
94
95
 
96
+ #### Websocket Port
97
+ - **Default**: 10114
98
+ - **Description**: All AIS (NMEA 0183) messages are send by an own websocket server on this port to connected clients. In addition the data of the vessels is send as JSON. Data can then be used by other plugins / apps (as clients). For the communication with the Navionics app, this port is not needed. If port is set to 0 no Websocket server is started.
99
+
95
100
  #### Update Interval for Changed Vessels
96
101
  - **Default**: 15 (seconds)
97
102
  - **Description**: How often to check for and send updates when vessel data changes. Lower values = more real-time updates but higher CPU usage.
@@ -132,7 +137,7 @@ Warning: AIS data provided by this plugin can assist navigation. However, it nev
132
137
 
133
138
  #### Enable VesselFinder Forwarding
134
139
  - **Default**: false
135
- - **Description**: When enabled, AIS Type 1 messages (position reports) are forwarded to VesselFinder.com via UDP.
140
+ - **Description**: When enabled, AIS Type 1 and Type 19 messages (position reports for AIS class A and B) are forwarded to VesselFinder.com via UDP.
136
141
 
137
142
  #### VesselFinder Host
138
143
  - **Default**: ais.vesselfinder.com
@@ -150,7 +155,7 @@ Warning: AIS data provided by this plugin can assist navigation. However, it nev
150
155
 
151
156
  #### Include Vessels from AISFleet.com
152
157
  - **Default**: true
153
- - **Description**: Fetches nearby vessels from AISFleet.com cloud API and merges them with local SignalK vessel data. Requires internet connection and own position.
158
+ - **Description**: Fetches nearby vessels from AISFleet.com cloud API and merges them with local SignalK vessel data. Requires internet connection and own position (in SignalK key "navigation.position" must exist). If the plugin "AIS Fleet" is already installed and enabled in SignalK, this option is not shown.
154
159
 
155
160
  #### Radius for Cloud Vessels
156
161
  - **Default**: 10 (nm / nautical miles)
@@ -160,27 +165,27 @@ Warning: AIS data provided by this plugin can assist navigation. However, it nev
160
165
 
161
166
  #### Debug All Vessel Details
162
167
  - **Default**: false
163
- - **Description**: Enables detailed debug logging for all vessels in the server log. Only visible when plugin is in debug mode. Useful for troubleshooting or understanding of send data.
168
+ - **Description**: Enables detailed debug logging for all vessels in the server log. Option only visible if plugin is in debug mode. Useful for troubleshooting or understanding of send data.
164
169
 
165
170
  #### Debug MMSI
166
171
  - **Default**: empty
167
- - **Description**: MMSI number for detailed debug output of a specific vessel. Only visible when plugin is in debug mode. Leave empty to disable.
172
+ - **Description**: Debug output will be filtered for only this MMSI. Option only visible if plugin is in debug mode. Leave empty to disable.
168
173
 
169
174
  #### Debug Stale
170
175
  - **Default**: false
171
- - **Description**: Stale vessels will be shown in debug log - only visible if plugin is in debug mode and debug all vessel details is enabled
176
+ - **Description**: Stale vessels will be shown in debug log - option only visible if plugin is in debug mode and debug all vessel details is enabled
172
177
 
173
178
  #### Debug JSON
174
179
  - **Default**: false
175
- - **Description**: JSON data of vessels will be shown in debug log - only visible if plugin is in debug mode and debug all vessel details is enabled
180
+ - **Description**: JSON data of vessels will be shown in debug log - option only visible if plugin is in debug mode and debug all vessel details is enabled
176
181
 
177
182
  #### Debug AIS data
178
183
  - **Default**: false
179
- - **Description**: Detailed debug AIS data output in server log for all vessels - only visible if plugin is in debug mode and debug all vessel details is enabled
184
+ - **Description**: AIS NMEA0183 data output will be shown in debug log - option only visible if plugin is in debug mode and debug all vessel details is enabled
180
185
 
181
186
  #### Debug corrected SOG
182
187
  - **Default**: false
183
- - **Description**: Detailed debug output in server log for all vessels with corrected SOG - only visible if plugin is in debug mode and debug all vessel details is enabled
188
+ - **Description**: Vessels with corrected SOG will be shown in the debug log - option only visible if plugin is in debug mode and debug all vessel details is enabled
184
189
 
185
190
  ## How It Works
186
191
 
@@ -189,7 +194,7 @@ Warning: AIS data provided by this plugin can assist navigation. However, it nev
189
194
  1. **Data Collection**:
190
195
  - Fetches vessel data from SignalK API (`http://<IP_OF_SIGNALK_SERVER>:<PORT_SIGNALK_SERVER>/signalk/v1/api/vessels`)
191
196
  - use other SignalK plugins (like AisHub WS) to receive more vessels for SignalK with AIS information
192
- - Optionally fetches nearby vessels from AISFleet.com API
197
+ - Optionally fetches nearby vessels from AISFleet.com API (if plugin "AIS Fleet" is not installed or not enabled)
193
198
  - Merges both sources, preferring newer timestamps
194
199
 
195
200
  2. **Data Processing**:
@@ -199,12 +204,13 @@ Warning: AIS data provided by this plugin can assist navigation. However, it nev
199
204
  - Filters vessels without valid name AND callsign
200
205
 
201
206
  3. **NMEA Generation**:
202
- - Creates AIS Type 1 messages (position reports)
203
- - Creates AIS Type 5 messages (static vessel data)
207
+ - Creates AIS Type 1 (class A) or Type 19 (class B) messages (position reports)
208
+ - Creates AIS Type 5 (class A) or Type 25 (class B) messages (static vessel data)
204
209
  - Encodes as NMEA 0183 sentences
205
210
 
206
211
  4. **Broadcasting**:
207
212
  - Sends to all connected TCP clients
213
+ - Sends to all connected Websocket clients
208
214
  - Optionally forwards to VesselFinder.com via UDP
209
215
  - Resends periodically to prevent client timeouts
210
216
 
@@ -270,7 +276,7 @@ When a new TCP client connects:
270
276
 
271
277
  ### Too many/few vessels
272
278
  - Adjust "Stale Data Threshold" to filter outdated vessels
273
- - Enable/disable "Include Vessels from AISFleet.com"
279
+ - Enable/disable "Include Vessels from AISFleet.com" (if plugin "AIS Fleet" is not installed)
274
280
  - Adjust "Radius for Cloud Vessels" to control area coverage
275
281
 
276
282
  ## Debug Logging
@@ -290,10 +296,9 @@ Debug information includes:
290
296
  ## Requirements
291
297
 
292
298
  - SignalK server (Node.js version)
293
- - Own vessel position (for AISFleet cloud integration)
299
+ - Own vessel position (for AISFleet cloud integration, if "AIS Fleet" plugin is not installed)
294
300
  - Own vessel MMSI
295
- - Internet connection (for AISFleet cloud features)
296
- - Navigation app with NMEA 0183 TCP support (e.g. Navionics boating app or OpenCpn)
301
+ - Navigation app with NMEA 0183 TCP support (e.g. Navionics boating app, OpenCpn,...)
297
302
 
298
303
  ## License
299
304
 
@@ -319,4 +324,7 @@ Issues and pull requests are welcome!
319
324
  ### Version 1.0.1
320
325
  - enhanced debug logs
321
326
  ### Version 1.0.2
322
- - Changed to "Embedded Plugin Configuration Forms"
327
+ - Changed to "Embedded Plugin Configuration Forms"
328
+ ### Version 1.0.3
329
+ - AIS message types for class A / B separated
330
+ - AIS Websocket server added