Skip to content

Releases: zwave-js/node-zwave-js

Release v5.2.2-artecktest.1

04 Oct 06:09
Compare
Choose a tag to compare
Pre-release

Debug release for Arteck

Bugfixes

  • Nodes are sent to sleep again when they have no pending messages
  • Compat queries are removed from the queue when a node goes to sleep
  • Pending pings are resolved when a node wakes up

Release v5.2.2-artecktest.0

03 Oct 15:27
Compare
Choose a tag to compare
Pre-release

Debug release for Arteck

Release v5.2.1

03 Oct 09:48
Compare
Choose a tag to compare

Bugfixes

  • Fixed a crash while trying to determine the notification mode of a node
  • Fixed a crash while defining metadata for a non-idle notification value

Release v5.2.0

01 Oct 16:11
Compare
Choose a tag to compare

Features

  • It is now possible to add an expiration timeout to sent messages by using the expire option for sendMessage.
  • Security CC now stores unsolicited nonces as "free" and tries to use free nonces instead of requesting a new one if possible.
  • Several improvements to Notification CC:
    • The interview now detects whether a node is push or pull
    • Push nodes now have their supporting values set to idle if no value is yet known
    • Pull nodes are now auto-refreshed every 6 hours and on wakeup

Bugfixes

  • During secure inclusion, the timeouts required by the Z-Wave specs are now correctly enforced
  • When starting a network heal, the "heal network progress" event is now emitted immediately with the initial progress.
  • Fixed a crash that could when queueing handshake messages while controller messages are pending
  • Thermostat Setpoint Set commands now use the device-preferred scale instead of defaulting to the first one.
  • A couple of Notification CC variables were changed to not have an idle state

Changes under the hood

  • Formatting log messages has been simplified. Log messages are now defined as objects and the log formatter auto-aligns the values.
  • All remaining CCs had their log representation improved. If an error occurs during this conversion, this error is now caught.
  • Code cleanup: TODOs, useless string interpolations
  • Updated a bunch of dependencies

Release v5.1.0

28 Sep 22:01
Compare
Choose a tag to compare

Features

  • Added support for User Code CC V2
  • All timeouts and the number of retry attempts are now configurable through the Driver options.

Bugfixes

  • Nodes are now only marked as dead or asleep if the controller receives no ACK for the sent messages. Missing responses to potentially unsupported requests no longer change the node status.
  • SendSupervisedCommandOptions now correctly extends CommandOptions
  • Timeouts configured through Driver options are now respected correctly

Release v5.0.0

25 Sep 15:14
Compare
Choose a tag to compare

Breaking changes

  • The status Alive was added to the NodeStatus enumeration. The node status can no longer switch between all states, only between Dead and Alive, between Asleep and Awake and from and to Unknown.
  • The status property on ZWaveNode is now readonly. To change the status, use the markAsAsleep and similar methods, which only change the status if it is legal to do so.
  • Unsolicited commands are now discarded in accordance with the Z-Wave specs if they are unencrypted but the CC is supported secure only
  • driver.start() now throws if no handler for the "error" is attached

Features

  • A new method withOptions was added to CCAPI, which controls the used SendCommandOptions. For example, this allows changing the priority of each API call for that instance.
  • All interview messages now automatically have a lower priority than most other messages, e.g. the ones created by user interaction. This should make the network feel much more responsive while an interview process is active.
  • The node events asleep, awake, alive and dead now include the previous status aswell.
  • Added the method isEncapsulatedWith to CommandClass to perform checks on the encapsulation stack.
  • In addition to serial ports, serial-over-tcp connections (e.g. by using ser2net) are now supported. You can connect to such a host using a connection string of the form tcp://hostname:port. Use these ser2net settings to host a serial port: <external-port>:raw:0:<path-to-serial>:115200 8DATABITS NONE 1STOPBIT

Bugfixes

  • Improved performance of reading from the Value DB
  • Retransmission of commands now distinguishes between errors on the controller side and missing responses from nodes
  • If a node that is known to be included securely does not respond to the Security CC interview, it is no longer assumed to be non-secure
  • If a node that is assumed to be included non-securely sends secure commands, it is now marked as secure and the interview will be restarted
  • The interview for sensor-type CCs is now skipped if a timeout occurs waiting for a response. Previously the whole interview was aborted.
  • Basic CC values that are mapped to Binary Switch or Binary Sensor are now interpreted correctly.
  • Fixed a crash that could occur when assembling a partial message while the driver is not ready yet.

Changes under the hood

  • The driver has been completely rewritten with state machines for a well-defined program flow and better testability. This should solve issues where communication may get stuck for unknown reasons.
  • A node's status and ready properties are now managed by state machines to have better control over how and when the status changes.
  • Enabled the TypeScript option strictFunctionTypes and the usage of several decorators is now statically enforced
  • Added more fine-grained control over expected responses, and distinguish between responses, callbacks and node updates for sent messages.
  • Many CCs had their log representation improved. If an error occurs during this conversion, this error is now caught and logged.

Release v4.2.3

18 Sep 19:39
Compare
Choose a tag to compare

Config changes

  • Add support for Everspring AC301

Release v4.2.2

15 Sep 10:27
Compare
Choose a tag to compare

Config changes

  • Removed parameter #5 from Aeon Labs ZW130 because it doesn't seem to be supported in any firmware version

Bugfixes

  • A node is no longer marked as dead or asleep if it fails to respond to a Configuration CC::Get request. This can happen if the parameter is not supported.

Release v4.2.1

10 Sep 10:23
Compare
Choose a tag to compare

Config changes

  • Added a configuration file for ABUS CFA3010.

Release v4.2.0

04 Sep 18:26
Compare
Choose a tag to compare

Features

  • Invalid Multi Channel CC::Command Encapsulation which follow the V2+ format but use a V1 header are now treated like valid commands

Bugfixes

  • Further performance improvements while decoding Configuration CC::Reports