OpenMarine

Full Version: How to filter double sigK keys in klpex?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

I installed the USB-N2K converter for the seatalk ng network.
The problem is, that I receive a lot of double sigK keys.

There are e.g. two SOG keys in sigK diagnostic, one is valid, the other one produces faulty values, that disturb the SOG reading.

Both values seem to come from the USB adapter. When I have a look on the PGNs directly, there are no double values.

I got the hint, here in the forum, to filter the faulty keys in kplex. I tried to set up a filter in manual section of the kplex.conf, but it did not work.

Could someone please point me into the right direction and give me a example how the filter is used?

Martin

[Image: 9bf580feaacd98529bb531a5086863ae.jpg]

[Image: 0fc69db47d80a99deacd6d0ecb1eccd1.jpg]
Update:

I did further investigations:

In deed, SOG is sent twice by my seatalk ng network:

PGN 129026 - COG & SOG (fast refresh)

and

PGN 130577 - directional data, that also contains SOG and other values (slower refresh) (faulty data)

Both PGNs are mapped to the sigK key navigation.speedoverground.
Both PGNs are sent by the raymarine internal GPS. When I switch off the GPS, both PGNs are gone.
Whenever the PGN 130577 is sent, the SOG jumps to 975 knots.

[attachment=287]

[attachment=288]

This problem is existent for several keys.

Any idea how to solve it?
NMEA2000 (N2K) has its disadvantages. As you just recognized. Most N2K devices aren't able to stop sending PGN.
Kplex can't filter N2K it can filter NMEA0183. So it wouldn't help you. If you would have double sigK keys one from
N2K and one from NMEA0183 you can filter the one from NMEA0183 with kplex.

Your problem is that there is no filter between canboat and the SignalKserver. So it hasn't got to do with openplotter code.

N2K isn't easy to filter if it isn't a PGN you don't want. There are enough examples why it is interesting to filter a complete
device (for example a second backup device). The address on the N2K bus of the devices aren't fixed!!! They can change when working!
One device can have multiple addresses.

(See also https://github.com/SignalK/n2k-signalk/issues/16)

It would be good to have a filter for the complete signalK. With features:
- named N2K devices (the long ID of the device)
- priority list for same signalK keys

If you have a look at the instrumentpanel of signalK, you will see that they look for the source or PGN and the signalK key.
If you do the same in nodered your problem is solved (I haven't tried that).

Martin
@Martin

Thank you for the explaination. This saves me a lot of testing in vain.

Am I the only one with this problem?? I assume everybody with e.g. a raymarine plotter should have that problem.

I will check the long IDs from N2K and try to grab them in node red. If only my java capabilities were better [emoji2].