Invalid data
There are several explicit cases where a sensor can indicate that it is otherwise operational but can not produce vali ddata. Example cases are a depth sounder that can not discern bottom from the echo data and a GNSS that has no satellite fix.
In these cases a gateway/server will typically receive a message indicating invalid data. It must send out a delta message where the value of the data item is null and serve the value as null in the REST api.
@tkurki wouldn't this be better to handle at server level, e.g. removing/nullifying data points as the data get's stale (and parsers not sending anything at all)?
Currently, in development branch, I'm not emitting values for "empty" sentences - making sure that the parser doesn't choke on them and assuming we'll handle this in whatever receives the data from the parser.
The idea here is to distinguish between not getting any data and getting data but it is not valid.
For example if a depth sounder drops off (no more data received) no more deltas will be sent and you can tell from the timestamp that the data is stale.
We can define a way in metaor someplace to define an eviction policy - I doubt that a global value would suffice.
But that is not the point here: we need a way for the sensor to indicate that comms and everything else is working ok, but there is something wrong with the data - and the ability to remove the value from for example a client's display. If the depth sounder loses bottom fix it needs to be able to remove the past value from connected clients (send value as null) and full model.
If the parser ignores this type of incoming data none of this is possible.
Okay, makes sense. Thanks
Sometimes AIS has a 511 value for true heading. It indicates that the property is not available. It's being sent along as 8.918632479727412 but should probably be null. Does that fit under this issue?
Yes and no - this is both a global issue but fixes are per sentence afai can tell.
Are you looking into the AIS issue @webmasterkai?