Reduce retransmit timeout after a CAN collision #2566
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.
I noticed that the side effect to PR #2049 is that it introduces an at least 1 second delay before the message is re-transmitted, and could potentially be much worse if there is more activity on the network, as each unsolicited message resets the timer again.
This is a simple change to use a much shorter timeout after a CAN or NAK message from the controller, so we can get on with clearing the message queue sooner, while still allowing any queued incoming messages to be processed first, in the spirit of the original PR.
This makes a big difference for me when setting scenes with multiple Z-Wave devices. I have been seeing delays of 2-3 seconds appearing due to the chatty devices responding to requests with multiple unsolicited updates on the lifeline association group.