This Z-Wave integration is deprecated and replaced with a new implementation based on Z-Wave JS; it’s currently in beta, and you can try it now.

Z-Wave integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a supported Z-Wave USB stick or module to be plugged into the host.

There is currently support for climate, covers, lights, locks, sensors, switches, and thermostats. All will be picked up automatically after configuring this platform.

Before configuring the Z-Wave setup, please take a moment and read this article to understand the most common pitfalls of Z-Wave networks.

What is Z-Wave

Z-Wave is a wireless communication protocol designed for home automation. It uses a low power, and low bandwidth, mesh network that allows devices that aren’t within direct range of each other to communicate indirectly, via other nodes. Any device that’s permanently powered (not battery powered) will help build the mesh, if you don’t have enough powered devices, or you locate these poorly, your mesh will be unreliable. You can view the state of your mesh by graphing it.

There is a limit of 232 devices in a single Z-Wave network. If you need more devices then you could set up a second Home Assistant system with its own Z-Wave network and connect these with the MQTT Eventstream or MQTT Statestream integrations. There is also a limit of 4 hops for Z-Wave, so placing the controller as centrally as you can is important.

The Z-Wave standard was improved with Z-Wave Plus, and if you only use Z-Wave plus devices then you will gain the full benefits.

What do you need to use Z-Wave

There are 2 basic things you’ll need to use Z-Wave, a Z-Wave controller and one or more devices.

Regional differences

There are 12 different regions for Z-Wave devices, which relates to the frequency the devices use. There is overlap between the regions, but you should ensure that you buy devices for your region. Wikipedia has a list of the frequencies used.

Getting started

You’ll now need to connect your controller, configure the Z-Wave integration, then add some devices using the control panel. This explains about devices, and how entities are named.

You can get more information on the available services and events, what the query stages of battery powered devices are, as well as details on configuring specific devices.

Instant status updates

When you toggle a switch or control a light locally you may find that it takes some time for that to be reflected in Home Assistant. That’s because Lutron had patents on the status updates using the Hail command class, the traditional way of allowing devices to tell the controller that something happened locally. The same result can be achieved through the Association command class, or Central Scene command class (though, Central Scene isn’t fully supported in OpenZWave).

If you search the Z-Wave products database for your product and it lists one of those in the Controlled command classes (not the Supported command classes), then your device will be able to report state changes when they happen. If it doesn’t then updates may either happen eventually, or you may need to (carefully) enable polling.