Create entity with zwave device firmware rev

Is it possible to expose the firmware version of a zwave device? I’d like to create a table with a list of all devices and their firmware versions. I’m using zwavejs2mqtt.

I know the firmware version is in the node information frame provided by the device when interviewed. Expand the device & look under Version. You did not even try, did you??

Wow, condescending much? I know it’s there. I want to view all nodes at a glance without having to expand every node. It’s very tedious with 50+ devices.

You can use this template in a markdown card for a quick view.

{%- set ns = namespace(devices=[]) %}
{%- for s in states if device_id(s.entity_id) is not none %}
{%- set ids = device_attr(s.entity_id, 'identifiers') | list | first %}
{%- if ids and ids | length == 2 and 'zwave_js' in ids[0] %}
{%- set node = ids[-1].split('-')[-1] %}
{%- set ns.devices = ns.devices + [ (node | int, device_id(s.entity_id)) ] %}
{%- endif %}
{% endfor %}
Name|Node|Manufacturer|Model|Firmware Version
:-:|:-:|:-:|:-:|:-:
{%- for node, device_id in ns.devices | unique | sort %}
{{ device_attr(device_id, 'name_by_user') or device_attr(device_id, 'name') }}|{{ node }}|{{ device_attr(device_id, 'manufacturer') }}|{{ device_attr(device_id, 'model') }}|{{ device_attr(device_id, 'sw_version') }}
{%- endfor %}

It looks like this when displayed:

Name Node Manufacturer Model Firmware Version
Hallway Switch 82 GE/Jasco 14294 / ZW3005 5.29
Kitchen Recessed Lights Switch 83 GE/Jasco 14294 / ZW3005 5.29
Kitchen Island Dimmer 84 GE/Jasco 14294 / ZW3005 5.29
Dining Room Chandelier Switch 85 GE/Jasco 14294 / ZW3005 5.26
Pantry Light Switch 86 GE/Jasco 46201 5.53
4 Likes

Thank you!

FYI, v5.5.2 of zwavejs2mqtt also includes Firmware version in the nodes table. If you’re using the addon this version isn’t yet available. You might need to click the “Reset Table” button for it to show up after upgrading (when the version is available).

1 Like

Great to know. Thanks.

I can’t seem to get this to work any more… I keep getting

UndefinedError: No first item, sequence was empty.