Best practices for dealing with false detections as a user and/or in the code. #2460
Replies: 3 comments 9 replies
-
Priority level is different from plain order of protocols. All decoders in a priority "tier" will be run, only if there is no output then the next priority will run. This feature is pretty new and we could use it better. |
Beta Was this translation helpful? Give feedback.
-
Here is my "model" of how I think the detection and priorities currently works, from observing the operation of the program, and some very minimal familiarity with the code: A list of protocols is generated at the beginning of the run, and this will generally determine the order which protocols are checked. Each protocol has some known factors about pulse widths and pulse-stream length, which will be used in the following step. Each time a pulse stream is received, the list of protocols is traversed in order, looking for viable candidates given the pulse widths and stream length. Each protocol decoder that has no priority set will be called to give it a shot at decoding the transmission. The search ends at the first decoder which accepts the transmission. Only a transmission that is rejected by all decoders will pass on to the decoders with a priority set. |
Beta Was this translation helpful? Give feedback.
-
There is a relevant discussion of this in #1964. It's under issues because I don't think discussions were available yet. I added some sanity checking for a number of devices I use. This drastically cut down, but unfortunately did not completely eliminate, bad data occasionally making its way into my system. If I ever got around to it, I would implement a consumer that would republish a sanitized feed for clients like Home Assistant and time series DBs. So far the problem the problem hasn't been enough of an annoyance. |
Beta Was this translation helpful? Give feedback.
-
We all see rtl_433 sometimes mis-categorize a transmission as coming from a different device, often making the reported data meaningless. Depending on your use case, and which protocols you use, this could range from a curiosity to a severe annoyance. I'd like to see ideas for how to improve both the way we use rtl_433, as well as suggestions for how to improve the program.
In the short time I've been using rtl_433, I've gotten some great advice from others and a few ideas of my own to share. If you post other solutions in the comments, I'll add them here to the list. Some of these ideas are mutually exclusive, others can be used together.
Ways to handle false detections, from a user's perspective
Ways to handle false detections in the code
Beta Was this translation helpful? Give feedback.
All reactions