Powered Zwave Devices Marked as Dead

Hey everyone,

I’m loving Home Assistant, and have got my Zwave devices working pretty well. However I seem to be running into the following issue.

I have a couple plug-in appliance modules. They turn on/off dumb lights that are plugged into them. This works great, for a bit. However, randomly these modules will stop accepting commands from Home Assistant. If they are on, I can’t turn them off, and vice verca. The only way to get Home Assistant to control the devices is to hit the include button on the device itself. Which is a hassle as have to do this daily.

This seems to only affect powered devices. I have battery multisensors in the same areas, and they are not affected at all. Its just these plug-in modules.

Sometimes a network ‘heal’ or test will fix the issue. Sometimes not. I was hoping the “auto heal” feature that came in 0.21 would fix this, but it hasn’t.

When the devices get stuck in this state, I spin up a docker of Domoticz. In there I can see the powered devices marked as “dead”. The same goes in the OZWCP.

I’ve done some Googling, and I can see others using Domoticz have experienced the same problems. Some examples, and a recent thread.

I’m sure this is an OZWCP issue, and not a HA issue. Just wondering if anyone else here has experienced this, and might have a solution I haven’t tried.

Cheers

1 Like

@philhawthorne its sounds like you and I were having the same exact problem, and I assume your OZW.log is showing a “presumed dead” error in relation to your plug-in nodes. I found a solution after following the below directions, specifically the section about adding a Network Key, after which my Zwave switch lit right up in OZWCP and the Dead node error vanished. I haven’t had any error since, so if you are experience a “presumed dead” error, I would suggest adding a Network Key in the options.xml and see what happens. Thanks!

Yup that’s what I’m seeing!

I’m going to add a key to my config now, and see how that goes. Fingers crossed you’ve solved it for me!

Did you try this? Having the same issue at the moment. Rock solid for a few days then it just shits the bed.

Yep, I’ve got this working at the moment.

So far its been rock solid for almost 48 hours. I don’t want to call this solved just yet though, just incase it happens again like you’re getting.

One thing I noticed, once I enabled the key via options.xml, I had to re-link the powered devices. When relinking the powered devices (pressing add node service in HA, and the include button on the device), after restarting home assistant the entity IDs changed.

For example
Without Security Key: switch.aeotec_smart_energy_switch_switch_5
With Security Key switch.aeotec_dsc06106_smart_energy_switch_switch_5

This meant I had to go in and change all my automation and group entity_id vvalues to match this new one. On the positive side, at least its a way to know the security key has made a change.

Are you seeing your powered devices with the key in their name?

My swicth name did change after the key insertion, although I couldn’t tell you from what to what.

Well as I feared, one of my nodes has been marked as dead again.

Detail, Node005, Queuing (Send) SwitchBinaryCmd_Get (Node=5): 0x01, 0x09, 0x00, 0x13, 0x05, 0x02, 0x25, 0x02, 0x25, 0x59, 0xb9
Error, Node005, ERROR: Dropping command because node is presumed dead

I’ve tried to do a test_network and heal_network.

Warning, WARNING: REQUEST_NEIGHBOR_UPDATE_FAILED
Detail, Notification: ControllerCommand - Failed
Info, Requesting Neighbor Update for node 5
Detail, Node005, Queuing (Command) ControllerCommand_RequestNodeNeighborUpdate (Node=5): 0x01, 0x06, 0x00, 0x5a, 0x05, 0x25, 0x50, 0xd3
Detail, Notification: ControllerComand - Starting
Error, Node005, ERROR: Dropping command because node is presumed dead
Detail, Node005, Removing current message
Detail, Notification: ControllerCommand - Error - Failed

So it seems the same problem is still here. Once OZW has marked a node as dead, it will block any attempts to communicate with that node. Even for a heal or test of the network.

Other nodes in my network, are reporting they can see that Node as part of their neighbour list, but OZW doesn’t seem to care.

Info, Node016, Sending (Command) message (Callback ID=0x00, Expected Reply=0x80) - Get Routing Info (Node=16): 0x01, 0x07, 0x00, 0x80, 0x10, 0x00, 0x00, 0x03, 0x6b
Detail, Node016, Received: 0x01, 0x20, 0x01, 0x80, 0x11, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d
Detail,
Info, Node016, Received reply to FUNC_ID_ZW_GET_ROUTING_INFO
Info, Node016, Neighbors of this node are:
Info, Node016, Node 1
Info, Node016, Node 5
Info, Node016, Node 13
Info, Node016, Node 18
Detail, Node016, Expected reply was received
Detail, Node016, Message transaction complete
Detail, Node016, Removing current message

So I guess it’s back to the drawing board

Interestingly I just restarted HA, and the device is now responding again. Gah!

Argh, I don’t suppose that is the first time you’ve restarted HA since the addition of the network key, as you’ve been using OZWCP? When you are in OZWCP, does the node show the manufacturer information? Or does it just show the node?

No, this morning I’ve been restarting it multiple times (adding new automations, groups etc).

I haven’t opened OZWCP in a while. I added the key without using OZWCP at all, as I don’t have it compiled (I run HomeAssistant through a docker image, which doesn’t have OZWCP. When I want to use OZWCP, I run a docker of Domoticz, and use it through there).

From past experience, when opening OZWCP when the device was dead, it wouldn’t show the Manufacturer at all. Only once the device include button was pressed would the manufacturer info come up.

Interesting. Are you using the Gen5 stick? After I add the network key, my manufacturer information popped right up. However, I will say that I was playing around with adding some other sensors and removed my Gen5 from my Pi, and after putting it back in the /dev/ttyACM* had changed from 0 to 1, and when it changed, the node started going dead & no more manufacturer information. So I repeated the process, in the hopes of changing the ACM again, which it did. The ACM changed again, and the node & information light back up. I saved the controller configuration, and it has been a champ since then.

Not sure if that is helpful at all, just trying to troubleshoot some of the differences in our experience

Thanks for the info. The more things we can try the better.

I am using the Gen2 stick (black stick).

The ACM changing I think is related to the port, or number of USB devices plugged in. On my system, the USB comes up as /dev/ttyUSB0. I’ve never seen it change, but then I only have the one USB device plugged in on the host.

@philhawthorne where did you find your options.xml file? I cant find it in the location listed in the link above.

As an aside I recommend making an alias for your Z-stick so it always shows up as /dev/zwave
instead of, like, /dev/ttyACM0 or /dev/ttyACM1. You can do this by running

$ udevadm info -a -n /dev/ttyACM0
and noting the idVendor, and idProduct, then add a line to new file, /etc/udev/rules.d/99-usb-serial.rules:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="zwave"

source: https://partofthething.com/thoughts/?p=937

EDIT: found it! It was in the application folder in a directory called config.

1 Like

Update: Looks like something happened, as now my Node is going back to being “presumed dead”, although I still think it has something to do with the Network Key & HA. OZCWP is still showing my nodes alive and well, but HA is giving me an ‘Failed - Network Key Not Set’ error in my OZW.log, and then shows my nodes as dead. Any ideas why the Network Key would fail for HA?

@beanian I’m running the Docker image, so I had to bash into the Docker, and then copied the options.xml file from the Open Zwave folder, into the same folder where Home Assistants Config.yaml is. This is the same folder where my Zwave settings XML folder sits.

@tc23 is your network key 16 keys long? From that link you posted

And now replace the values 0x01 to 0x10 with your own Network Key. Each Individual value can be anywhere from 0x00 to 0xFF. You MUST ensure that there are exactly 16 entries, separated by comma’s otherwise OZW will not start-up correctly

That’s the only thing I could think of it failing on. Or perhaps the key being changed?

@philhawthorne, yep my key looks exactly (with my own numbers) like the one in the example link. Not sure what is going on with it, since the Key was being verified all week up until this morning. My nodes have been up and running all day with out any dropped, but still the key isn’t verified, so I’m a little nervous about it. Maybe tonight’s autoheal with solve the problem of the key?

Edit: Doing some digging on the OpenZWave Google Group and found some information about the zwcfg_xxx.xml file. The advice given was that if the secured=“true” was missing (or set to false), then you should remove the zwcfg_xxx.xml and allow it to be rebuilt. That will be my next step in troubleshoot.

@tc23 nice find about the XML file being rebuilt. That makes sense, as that XML file is just a cache of the settings.

You can trigger the nightly heal yourself, by executing the zwave/heal_network service from the Home Assistant UI. I’d also recommend doing a restart of Home Assistant once its done, to force OZW to be reloaded.

Update: removing the XML file didn’t work, and now I’ve lost my secure devices (sensors, etc) without any way to get them back in because of the network key fail. i am seeing different version between my OZWCP and HA (1.4.270 vs 1.4.252) could that be the cause? Anybody have any ideas? It would be saving me big time.

Don’t suppose you have a backup of that XML file?

I do, but HA overwrites whenever I close and restart