-
-
Notifications
You must be signed in to change notification settings - Fork 633
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: work around corrupted high nibble in ACK after soft-reset on 7.19.x #6409
Merged
Conversation
This file contains 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
11 tasks
@zwave-js-bot automerge |
zwave-js-bot
previously approved these changes
Oct 17, 2023
zwave-js-bot
previously approved these changes
Oct 17, 2023
zwave-js-bot
previously approved these changes
Oct 17, 2023
zwave-js-bot
approved these changes
Oct 17, 2023
AlCalzone
added a commit
that referenced
this pull request
Oct 17, 2023
This release includes several more fixes and workarounds for the problematic interaction between some controller firmware bugs and the automatic controller recovery introduced in the `v12` release: * Added a workaround to recognize corrupted `ACK` frames after soft-reset of controllers running an 7.19.x firmware or higher. Previously this triggered the unresponsive controller detection and recovery process. (#6409) * When the response to a `Send Data` command times out, the command is now aborted, instead of retrying and potentially putting the controller in a bad state due to not waiting for the command cycle to complete. When this happens, Z-Wave JS no longer attempts to recover the controller by restarting it, unless the callback is also missing. (#6408) * When the callback to a `Send Data` command continues to be missing after restarting the controller, Z-Wave JS no longer restarts itself. Instead the old behavior of marking the node as `dead` is now restored, as the node being unresponsive/unreachable is most likely the actual problem. (#6403) * In addition, the `Send Data` callback timeout has been reduced to 30 seconds and ongoing transmissions are now aborted before reaching this timeout. This should limit the impact of the controller taking excessively long to transmit, especially in busy networks with lots of unsolicited reporting and end nodes expecting a timely response (#6411) ### Features * The `Driver` constructor now accepts multiple sets of options and curated presets are available (#6412) ### Additional Bugfixes * Only auto-refresh `Meter` and `Multilevel Sensor CC` values if none were updated recently (#6398) * Export all option types for `Configuration CC` (#6413) ### Config file changes * Add NEO Cool Cam Repeater (#6332) * Increase report timeout for Aeotec Multisensor 6 to 2s (#6397)
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.
fixes: #6399
With this PR, we can now ignore the high nibble of an ACK in the serial API parser once. This is done whenever a soft-reset is issued on a controller running 7.19 or higher.
Previously this would trigger our unresponsive controller detection.