The v12
release was supposed to increase reliability of Z-Wave JS, primarily by detecting situations where the controller was unable to transmit due to excessive RF noise or being unresponsive and automatically taking the necessary steps to recover.
Instead, it uncovered bugs and erratical behavior in the 500 series firmwares, which triggered the automatic recovery in situations where it was not necessary. In the worst case, this would cause Z-Wave JS to end up in an infinite loop or restart over and over.
This patch should fix and/or work around most (if not all) of these issues. Really sorry for the inconvenience!
Bugfixes
- Fixed an infinite loop caused by assuming the controller was temporarily unable to transmit when when sending a command results in the transmit status
Fail
(#6361) - Added a workaround to avoid a restart loop caused by 500 series controllers replying with invalid commands when assigning routes back to the controller (SUC) failed (#6370, #6372)
- Automatically recovering an unresponsive controller by restarting it or Z-Wave JS in case of a missing callback is now only done for
SendData
commands. Previously some commands which were expecting a specific command to be received from a node could also trigger this, even if that command was not technically a command callback. (#6373) - Fixed an issue where rebuilding routes would throw an error because of calling the wrong method internally (#6362)