Identify Devices from Home Assistant in Z-Wave JS UI

I recently switched from integrated Z-Wave JS to Z-Wave JS UI which was not so easy as i expected, but now it works and gives a better insight.

All devices in Home Assistant are named but in Z-Wave JS UI are only generic “names”

Home Assistant:

Z-Wave JS UI:

How can i figure out, which node from Z-Wave JS UI corresponds with which device in Home Assistant?

If you go to the Z-Wave JS Integration then select your device and expand the Z-Wave Info section you will be able to see the node id of that device.

2 Likes

You can also set the name in Z-wave-JS UI to be the same as in the integration.

1 Like

If you set name in zwavejs before adding integration HA will add device using the name from zwavejs

1 Like

Thats what i wanted to do :wink:

1 Like

You can use some template code to extract all the device information that is available in HA and compare it to the ZUI control panel table. You can style the information however you like. Here’s an example that creates a stylized Markdown table:

{%- set ns = namespace(nodes=[]) %}
{%- for dev_id in integration_entities('zwave_js') | map('device_id') | unique %}
{%- set node_id = (device_attr(dev_id, 'identifiers') | first | last).split('-')[1] %}
{%- set ns.nodes = ns.nodes + [(node_id | int, dev_id)] %}
{%- endfor %}
ID  | Manufacturer | Product / ZUI Custom Name | Product code | HA Custom Name | Location / Area | FW
---:|:-------------|:--------------------------|:-------------|:---------------|:----------------|---:
{%- for node_id, dev_id in ns.nodes | sort(attribute='0') %}
{{ ["**%03d**" | format(node_id),
    device_attr(dev_id, 'manufacturer'),
    device_attr(dev_id, 'name'),
    device_attr(dev_id, 'model'),
    device_attr(dev_id, 'name_by_user') or "",
    area_name(dev_id) or "",
    device_attr(dev_id, 'sw_version')] | join("|") }}
{%- endfor %}

The result in a Markdown card is:

Compare to the default view in ZUI:

The Markdown card styling is not great. To get that view I had to create a new tab and configure the view type as “Panel (1 card)”, otherwise the card is too narrow and looks bad. You could also try HTML in Markdown. If it’s a one time thing, just put the template code in the devtools template editor and format the text as desired, put it in CSV or Tab-delimited format, etc., etc.

1 Like