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