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.
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 components. 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.
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.
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.