Z-Wave JS - How to Deal with a Dead Node?

I had a power failure recently and one of my Z-Wave nodes (a Fibaro FGS213) got into a weird Schrödinger state: Z-Wave JS was reporting it as both Dead and Ready.

I restarted Z-Wave JS, and now it’s being reported as Dead and not ready, with all entities now showing as unavailable.

So, what’s the next step to make it available again?

Should I first explicitly remove the “dead” node, and then include it again, or is there another sequence of steps that I should follow? Thanks.

System Health

version core-2021.3.4
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 5.4.83-v8
arch aarch64
timezone Europe/Amsterdam
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4862
Installed Version 1.11.3
Stage running
Available Repositories 841
Installed Repositories 11
Home Assistant Cloud
logged_in true
subscription_expiration 19 April 2021, 2:00
relayer_connected true
remote_enabled false
remote_connected false
alexa_enabled true
google_enabled true
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 5.12
update_channel stable
supervisor_version supervisor-2021.03.6
docker_version 19.03.13
disk_total 109.3 GB
disk_used 9.3 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons File editor (5.2.0), Samba share (9.3.1), InfluxDB (4.0.3), Terminal & SSH (9.1.0), Grafana (6.1.4), Z-Wave JS (0.1.13)
dashboards 2
resources 8
views 4
mode storage
1 Like

I have had similar issues, happened on a upgrade.

When this happens I force the device awake and re-interview it. Sometimes it takes a bit to get it to re-interview but once it’s successful. I find that it will report alive or asleep and function fine.

if it is easily accessible I would likely just do one of the things below

Remove node >> verify removed >> add node
delete dead node >> factory reset device >> add node

spending hours troubleshooting this is not worth the time.
I have had this occur under similar conditions of power loss. If it not come back on its own or after you force device to communicate with hub by power cycling or activating and 2hr has passed. It is faster to do steps above.

if this begins to occur often or to several device in your network it may be worth deeper dive but in the end you will likely need to do above steps.

Thanks for the replies. I did try re-including the device, and at first it seemed to come back alive, but after restarting the Z-Wave JS integration it was once more marked as dead.

I’ll try resetting the FGS-213 and adding it as a new node entirely.

you should really first delete the dead node, before re-adding it, otherwise it will stay there, and be present in your Z-wave coordinator.

For now you can only delete the dead node with z-wave2JSmqtt add-on. You can install that, and temporary give it access to your usb stick (first stop the core zwave add-on you are using now)

wait for it to show up the dead node, deleted it and then stop the add-on.
re-enable the add-on you used before after that, and you’re set.

1 Like

Thanks for the suggestion. I’ll give it a go.

1 Like

I was able to delete the dead node as you suggested. It was also nice to see a fully-functional control panel for Z-Wave in the z-wave2JSmqtt integration.

I know that a control panel for Z-Wave JS is coming, but I’m sorely tempted to stick with this z-wave2JSmqtt control panel until it has arrived. :grinning:

Right, I’m back again, because I still have problems getting this node working properly again. Hope that someone has suggestions for me.

What I’ve done:

  1. Installed the z-wave2JSmqtt integration and stopped the z-wave JS integration.
  2. Used the z-wave2JSmqtt control panel to delete the dead node (a Fibaro FGS-213).
  3. Brought the box containing the FGS-213 in from the garden (where it controls a pond pump).
  4. Reset the FGS-213 to the factory settings.
  5. Included the FGS-213 afresh (while indoors - 3 meters from the Aeotec Z-Wave+ USB stick).
  6. The control panel showed that it had been added as node 51, and it was alive and working.
  7. Put the box back out in the garden and reconnected the pond pump
  8. Used the control panel to heal the network (since the FGS-213 would need to connect via the mesh, and could not connect directly with the controller)
  9. Waited a few hours - but noticed that the control panel was still showing the heal network was “in progress” with 28 out of 30 devices done.
  10. Tried the device - and it was instantly marked as a dead node.
  11. Brought the FGS-213 back indoors, plugged it in next to the controller, and it was instantly back online, marked as Alive and working.

So, what now?

  • I am sure that if I return it to the garden, it will get marked as dead again.
  • Had the Heal Network command failed?
  • How can I include a node that is physically remote from the controller via the mesh?

Thanks for any suggestions here…

Edit: one other thing - the Mesh looks a little odd. The FGS-213 is Node 51 and called “Kleine Vijver” Here it is shown greyed out, with no apparent connection with the mesh. Yet if I mouse over the node, it tells me it has nodes 1 and 2 as neighbors - which would indeed correspond to its location when I included the node in the house (step 5 above).

Node 46 is a smoke alarm, which has not yet woken up to be included properly. I note also that 28 + 2 = 30, so perhaps this means that indeed the Heal Network command failed?

though this seems tempting, it is against all recommendations… always try to include your devices close to the final location. If only to have it create the mesh with the closest neighbors.

I just did one of these myself, well a double switch, and it was connected immediately, no healing of the network necessary. And this was with the core add-on and integration.

If the Kleine vijver is way out of reach for the stick to recognize it, you might be better of adding an extra device in between… As a last resort, you could maybe try to bring the Aeotec stick over to the Kleine Vijver, have it added locally, and re-attach the stick (might need a restart of the server)

As it happens the double switch I installed was for my Vijverpompen too :wink: But, I installed inside the house, in the box with the double switches. Why don’t you give that a try? Saves you all the hassle to make these waterproof outside, and brings it within reach of the stick most likely?

Thanks for your reply. I did try (many attempts) to include the FGS-213 in situ in the garden - using both methods: using HA and using the Z-Wave+ stick directly. Neither seemed to be successful. And wouldn’t the latter method give a false picture of the mesh in the stick in any case?

There are also 2 mains-driven Z-Wave devices within 5 metres of the garden location, so I had expected the inclusion to work.

I can’t control the pond pump from within the house - I have to use the FGS-213 in a waterproof box in line with the outdoor powerpoint.

Perhaps I just need to be persistent and keep trying inclusion using HA until it takes?

Did you resolve this issue? I am having random devices go “dead”. Ping will usually clear it but now I have a device that won’t recover.

It did eventually get included after trying many times. Now, however, I’ve got another instance of a FGS-213 that is proving difficult to get included. I’ll just have to get persistent with this one as well. Other than that, the Z-Wave network is behaving well.

My process of dealing with dead nodes is this:

  1. Ping the node and if that does not cut it,
  2. reinterview the node.
  3. Power cycle the dead device.

For the WAF (and my laziness, I must admit…), I would like to automate the recovery process. I have noted that all my z-wave devices have an entity named xxxxNode status. Would it be possible to create just one automation that triggers on *Node status=dead and ping that node? I am reluctant to create an automation for each node, although it seems that it is usually the same nodes that flunk out.