It seems as if tcpserver always outputs just about everything: not only regular nmea0183 messages, but also ais messages and messages generated by a plugin. There is no output filter (like Output Events in the data connection, or "toStdout" in the pipeElement).
First: if I want a filtered tcpserver, is there a plugin for that? a) I don't want flood some of my clients with e.g. AIS messages, and b) if I get multiple sources of heading, for instance, I want to decide centrally what heading goes out.
Second: what is "suppress0183event" for? It defaults to true, but I still get to see nmea1data events, and slightly more annoying, the tcpserver0183data event.
BTW: I cannot update this default Data Connection in the SignalK gui; it gives me an error "<pre> Cannot PUT /skServer/providers/TCP/10110/</pre>". This seems to be because of the slash "/" in the default providerId "TCP/10110". Is this intended?
Thanks!/Marco--
You received this message because you are subscribed to the Google Groups "Signal K" group.
To unsubscribe from this group and stop receiving emails from it, send an email to signalk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/signalk/718713c7-2634-4c6b-a70e-39eb3d5062a8n%40googlegroups.com.
NMEA0183 routing support is not really the raison d'etre for SK server, but it is so useful that is has grown feature by feature. Yet it is not very easy to use nor can it do everything.
Why does it output everything? Because that is a sensible default. And this is the very first time somebody has reported a problem with that.
It seems as if tcpserver always outputs just about everything: not only regular nmea0183 messages, but also ais messages and messages generated by a plugin. There is no output filter (like Output Events in the data connection, or "toStdout" in the pipeElement).See https://github.com/SignalK/signalk-server/wiki/Events-and-Outputting-Data for instructions for filtering nmea0183 events.Then you can create a new NMEA0183 connection as TCP Server (sounds like you already fiddled with that) and connect your filtered event to that. If you disable the default 10110 tcp server the port will be free for this connection to operate there.
First: if I want a filtered tcpserver, is there a plugin for that? a) I don't want flood some of my clients with e.g. AIS messages, and b) if I get multiple sources of heading, for instance, I want to decide centrally what heading goes out.See also Source Priorities Settings in Connections, if you want to prioritise inputs system wide, but that works in Signal K, so you'll have to convert back to 0183 if you use that.Second: what is "suppress0183event" for? It defaults to true, but I still get to see nmea1data events, and slightly more annoying, the tcpserver0183data event.Suppress 0183 event is for suppressing the nmea0183 event that is generated from all nmea0183 data entering the server via a connection. If you use TCP server only for output it has no effect.
I don't quite get why you are annoyed by extra events inside the server. Where do you "see" them?
BTW: I cannot update this default Data Connection in the SignalK gui; it gives me an error "<pre> Cannot PUT /skServer/providers/TCP/10110/</pre>". This seems to be because of the slash "/" in the default providerId "TCP/10110". Is this intended?I can't remember a default naming mechanism for connections (providers). Not intended, sounds like a bug.
Then you can create a new NMEA0183 connection as TCP Server (sounds like you already fiddled with that) and connect your filtered event to that. If you disable the default 10110 tcp server the port will be free for this connection to operate there.If I make a new TCP Server, it does not have Output Events in the UI, like the TCP Client has, so I cannot set up the described filtering mechanism this way.
Suppress 0183 event is for suppressing the nmea0183 event that is generated from all nmea0183 data entering the server via a connection. If you use TCP server only for output it has no effect.I still see the incoming events even though suppress is on.
I don't quite get why you are annoyed by extra events inside the server. Where do you "see" them?I only said slightly more annoying ;-) but decimal representation of ascii text seems a bit out of place between more functional log entries:signalk-server:events:tcpserver0183data [ <Buffer 24 45 43 52 4d 42 2c 41 2c 38 2e 36 33 39 2c 4c 2c 30 30 31 2c 30
I'd rather see something like signalk:streams:udp (signalk:streams:tcp - simply rename the event?); then I can omit it from the signalk-server:events.
I'm referring to the default providers that -I believe- come with OpenPlotter 2.0. If you make a provider and name it xxx/xxx, save it, open it and save it, then you get the same error.
Please let me know if these remarks are suitable to put in a github issue, and where exactly, with regard to whether it concerns a plugin or the server itself. Or, should I raise them on slack first.Also, I'd like to know how I can adapt the Data Browser myself, so it shows knots and degrees, instead of m/s and radians. Seems like a nice contribution for me to attempt.
Thanks again!*) The OpenCPN Dashboard and Tactics plugins seem to have issues with signalk integration, which issues they don't have with a nmea interface.
Furthermore, I had some problems resulting from multiple sources of heading, but I understand now I should be able to fix that with source priorities.