---
title: "Z-Wave"
description: "Z-Wave is a built-in integration for Home Assistant. It has 46.4k installs sharing analytics and works locally."
canonical: "https://vulpo.app/integrations/core/zwave-js"
url: "https://vulpo.app/integrations/core/zwave-js.md"
last-updated: "2026-10-22"
version: "1.4"
---

# Z-Wave

> Z-Wave is a built-in integration for Home Assistant. It has 46.4k installs sharing analytics and works locally.

Z-Wave is a built-in Home Assistant integration that connects Z-Wave devices through the Z-Wave JS server. It works locally and is set up in the UI, using either a USB device path or a socket path, or by connecting to the Z-Wave JS app. It provides platforms such as climate, covers, fans, lights, locks, sensors, sirens and switches, and adds diagnostic sensors for signal strength, round trip time and node status, plus a ping button. Actions cover lock user and credential management, setting device configuration parameters, multicast value changes, refreshing values and notifications, resetting meters, and pinging a node. Devices offer triggers for notifications, node status changes and value changes, so they can start automations directly, and repair notices appear for an outdated server or an unknown adapter.

Automatic summary of Home Assistant's source code. Something wrong? [Get in touch](https://vulpo.app/contact)

[Open in My Home Assistant](https://my.home-assistant.io/redirect/config_flow_start/?domain=zwave_js)

## Supports

- **Works locally**: Talks to your devices on your own network. No vendor cloud in between.
- **Set up in the UI**: Add it in Settings, Devices and services. Nothing to download.
- **Found by itself**: Home Assistant spots it on the network and offers to add it.
- **Device triggers**: Its devices can start automations directly.
- **Updated with Home Assistant**: Ships and updates with every Home Assistant release.

## Setting it up

Home Assistant usually finds it on the network and offers to add it. It can also be added by hand under Settings, Devices and services.

### Enter the address

- **URL**

Also asked when at the manual reconfigure step.

### Select your Z-Wave device

- **Socket device path**
- **USB device path**

Also asked when at the enter the z-wave js app configuration step.

### Enter the Z-Wave JS app configuration

- **Long Range S2 Access Control Key**
- **Long Range S2 Authenticated Key**
- **S0 Key (Legacy)**
- **S2 Access Control Key**
- **S2 Authenticated Key**
- **S2 Unauthenticated Key**
- **Socket device path**
- **USB device path**

### Security keys

- **Long Range S2 Access Control Key**
- **Long Range S2 Authenticated Key**
- **S0 Key (Legacy)**
- **S2 Access Control Key**
- **S2 Authenticated Key**
- **S2 Unauthenticated Key**

### Z-Wave network

- **Is your network new or does it already exist?**

### Select connection method

- **Use the Z-Wave JS app**

Texts from Home Assistant's source code, [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).

## Entities

- **Buttons**: Ping
- **Sensors**: Collisions, Status, Last seen, Messages not accepted, Node status, Round trip time, Signal strength, Missing ACKs, Timed out callbacks, Timed out responses

## Actions

- **Bulk set partial configuration parameters**: Allows for bulk setting partial parameters. Useful when multiple partial parameters have to be set at the same time.
  Fields: Area ID(s), Device ID(s), Endpoint, Entity ID(s), Parameter, Value
- **Clear lock user code**: Clears a user code from a lock.
  Fields: Code slot
- **Delete all credentials**: Deletes all credentials for a user on a lock.
  Fields: User index
- **Delete all users**: Deletes all access-control users from a lock.
- **Delete credential**: Deletes a single credential from a lock.
  Fields: Credential slot, Credential type, User index
- **Delete user**: Deletes a single access-control user from a lock.
  Fields: User index
- **Get credential capabilities**: Queries the credential management capabilities of a lock.
- **Get lock user code**: Gets user codes from a lock.
  Fields: Code slot
- **Get users**: Lists all access-control users and their credential references on a lock.
- **Invoke a Command Class API on a node**: Calls a Command Class API on a node. Some Command Classes can't be fully controlled via the set\_value action and require direct calls to the Command Class API.
  Fields: Area ID(s), Command class, Device ID(s), Endpoint, Entity ID(s), Method name, Parameters
- **Set a value on multiple devices via multicast**: Changes any value that Z-Wave recognizes on multiple Z-Wave devices using multicast, so all devices receive the message simultaneously. This action has minimal validation so only use this action if you know what you are doing.
  Fields: Area ID(s), Broadcast, Command class, Device ID(s), Endpoint, Entity ID(s), Options, Property, Property key, Value
- **Ping a node**: Forces Z-Wave to try to reach a node. This can be used to update the status of the node in Z-Wave when you think it doesn't accurately reflect reality, e.g. reviving a failed/dead node or marking the node as asleep.
  Fields: Area ID(s), Device ID(s), Entity ID(s)
- **Refresh notifications on a node**: Refreshes notifications on a node based on notification type and optionally notification event.
  Fields: Area ID(s), Device ID(s), Entity ID(s), Notification Event, Notification Type
- **Refresh values**: Force updates the values of a Z-Wave entity.
  Fields: Entities, Refresh all values
- **Reset meters on a node**: Resets the meters on a node.
  Fields: Area ID(s), Device ID(s), Entity ID(s), Meter type, Target value
- **Set device configuration parameter**: Changes the configuration parameters of your Z-Wave devices.
  Fields: Area ID(s), Bitmask, Device ID(s), Endpoint, Entity ID(s), Parameter, Value, Value format, Value size
- **Set credential**: Adds or updates a credential (PIN code or password) for an existing user on a lock entity. Call set\_user first to create a user if needed.
  Fields: Credential data, Credential slot, Credential type, User index
- **Set lock configuration**: Sets the configuration for a lock.
  Fields: Autorelock time, Block to Block, Hold and release time, Lock timeout, Operation type, Twist Assist
- **Set lock user code**: Sets a user code on a lock.
  Fields: Code slot, Code
- **Set user**: Creates or updates an access-control user on a lock entity. When no user\_id is given, a new user is created. A credential (PIN code or password) can be written in the same call. Returns the allocated user\_id, plus the credential\_slot when a credential was written, for each targeted lock entity.
  Fields: Active, Credential data, Credential rule, Credential slot, Credential type, User index, User name, User type

## Troubleshooting

- **Diagnostics**: Downloads a diagnostics file to attach to a bug report.
- **Repair notices**: Notices it can show in Settings, Repairs:
  Newer version of Z-Wave Server needed, An unknown adapter was detected

## At a glance

- Kind: Built-in integration
- Category: [Hubs and protocols](https://vulpo.app/integrations/category/hubs-and-protocols.md), Wireless protocols
- Brand: [Z-Wave JS](https://vulpo.app/integrations/z-wave-js.md)
- Number: 46.4k installs sharing analytics
- Connection: Works locally
- Upkeep: Part of Home Assistant
- Needs: Built into Home Assistant
- Domain: `zwave_js`
- Source: <https://www.home-assistant.io/integrations/zwave_js/>

In Vulpo: Light card, Quick Toggle card, Cover card, Climate card, Apple Watch, Control Center, Climate Live Activity (Pro)

[Widgets & Live Activities in Vulpo](https://vulpo.app/features/widgets-and-live-activities)

## Other ways in for Z-Wave JS

| Name | Kind | Installs or stars | Connection | Upkeep |
| --- | --- | --- | --- | --- |
| [Leviton VRCS4 / VRCZ4](https://github.com/ygelfand/vrcx4-zwavejs) | Marketplace integration | No installs sharing analytics yet | Works locally | Updated in the last 6 months |
| [Z-Wave JS](https://vulpo.app/integrations/apps/zwave-js.md) | App | 41.6k installs sharing analytics | Connection not stated | Part of Home Assistant |
| [Z-Wave JS UI](https://vulpo.app/integrations/apps/zwavejs2mqtt.md) | App | 16.3k installs sharing analytics | Connection not stated | Updated in the last 6 months |

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. [About these numbers](https://vulpo.app/integrations/about)

Last updated 2026-10-22. Source: https://vulpo.app/integrations/core/zwave-js

---

- HTML version of this page: https://vulpo.app/integrations/core/zwave-js
- Site index for agents: https://vulpo.app/llms.txt
- Everything in one document: https://vulpo.app/llms-full.txt
- All pages: https://vulpo.app/sitemap.xml
