Comparing across repeated bursts as an alternative to checksums? #2437
Replies: 1 comment 4 replies
-
I think this idea has a lot of merit. Currently, doctrine is that each transmission is simply decoded. Certainly we don't want to lose that ability. But, adding a mode that does inter-transmission processing would be really useful. I will set aside the issue of whether it should be builtin or a external pipeline stage. Combining multiple transmissions into 1 is a form of error correction. As a user I would generally rather see one json line with the best guess at what was sent vs 4 separate ones. I think this has to be a pipeline stage, where the decoder decodes but then some later process merges them. That leads to thinking about the intermediate representation, which could involve a pivot to json as a basic plan and the pipeline stage followed by json->whatever conversion. A second thing is to enable a decoder (for eventual output) only after there has been some threshold number of messages, where the threshold might vary by no-checksum/checksum/crc8/crc16/crc32. It would be further cool to store information about this (including frequency) so that on restarting rtl_433 the previous knowledge would be present, allowing prompt output. That probably needs a "no detects in 30-90 days leads to dropping". All of this is a lot of work. |
Beta Was this translation helpful? Give feedback.
-
I recently contributed a change to the Acurite Rain Gauge decoder, helping to make it a lot less prone to false positives. It took little work, just making sure there were 12 or more repeated sends from the device, since the main offender(s) for false positives were much shorter broadcasts.
It left me thinking, though, about another more detailed approach, given the many repeats the Acurite sends: For protocols that are missing checksums, could we add logic to check that there are consistent values in most of the repeats? Is there a concern for the amount of time each protocol decoder takes to (quickly?) decide if it can handle a given transmission?
Beta Was this translation helpful? Give feedback.
All reactions