Releases: zwave-js/node-zwave-js
Release v12.1.0
Config file changes
Almost 1000 device configuration files have been reworked to be more consistent, mostly affecting device labels, parameter labels, descriptions and predefined options.
After updating, you should expect to see several notifications for changed device configurations, prompting you to re-interview the affected nodes.
Unless the device is mentioned below, there's no need to do this immediately.
- Always set time for Namron 16A thermostats as UTC (#6388)
- Add Alloy (Zipato) devices (#6331)
- Parameter 21 of Inovelli VZW31-SN is readonly (#6389)
- Add Shelly Wave Shutter (#6382)
- Add Eurotronic Comet Z (700 series) (#6336)
- Add params 7, 18, 19 to Zooz ZEN71 FW 10.20 (#6375)
- Add Qubino Shades Remote Controller (#6335)
- Add fingerprint for new MH8-FC version, add new option for param 1 (#6358)
- Add Hank HKZW-SO08 (#6383)
- Add link to manual of Honeywell T6 Pro Thermostat (#6353)
Bugfixes
- When a device has a default wakeup interval of 0 (never wake up), this is now preserved during the interview, even when outside of the valid range advertised by the device (#6387)
- Added a compat flag to always set the time using
Time Parameters CC
as UTC, even if the device exposes way to set the timezone (#6388)
Changes under the hood
- Lots of config file requirements from the style guide, especially regarding Title Case and Sentence case of strings, are now automatically enforced using ESLint (#6345)
Release v12.0.4
Bugfixes
- Normalize result of
Controller.getAvailableFirmwareUpdates
to always includechannel
field (#6359) - Fixed a crash that could happen while logging dropped sensor readings (#6379)
- Increased the range and default of the
response
timeout to accomodate slower 500 series controllers (#6378)
Config file changes
Release v12.0.3
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)
Release v12.0.2
Bugfixes
- The workaround from
v12.0.0
for the7.19.x
SDK bug was not working correctly when the command that caused the controller to get stuck could be retried. This has now been fixed. (#6343)
Release v12.0.1
Bugfixes
- Ignore when a node reports
Security S0/S2 CC
to have version 0 (unsupported) although it is using that CC (#6333)
Config file changes
- Add Shelly to manufacturers (#6339)
- Add Shelly Wave 1, Wave 2PM, update Wave 1PM association labels (#6326)
- Add Sunricher SR-ZV2833PAC (#6310)
Changes under the hood
Release v12.0.0
Application compatibility
Home Assistant users who manage zwave-js-server
themselves, must install the following upgrades before upgrading to this driver version:
- Home Assistant 2023.10.0 or higher
zwave-js-server
1.32.0
Breaking changes · Migration guide
- Removed auto-disabling of soft-reset capability. If Z-Wave JS is no longer able to communicate with the controller after updating, please read this issue (#6256)
- Remove support for Node.js 14 and 16 (#6245)
- Subpath exports are now exposed using the
exports
field inpackage.json
instead oftypesVersions
(#5839) - The
"notification"
event now includes a reference to the endpoint that sent the notification (#6083) - Keep separate Supervision session ID counters for each node (#6175)
- Validate the device fingerprint before installing firmware update instead of when checking for updates (#6192)
- Removed some deprecated methods (#6250)
- Managing SUC routes with the non-SUC method variants is no longer allowed (#6251)
- "Heal (network)" was renamed to "rebuild routes" to better reflect what it does (#6252)
- Corrected the argument type for
Driver.constructor
,updateLogConfig
andupdateOptions
(#6254, #6319)
Features
- Detect an unresponsive stick and reset it (#6244)
- The default time after which battery-powered devices with no pending commands are sent back to sleep is now
250 ms
(down from1000ms
). This timeout is now configurable using the driver optiontimeouts.sendToSleep
. This should result in significant battery savings for devices that frequently wake up. (#6312)
Bugfixes
- A bug in the
7.19.x
SDK has surfaced where the controller gets stuck in the middle of a transmission. Previously this would go unnoticed because the failed commands would cause the nodes to be marked dead until the controller finally recovered. Sincev11.12.0
however, Z-Wave JS would consider the controller jammed and retry the last command indefinitely. This situation is now detected and Z-Wave JS attempts to recover by soft-resetting the controller when this happens. (#6296) - Default to RF protection state
Unprotected
if not given forProtection CC
V2+ (#6257)
Config file changes
- Add Heatit Z-Water 2 (#6299)
- Add Shelly Wave 1PM (#6280, #6317)
- Add Heatit Z-TRM6 (#6263)
- Increase poll delay for ZW500D (#6270)
- Add fingerprint for Simon IO Master Roller Blind (#6262)
- Add HOPPE eHandle ConnectSense (#6269)
- Add parameters to Zooz ZEN17 from firmware 1.30 (#6189)
- Update Zooz ZEN32 config to the latest firmware, include 800 series (#6283)
Changes under the hood
- Fixed the interpretation of
limit_options
in OpenSmartHouse import script (#6313) - Some Z-Wave JS specific implementation checks are now done using a custom ESLint plugin (#6276, #6279, #6315)
- Migrated more Z-Wave JS specific checks to the custom ESLint plugin (#6297, #6302)
- Use ESLint to enforce consistent property ordering in config parameters and avoid unnecessary
minValue/maxValue
(#6321, #6322) yarn test
now only runs tests affected by changed files by default. This is also done on CI in PRs to speed up check times (#6274)- Upgraded lots of dependencies (#6258)
Release v12.0.0-beta.4
Features
- The default time after which battery-powered devices with no pending commands are sent back to sleep is now
250 ms
(down from1000ms
). This timeout is now configurable using the driver optiontimeouts.sendToSleep
. This should result in significant battery savings for devices that frequently wake up. (#6312)
Bugfixes
- Add missing export for
PartialZWaveOptions
(#6319)
Config file changes
- Add Heatit Z-Water 2 (#6299)
Changes under the hood
Release v12.0.0-beta.3
Bugfixes
- A bug in the
7.19.x
SDK has surfaced where the controller gets stuck in the middle of a transmission. Previously this would go unnoticed because the failed commands would cause the nodes to be marked dead until the controller finally recovered. Sincev11.12.0
however, Z-Wave JS would consider the controller jammed and retry the last command indefinitely. This situation is now detected and Z-Wave JS attempts to recover by soft-resetting the controller when this happens. (#6296)
Config file changes
- Add Shelly Wave 1PM (#6280)
Changes under the hood
Release v12.0.0-beta.2
Bugfixes
- Fixed an issue where some
Notification CC Reports
including an enumeration value would cause the corresponding value ID to be set to the wrong value (#6282) - When the Serial API on a controller restarts unexpectedly, the node ID length is now synchronized again (#6271)
Config file changes
- Add Heatit Z-TRM6 (#6263)
- Increase poll delay for ZW500D (#6270)
- Add fingerprint for Simon IO Master Roller Blind (#6262)
- Add HOPPE eHandle ConnectSense (#6269)
- Add parameters to Zooz ZEN17 from firmware 1.30 (#6189)
- Update Zooz ZEN32 config to the latest firmware, include 800 series (#6283)
- Add warnings about broken controller firmware versions (#6293)
Changes under the hood
Release v11.14.3
Bugfixes
- Fixed an issue where some
Notification CC Reports
including an enumeration value would cause the corresponding value ID to be set to the wrong value (#6282) - When the Serial API on a controller restarts unexpectedly, the node ID length is now synchronized again (#6271)
Config file changes
- Add warnings about broken controller firmware versions (#6293)