Device Network ID

Hello I am trying to understand the way devices work and how the ID's are handled.
I have an Inovelli lzw31-sn that I had some issues with and had to exclude the device and then include it back to the Hubitat. I noticed each time I had to do that the device count increased by one. So I decided to go in and "edit" the device ID back to 06 from 09 as the DNI had increased 3 times. Well, that seemed to have broken the device communication. I know if I exclude/include it again it will work fine but is there a way to change the DNI without losing functionality? I would like to be able to reset the device without losing the original DNI. One would think this is possible provided the original ID is not being used?

Please help me to understand and provide any possible resolution.

Thanks in advance, RH.

If you exclude/include you don't need to edit the device ID. Its set to the zwave ID of the device which changes every time. The ID is assigned when the device is added to the network.

Is something breaking that makes you want to change the ID back?

3 Likes

Yes, I wanted to try and keep the devices in numerical order is all. Is there a way to change it and still have the device work as intended? I would like to reuse the original ID to keep my numerical device count accurate. Is this possible?

No, Z-Wave devices get assigned a node ID at the time of pairing by the controller (Hubitat), which gets written to the Device Network ID field in Hubitat by default (like many things in Hubitat, that terminology is really a carryover from a similar concept on the Zigbee side, but this is what it corresponds to on Z-Wave). If you change the DNI for a Z-Wave device, then Hubitat won't be able to communicate with that device anymore, which is one reason that the UI makes you jump through hoops to do so.

There is no reason to worry about non-sequential node IDs. This happens all the time as you add/remove devices. It also happens sometimes when just adding devices if something goes wrong and the device doesn't finish pairing (that's not an ideal situation and I don't normally see it with non-secure devices). If you're concerned about the 232-node limit on Z-Wave, this still isn't a problem, assuming you do not indeed have that many actual devices: if get up that high, the controller will "wrap around" and begin assigning unused node IDs again. So I suppose if it really bothers you, trying to pair your current device 200+ times until that happens would be one way to make what you want happen. Personally, I wouldn't bother. :slight_smile:

There's actually a second way that could work, but still wouldn't risk it for just this reason--Z-Wave has a "replace" feature (not exposed in Hubitat but could be done with third-party software if you have a Z-Wave stick or external controller) to replace one node with a "new" device, but that's really intended for failed devices where you're replacing that device with a new one. The advantage here would be more that you wouldn't have to re-do apps/automations with that device since they'd look the same to Hubitat afterwards. I've never bothered to try this, and I again wouldn't here since this isn't part of your rationale (and would require the "old" node ID to still be in use on the controller).

3 Likes

That information was helpful. I would like to see this "replace" feature in Habitat. I have been reading where if you change a device you now have to go back and rework everything on the automation side. Not an ideal situation. If this replace feature would also rectify that, I think it would be a great feature to have available.

Thank you for the information so far, keep it coming....

Partly true. You will have to replace the failed device in individual apps/rules with the new device, but you don't have to rework the entire rule or app.

2 Likes

The fact that it does not reuse device IDs of excluded devices and I can manually update the ID is very annoying. Have quite a few devices and because of C7 have some issues with S2 I had to exclue\include my devices back and forth. And I KNOW FOR THE FASCT that some ID is not in use by any device, but I can't reassign an ID. Looks like Ids are in a [0x02 .. 0xFF] range, so if I get to the 255 limit, what would happen? Plus I really like to keep IDs in the order I was adding them and how far they are from the hub so the connection map would make more sense to me. Even now I removed ALL devices from the hub and I want to start over from 0x2 but I do not know were to reset that number.

Wrap around.

1 Like

So what if 0x2 is there, but I would remove device 0x3 252 times.. would it take over 0x2? So there should be code which would got from ID 0x2 and find first unallocated, why would not it go with the first unallocated every time, or at least had an option to do so when pairing?

Like other controllers, Hubitat does reuse excluded device ids.

Why does the actual id used matter so much?

1 Like

You can’t. It can be unpaired only once. Also, you’re limited to no more than 232 zwave devices.

2 Likes

Yep, it would find the next available blank slot.

Maybe my opinion here, but unless your hub is in one corner of a perfectly rectangle house, and your devices are all along an outside wall, the map won't be quite right anyway. The map isn't meant to be a floorplan of devices, just a representation of who can talk to who.

You cannot do so as far as I am aware.

2 Likes

That is not true, I excluded and included the same switch like 4 times already fighting with S0 .. S2 bugs and it keeps increasing ID every time. I had been playing with 5 switches and I'm already at 0x12 values... so if I have first included device and then exclude\include 3rd device 253 times - I'm doomed... And what if I want to update a firmware and read a new version which is only read by habitat on paring? This is so dumb. User should have an option to update Device IDs on request. Because in my cases I would know that device IDs 0x03 - 0xFF are not used anymore.
Am I the only programmer here who sees a major issue?

Admittedly I’m not a programmer, but I don’t think I see the issue.

2 Likes

Exactly. So you included/excluded 4 new devices as far as the controller is concerned. Ace given device can only be excluded once. If you include it again, it’sa new device.

1 Like

And nobody suffers that you can't even get the actual firmware version of the device, you have to repair the device to see that in device description.
As a person with OCD - I suffer =)))

1 Like

For documentation on Z-Wave technology, see https://www.z-wave.com/

Hubitat’s implementation is documented here:
https://docs.hubitat.com/index.php?title=Z-Wave_Manual

2 Likes

Just let it go. Focus on function, not the device id. That’s a trivial irrelevant detail. If you stay focused on that, you run the risk of creating ghost and stranded nodes that can seriously degrade zwave performance.

3 Likes

Device is excluded, both hub and a device handshake that this ID is no longer in use... And with your theory ID's won't voerlap. Means that you can't include new devices more than 254 times without factory reset, even in a reality only one device will be listed on device page, or even none if I will keep excluding and including the device. What if I like updating all my 20 switches in the house with every new inovelli update? I will be doomed quite fast, there were already 4 updates, 5-6 more and welcome to the factory reset.

Welcome to the Hubitat community!

2 Likes