Z-Wave Control Panel


If you don’t see the Configuration menu on the menubar, where you’ll find the Z-Wave menu, see here.

Z-Wave Network Management

Here is where you include and exclude Z-Wave devices from your network.

  • Add Node puts the controller into inclusion mode, so you can include (add) a device to your Z-Wave network
  • Add Node Secure puts the controller into secure inclusion mode (this requires that you’ve created a security key)
  • Remove Node puts the controller into exclusion mode, so you can exclude (remove) a device. Note that you can exclude a non-secure device that’s been added to another network
  • Cancel Command cancels any of the above

  • Heal Network tells the controller to “heal” the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing.
  • Start Network starts the Z-Wave network
  • Stop Network stops the Z-Wave network
  • Soft Reset tells the controller to do a “soft reset.” This is not supposed to lose any data, but different controllers can behave differently to a “soft reset” command, and may cause the Z-Wave network to hang.
  • Test Network tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked “presumed dead”.
  • Save Config Saves the current cache of the network to zwcfg_[home_id].xml

Z-Wave Node Management

  • Refresh Node refreshes the information on the node and its entities. If used on a battery powered device, the device will first need to wake for this to work.
  • Remove Failed Node will remove a failed node from the network. The node needs to be on the controller’s Failed Node List (marked as is_failed: true), otherwise this command will fail.
  • Replace Failed Node will replace a failed device with another. If the node is not in the controller’s Failed Node List, or the node responds, this command will fail.
  • Print Node prints all state of Z-Wave node to the console log

  • Rename Node sets a node’s name - this won’t happen immediately, and requires you to restart Home Assistant (not reboot) to set the new name

  • Heal Node starts healing of the node.(Update neighbor list and update return routes)

  • Test Node sends no_op test messages to the node. This could in theory bring back a dead node.

Since 0.63 and the new experimental entity registry Rename Node no longer changes the entity id for anything other than the zwave. entity for the node (it does change, the default friendly_name and old_entity_id and new_entity_id attributes for all the entities). See this issue.

Battery powered devices need to be awake before you can use the Z-Wave control panel to update their settings. How to wake your device is device specific, and some devices will stay awake for only a couple of seconds. Please refer to the manual of your device for more details.

Entities of this node

This is a dropdown where you can select all the entities of this node. Once selected you can then use:

  • Refresh Entity to refresh just that entity’s values
  • Entity Attributes to display the attributes of that entity (eg its friendly name, the ID of the node, etc)

Here you can mark a device as requiring polling so the controller is aware of changes because the device doesn’t send updates itself. Do see the information on polling here, since excessive polling can break your Z-Wave network.

The Polling intensity says how many poll intervals does is this device polled on. For example, if you set 2 then it’s polled on every second interval.

You can also exclude a Z-Wave devices from Home Assistant. You can do that if you have a device that you need to have on the Z-Wave network, but you don’t want it to appear in Home Assistant, or if you’ve got a device that’s failed and you’re unable to exclude it.

Node Information

This will display the Z-Wave related information about the node:

  • averageRequestRTT The average Round Trip Time (RTT) of requests sent to the node, in milliseconds. A value of 250, for example, is a quarter of a second.
  • averageResponseRTT The average Round Trip Time of responses to requests
  • battery_level Battery powered devices only - the battery level, which may be rounded to the nearest 10
  • capabilities A comma separated list of the capabilities of the device
  • friendly_name The name you specified to be displayed
  • is_awake Whether the device is awake or not
  • is_failed Whether the device has been marked as failed. The controller won’t try to contact failed devices.
  • is_info_received True once the controller has received the node information from the node.
  • is_ready When you start the network (or Home Assistant) it will take a short while before all devices are ready, this shows which aren’t yet ready.
  • is_zwave_plus True for any Z-Wave Plus devices (note that controllers always report false, regardless of whether they are Plus devices or not)
  • lastRequestRTT The Round Trip Time of the last request
  • lastResponseRTT The Round Trip Time of the response to the last request
  • manufacturer_name The name of the manufacturer, as supplied by OpenZWave
  • max_baud_rate The maximum bandwidth the device supports, most modern devices will support 40,000 or higher
  • new_entity_id In 0.47, Home Assistant introduced a new naming convention for entities, this shows the new naming convention
  • node_id The unique node ID of this node
  • node_name The base name of this node, this is used to build the entity ID of all entities of this node
  • old_entity_id If new_entity_ids: false has been configured, then this is the entity_id that will be used. Support for this will be removed in the future
  • product_name The product name of the device, as supplied by OpenZWave
  • query_stage The query stage for this device (see here for details)
  • receivedCnt The number of messages received from the device
  • receivedDups The number of duplicate messages received from the device
  • receivedTS The date and time the last message was received from the devices
  • receivedUnsolicited How many unsolicited messages were received
  • retries How many retries have been made to send messages to this node
  • sentCnt How many messages have been sent to the node
  • sentFailed How many messages that were sent weren’t acknowledged
  • sentTS The date and time the last message was sent to the ndoe
  • wake_up_interval Battery powered devices only - the wakeup interval of the device, in seconds

Node Values

Allows you to rename the entities of the node. For example, maybe for the sensor front_door, you want to rename the value seismic_intensity to shake. The entity_id for that sensor will then change from sensor.front_door_seismic_intensity to sensor.front_door_shake.

Node group associations

Where the device supports the Association command class, this will allow you to associate the device with another. OpenZWave will automatically associate the device with the controller, to provide instant updates when the device doesn’t support the Hail command class.

You can use this to enable one device to directly control another. This is primarily useful for remote controls that operate lights or switches, or where you want to have multiple devices operate as one.

There may be multiple groups, that are used for different purposes. The manual of your device will explain what each group is for.

Node config options

You can set the wakeup interval (in seconds) of the device, this is shown for all devices that can be battery powered, even if they are currently mains powered. The wakeup interval only applies when those devices are battery powered.

Underneath that you can select any supported configuration parameter to see the current setting. You can then change this and select Set Config Parameter to updated it. Battery powered devices will be updated the next time they wake.

Node user codes

If your node has user codes, you can set and delete them. The format is raw hex Ascii code. Below the input you will see your actual code. For normal nodes this is as follows:

\x30 = 0
\x31 = 1
\x32 = 2
\x33 = 3
\x34 = 4
\x35 = 5
\x36 = 6
\x37 = 7
\x38 = 8
\x39 = 9

Some non compliant device like tag readers, have implemented to use raw hex code. Please refer to a hex ascii table to set your code. Example: http://www.asciitable.com/

Here is a small Python program than will take numbers on the command line and print the correct sequence for compliant devices:

#! /usr/bin/python3
import sys

translations = {}

for x in range(0, 10):
    translations["%s" % x] = "\\x3%s" % x

for c in sys.argv[1]:
    print(translations[c], end='')

OZW Log

If you want to only retrieve some lines at the end of the log, you can specify that with the selection field. Max is the last 1000 lines and minimum is 0 which equals the whole log. If this is not specified, you will retrieve the whole log. Select Refresh to display the log if you need it to check activities.