← Back to all sparks
Z

Z-Wave JS

DEVOPS
Velocity6.3

Z-Wave protocol driver implementation for home automation in JavaScript

Z-Wave JS overhauls its RCP firmware driver in a nine-PR push toward production readiness.

smart-homez-waveiothome-assistantopen-sourcehardware-drivers
Current state
Z-Wave JS v15.x is in active maintenance and incremental feature development, shipping roughly every 1–3 weeks. The library is the backbone of Z-Wave support in Home Assistant via the Z-Wave JS add-on, and recent releases have split attention between hardware driver improvements (RCP support, proprietary controller commands) and protocol reliability (command deduplication, interview sequencing, S2 encapsulation fixes). The v15.28.0 RCP driver overhaul is the most concentrated single-version effort in this range.
Where it's heading
The dominant hardware trend in Z-Wave JS is Radio Co-Processor (RCP) architecture support — the new topology used by Nabu Casa Yellow and similar embedded smart home hubs, where the radio is a co-processor with separately updatable firmware rather than a monolithic USB stick. The library is making a clear investment in this path. Alongside that, interview reliability improvements (pausing during inclusion, deduplication of queued commands) signal a focus on reducing setup friction for multi-device deployments.
Prediction
RCP support will graduate from experimental to stable in a coming release as the driver matures. The `lastAwake` persistence added in v15.29.0 is the kind of foundational telemetry that enables smarter polling and sleep-cycle optimization — expect follow-on features that use it.

Recent moves

  1. 5d ago

    Command deduplication and persisted lastAwake in v15.29.0

    v15.29.0 adds automatic deduplication of redundant and superseded commands — the driver now aborts or merges overlapping transactions rather than queueing them all. The new `lastAwake` property persists node wake-up times across restarts. Both are foundational reliability improvements for battery-powered device management.

    View source ↗
  2. 19d ago

    Z-Wave JS ships a nine-PR RCP firmware driver overhaul with Nabu Casa support

    ⚡ SPARK

    v15.28.0 is the largest single-version push on RCP driver capability in this range — nine PRs covering the experimental firmware driver, Nabu Casa controller bootloader version detection, firmware update service chip version reporting, and Z-Wave CTT PTI capture parsing for Zniffer. The breadth signals a transition from experimental to near-production for the RCP hardware path.

    View source ↗
  3. 1mo ago

    Release v15.27.1

    v15.27.1 limits a Z-Wave.me proprietary command to firmware 5.3+ and adds a device fingerprint. A targeted bug fix with no user-visible feature impact.

    View source ↗
  4. 1mo ago

    PTI Zniffer trace support and race condition fixes in v15.27.0

    v15.27.0 adds support for opening Zniffer traces captured by a PTI Zniffer — expanding the debugging and analysis toolchain for Z-Wave network inspection. The accompanying race condition fix (driver attempting to persist CC values after the value DB closes) addresses a real crash scenario.

    View source ↗
  5. 2mo ago

    Interview pausing during inclusion and proprietary Aeotec/Z-Wave.me commands in v15.26.0

    v15.26.0 pauses ongoing interviews during inclusion, security bootstrapping, and exclusion — a meaningful fix for the reliability issues that arise when adding multiple devices to a busy network. Proprietary controller commands for Aeotec and Z-Wave.me hardware also land here, extending the library's reach to controller-specific APIs.

    View source ↗
  6. 2mo ago

    Release v15.25.3

    v15.25.3 adds missing type exports and corrects device configuration metadata. Maintenance-level housekeeping with no user-visible behavioral changes.

    View source ↗