Full Version: NMEA2000 SignalK webapp and filtering
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The SignalK web application contain an entry for data connections, one of these handle NMEA2000 data. The connection work fine using a canable adapter,
see here for more details. The dashboard show over 30 NMEA2000 messages per second, while the RPi4 can cope with this load it does generate a fair 
amount of CPU usage.  In order to reduce the load I looked at filtering. 

The connection from canable which handle data type NMEA2000 also has a filter option. It can filter messages based on address and PNG, I'm not sure what 
to enter en these fields. The SK messages contain strings like "navigation.datetime" and corresponding can reference "canable0.0" while "navigation.SpeedOverGround" 
use "canable0.34" and "navigation.log" "canable0.115". The numbers 0,34 and 115 are used for several SK date tags. 
Looking at the raw NMEA2000 data with the "check device traffic" yield lines like "canable0 19FA0400 [8] <hex data>" where the second number might be an address,
but which address map to which of the addresses SK present (the 0, 34 & 115) correspond to which NMEA2000 address. 

I'm not sure what kind of data the filter accept, what to enter in the "address field" and in the "PGN" field.

PGN refers to the NMEA2000 message type. You can see the PGN number that a Signal K value was converted from in the Data Browser in the source column, the number in parentheses. For example navigation.wind.angleApparent PGN 130306.

The addresses can be found also in Data Browser under the Sources section. With address based filter you can filter out all data from a specific device.