Fix RTL_433 duplicate detection swallowing rapid transmissions with differing payloads - #2357
Draft
NorthernMan54 with Copilot wants to merge 2 commits into
Draft
Fix RTL_433 duplicate detection swallowing rapid transmissions with differing payloads#2357NorthernMan54 with Copilot wants to merge 2 commits into
NorthernMan54 with Copilot wants to merge 2 commits into
Conversation
…mperature_C Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix RTL_433 swallowing multiple rapid transmissions
Fix RTL_433 duplicate detection swallowing rapid transmissions with differing payloads
Aug 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
isAduplicateSignal()inrtl_433_Callback()used onlyid + temperature_Cas the dedup key, so any device lackingtemperature_C(e.g. WH51 moisture sensor) would have all messages within the 3-second window silently dropped regardless of payload changes.Changes
id + temperature_Chash with full-payload hash — iterates all JSON fields, hashing key+value for each, so any change in sensor data produces a distinctMQTTvaluetime,rssi,snr,noise_floorare skipped so retransmissions of the same physical signal still deduplicate correctlyJsonObjectiteration orderserializeJson()per value instead of.as<String>()to avoid platform-dependent float formatting differences0xFFbyte injected between key and value bytes prevents"ab"+"c"colliding with"a"+"bc"Checklist: