Z-Wave Network Healing not working

I moved some zwave switches to HA lately and things were working just fine, then I realized a couple days ago that my automations are lagging and I can no longer control my devices when I tried to turn them on/off.
I tried to heal the network but it never got completed. I restarted the hub many times.
I would appreciate if someone can help me.

Logger: homeassistant.core
Source: components/zwave_js/switch.py:70
First occurred: 11:00:50 AM (5 occurrences)
Last logged: 12:27:11 PM

Error executing service: <ServiceCall switch.turn_on (c:b3d195e39d9a9ef20cf2498b198fcfc0): entity_id=[‘switch.main_floor_toilet_lights’]>
Error executing service: <ServiceCall switch.turn_on (c:f296f9d57bdd6b7d5deca1e75c839b39): entity_id=[‘switch.garage_entry_lights’]>
Error executing service: <ServiceCall switch.turn_on (c:a3f50a20b79165be2c648d0666c7a864): entity_id=[‘switch.garage_entry_lights’]>
Error executing service: <ServiceCall switch.turn_on (c:543856ffd80bf77d04c1f6b99a2cf73d): entity_id=[‘switch.garage_entry_lights’]>
Error executing service: <ServiceCall switch.turn_on (c:b942df363b9522001a69395908fad33e): entity_id=[‘switch.garage_entry_lights’]>
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/core.py”, line 1508, in catch_exceptions
await coro_or_task
File “/usr/src/homeassistant/homeassistant/core.py”, line 1527, in _execute_service
await handler.job.target(service_call)
File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 213, in handle_service
await self.hass.helpers.service.entity_service_call(
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 658, in entity_service_call
future.result() # pop exception if have
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 843, in async_request_call
await coro
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 695, in _handle_entity_call
await result
File “/usr/src/homeassistant/homeassistant/components/zwave_js/switch.py”, line 70, in async_turn_on
await self.info.node.async_set_value(target_value, True)
File “/usr/local/lib/python3.9/site-packages/zwave_js_server/model/node.py”, line 441, in async_set_value
result = await self.async_send_command(
File “/usr/local/lib/python3.9/site-packages/zwave_js_server/model/node.py”, line 398, in async_send_command
result = await self.client.async_send_command(message, **kwargs)
File “/usr/local/lib/python3.9/site-packages/zwave_js_server/client.py”, line 79, in async_send_command
return await future
zwave_js_server.exceptions.FailedZWaveCommand: Z-Wave error 16: Timeout while waiting for an ACK from the controller

I’ve noticed a heal won’t complete until all battery powered devices are awake. Do you have any battery powered devices? If so try pressing a button on them to wake them so they can participate in updating the neighbors for the heal to complete.

Pretty sure that error actually means that ZWaveJS cannot talk to the controller - check that you used the /dev/serial/by-id/ path and not just /dev/tty-whatever, without having any more information, I’d guess the machine rebooted and now the serial port you told ZWaveJS to use has changed it’s name so ZWaveJS can’t talk to the stick at all.

That’s definitely a possibility. Also agree you definitely want the by-id path vs tty.

If the addon can’t talk to the controller though, the zwavejs addon usually won’t even start. Does the addon startup and run ok? Generally if it’s an issue talking to the controller you would see logs like in this post Increasing instability in zwave.js?

The logs posted are the homeassistant logs. Any additional logs from the zwavejs addon itself? Its still possible the zstick is just stuck on healing or something else and can’t move forward with new commands.

1 Like

I wouldn’t expect a message not being able to make it to the destination to generate a full stack trace though? It’s not saying that it didn’t get an ACK from the end device, it’s saying it didn’t get an ACK from the controller itself. That suggests communication has completely stopped. I remember back when people were transitioning to JS from the old ZWave there were people reporting similar issues - and it was finally narrowed down to the USB port not actually providing a stable enough voltage, and people were advised to move to a powered USB hub.

This is in regards to the Aeotec Gen5 USB Zsticks, they have a hardware fault that makes them incompatible with USB 3.0 ports.

@phabeeo provide more information.
Copy/paste the info from HA’s system info page:

Config → Info

Also is this zwavejs2mqtt or the “official” addon?

Get better logs from IntegrationsConfigure on ZwaveJS → Logs tab and set it to Silly and post the logs. Use the download button to download the log.

No I did not have any battery powered devices. All my Zwave for now are only switches

I haven’t used the /dev/serial/by-id/ path. I tried that but the lag is still there.

So I ended up updating the HA core server and after that the issue no longer showed. I am not a big fan of upgrading to fix but I had to do this one since I needed the automation to work.

Thanks for your help. I finally upgraded the HA core server and got the issue fixed

1 Like