SignalK / signalk-server

An implementation of a Signal K central server for boats.
http://signalk.org
Apache License 2.0
303 stars 151 forks source link

Avoiding data loops #1567

Open mgrouch opened 1 year ago

mgrouch commented 1 year ago

There seems to be no safeguard built in into SignalK against data loops.

I've experienced cases when pypilot is connected to SignalK via its 20220 NMEA 0183 port as well as via SignalK web sockets (as trusted device in SignalK, by token)

It seems it creates a data loop. I.e. pypilot data fed via NMEA 1083 tcp from pypilot gets send back to pypilot via websockets.

SignalK should be smarter to not repeat data back to a provider it received it from.

mDNS should give enough info about topology of connections to fix it at least in majority of cases.

Thanks, --MG

ckcrs commented 10 months ago

Similar data loops occur when listening seatalk network with stalk gpio and sending data to seatalk network with some external usbtoSeaTalk devices.