← Back to all sparks
Z

Z-Wave JS

DEVOPS
Velocity5.0

Z-Wave protocol driver implementation for home automation in JavaScript

Z-Wave driver where the hard problems are now smart locks and device quirks.

z-wavehome-automationsmart-locksdevice-configprotocol
Current state
Z-Wave JS is the driver layer underneath most open-source Z-Wave integrations, and its releases follow a tight weekly-to-fortnightly rhythm mixing three things: protocol correctness, device config files, and developer surface. The current focus is clearly credential handling on smart locks — several consecutive releases fix stale cached credentials, bulk user deletion timeouts, and locks misreporting progress during credential learning. Alongside that, inclusion reliability got direct attention, with ongoing interviews now paused during inclusion and security bootstrapping.
Where it's heading
The protocol work is moving from getting commands through to getting them right under adversarial timing — S2 delivery verification, split multi-frame reports, and optimistic value updates now distinguishing actuator from non-actuator command classes. The other steady stream is the device database, which absorbs manufacturer inconsistencies so integrations above it do not have to.
Prediction
User Code and User Credential handling should keep generating fixes, since each release surfaces another lock firmware that deviates from the spec in a new way.

Recent moves

  1. 4d ago

    PTI Zniffer trace support and a value-DB race condition fix

    Adds the ability to open Zniffer traces captured by a PTI Zniffer, useful for anyone debugging RF-level problems. The substantive fixes are a race where the driver could persist command class values after the value DB closed, and unparsable Supervised Notification Reports now answered with a Fail status rather than silently dropped.

    View source ↗
  2. 25d ago

    Interviews pause during inclusion; proprietary Aeotec and Z-Wave.me commands

    Pausing ongoing interviews during inclusion, security bootstrapping and exclusion targets the exact scenario where Z-Wave networks are least reliable — adding several devices at once. The lock fixes continue the credential-caching thread running through this whole window.

    View source ↗
  3. 1mo ago

    Missing type exports and command class metadata corrections

    Restores missing exports for AssociationGroupInfo, UserCode and EndpointCapability types, plus Irrigation and Window Covering metadata corrections. Mostly relevant to integrators consuming the TypeScript API.

    View source ↗
  4. 1mo ago

    S2 delivery verification via sequence number; User Code cache sync fix

    Treats a command arriving with the next expected sequence number as delivery verification instead of waiting for a possible NonceReport, cutting a class of unnecessary waits on S2 traffic. Also distinguishes actuator from non-actuator command classes when deciding whether to update a value optimistically, which matters on slow devices.

    View source ↗
  5. 1mo ago

    Device config corrections for Zooz, SimonTech and MCOHome

    Config-file-only release aligning Zooz devices with documentation and adding missing product IDs. The development MCP server gaining tools for navigating config template imports is the one note aimed at contributors rather than users.

    View source ↗
  6. 1mo ago

    Granular interview progress reporting via a new event

    Adds a 0-100% interview progress event, which lets integrations show real progress instead of an indefinite spinner while a device is being interviewed. Small surface, but device interviews are the slowest visible operation in Z-Wave onboarding.

    View source ↗