#Z-wave NodeID overview

1 messages · Page 1 of 1 (latest)

polar geode
#

as a follow-up to #1284152665357418531 message just posting this template that creates a Markdown card with the Nodes name_by_user : nodeID mapping, which I needed to debug some Z-wave loggings. Ha doesnt allow us to easily find the NodeId other than checking each and every individual Device in the Z-wave integrations panel. With this we can now look them up. Thanks to @slender musk and @hexed ravine who helped me out also in the community at https://community.home-assistant.io/t/expose-nodeid-on-the-zwave-devices/770688/7?u=mariusthvdb

odd lion
#

I've been using this for awhile (works for single network). Links to config/device list/device.

polar geode
#

Oh that is perfect! Any chance of a link to that, or a markdown card template?

odd lion
#

Sure, want me to post here or in the community post? Wasn't sure about the latter.

polar geode
#

maybe community, seems a bit nicer for posting larger yaml / templates and screenshots etc etc

#

btw, fighting with the 0.7.1 update once again, after having updated to HA OS 13.1. Had to downgrade to 0.6.2 because all devices had become unavailable again. 0.6.2 brings them back

odd lion
#

What controller are you using?

polar geode
#

AeonLabs Z-stick gen 5. using the core Integration and add-on

odd lion
polar geode
#

FW 1.1, but still back to running 0.6.2

odd lion
#

You should still be able to see the was real primary value

polar geode
#

where is that supposed to be logged? Ive set debug logging, but cant see that at all.

odd lion
#

When the add-on starts up. You can turn on log file debugging if you can't catch it in time.

polar geode
odd lion
#

Try a re-interview.

#

If you want someone to look into why the devices became unready, turn on driver log to file, then do an upgrade to 0.7.2 and post the logs.

polar geode
#

I did another uodate to 0.7.2, and now all doors (the Sensative strips) are online/available. Asleep, but available 😉 All battery powered devices for that matter, like flood sensors, are available.

stable panther
#

Hi. What is your use case for wanting access to the node IDs? I'm curious, because perhaps that provides opportunities to do some things that I hadn't thought about. Thank you.

polar geode
#

now, if they mention the NodeID again, I just have to look at the markdown card to find the culprit device

polar geode
#

back again.... trying to add the node_status to this table, but my head is spinning how to get from the dev_id we seet in this template, to the resulting node_status from eg {% set z = expand(integration_entities('zwave_js')) %} {% set status = z |selectattr('entity_id','search','node_status') |map(attribute='state')|list %} {{status}}

#

please have a look if there is a way to add it to the large table?

#

to give the idea

          ID | Manufacturer | Product | Product code | Name by user | Location / Area | FW | Status

          :-|:-|:-|:-|:-|:-|:-|:-

          {%- for node_id,dev_id in ns.nodes|sort(attribute='0') %}

          {{ ['[**%01d**](/config/devices/device/%s)'|format(node_id,dev_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'),
              device_attr(dev_id,'node_status')]|join('|') }}
          {%- endfor %}``` which doesnt work obviously, just posting that to illustrate what I hope to achieve
#

this would be a start I believe {%- for dev_id in integration_entities('zwave_js')|map('device_id')|unique %} {{device_entities(dev_id)|select('search','_node_status')|map('states')|list}} {% endfor %} but now get that into the table...

#
          {{ ['[**%01d**](/config/devices/device/%s)'|format(node_id,dev_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'),
              device_entities(dev_id)|select('search','_node_status')|map('states')|list]|join('|') }}
          {%- endfor %}``` is almost there...!  need to do away with those ugly list brackets
#
device_entities(dev_id)|select('search','_node_status')|map('states')|list|join('|') or '' ]|join('|') }}