Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Controller is unable to transmit #6316

Closed
calanthe23 opened this issue Sep 22, 2023 · 22 comments
Closed

Error: Controller is unable to transmit #6316

calanthe23 opened this issue Sep 22, 2023 · 22 comments
Labels
upstream This is a bug in a dependency

Comments

@calanthe23
Copy link

zwave-js-ui: 8.26.0
zwave-js: 11.14.3
zwave stick: ZST39 LR
FW: v1.20
SDK: v7.19.3
Home Assistant 2023.9.2
Supervisor 2023.09.2
Operating System 10.5
Frontend 20230911.0 - latest 

I am running the latest version of zwave JS UI. Yesterday, I noticed a red box in the upper-right corner of the zwave JS UI control panel noting "Controller is unable to transmit". Most of the nodes in my 13 node mesh are still functioning, and I can receive data from them. When initially troubleshooting the issue, I attempted to re-interview two of my nodes, and they have been stuck on "NodeInfo" for a considerable amount of time. If I attempt to execute a new Inclusion, it ends immediately.

What logs or information may I provide to further troubleshoot this issue? Thanks!

@bruberg
Copy link
Contributor

bruberg commented Sep 25, 2023

Seeing the same here with 8.26.0. Reverting to 8.25.1 restored operations. I'm using an Aeotec z-stick 7.

@robertsLando robertsLando transferred this issue from zwave-js/zwave-js-ui Sep 25, 2023
@AlCalzone
Copy link
Member

Please make a driver log, loglevel debug and attach it here as a file (drag & drop into the text field).

@jasonkelly214
Copy link

Also in this boat with zooz 800 LR stick. I didn't get much success with soft restarts or physical device removal, maybe a few minutes of operation.

@AlCalzone
Copy link
Member

Firmware v7.19.x (and maybe others) have a bug that causes this behavior. The upcoming v12 release of node-zwave-js will work around it by automatically soft-resetting the controller.
Unfortunately to fully fix this, the Z-Wave firmware needs to be fixed.

@AvienseMalta01
Copy link

AvienseMalta01 commented Sep 26, 2023

I have the same with Aeotec Z-Stick 7, FW Version 7.19.2. The entire network stops - the controller still receives a lot of messages (and I mean a lot - devices seem to keep sending probably because they receive no acknowledgement) but I seem to be unable to control anything, and nothing seems to be being transmitted to the individual devices (I have a lot of devices though - 91 top be precise). Most sensors seem to be getting a smiley face icon on the Compact View, seeming to be stuck in "awake" mode.

Firmware v7.19.x (and maybe others) have a bug that causes this behavior. The upcoming v12 release of node-zwave-js will work around it by automatically soft-resetting the controller. Unfortunately to fully fix this, the Z-Wave firmware needs to be fixed.

Too bad though - does that mean we have to wait for Aeotec to fix their firmware? Do they even know about this at all? Who knows when such a fix will be forthcoming... Also - someone above mentioned Zooz with same problem though.

I should add that this was not happening a few versions back... but since about 2 versions ago, the entire network was getting occasionally jammed with exactly the same problems - except that it was not displaying the "Controller is unable to transmit" error, whereas now it is. But the network was completely ok when I was still on 1.15.7. I am admittedly a beginner though on everything HASS.

Also - wouldn't a soft reset ruin any automations running in HASS at the time?

@calanthe23
Copy link
Author

Please make a driver log, loglevel debug and attach it here as a file (drag & drop into the text field).

I turned on debug logs & log to file. I will capture logs until I note that the controller returns to a state of 'unable to transmit' and I will provide them at that time.

I also reached out to Zooz support in regards to the problem.

@AlCalzone
Copy link
Member

Also - wouldn't a soft reset ruin any automations running in HASS at the time?

No, Z-Wave JS detects the necessity for this automatically, then resumes the previous command afterwards.

We have an open issue with Silabs who provide the base firmware - Zooz just make minor modifications to that. Unfortunately we'll have to wait for Silabs to figure this out.

But the network was completely ok when I was still on 1.15.7

Any chance you had a lot of randomly dead nodes during that time?

@AvienseMalta01
Copy link

AvienseMalta01 commented Sep 26, 2023

Any chance you had a lot of randomly dead nodes during that time?

Yes - I was having plenty. It's a large place with only one controller at ground floor, but plenty of devices on the first floor and in the basement. Many were dying, especially on the periphery of the network, and I have an automation to ping dead devices to bring them back to life which I modified to notify me on the app every time a device died, and I was getting several every day (sometimes a lot). Now I seem to get way less - maybe 2 or 3 devices die a day, and all are revived successfully by the ping automation, which is considerably better than the previous versions.

That coincidentally happened at the same time an update on HASS (2023.8) seemed to break automations exactly when such a device died (and such a device seemed to always die during the execution of an automation). I couldn't make heads or tails of it due to my inexperience as I had just converted to HASS a few weeks earlier, but now I see there was this issue that you mention (with the firmware) and the HASS Core issue independently.

@AlCalzone
Copy link
Member

You were most likely seeing the same underlying issue (controller responding with a status of Fail), except that Z-Wave JS would mark the device as dead and move on. Now it considers this status as a problem of the controller not the device - specifically the controller not being able to transmit due to too much RF noise.

The problem is/was that Z-Wave JS assumes this situation would resolve itself on its own and retries indefinitely, but the firmware bug causes the same Fail status after a hanging transmission until the controller is soft-reset.
Anyways, version 12 that was released earlier today should fix this. AFAIK HA will pick it up in tomorrow's beta.

@AvienseMalta01
Copy link

Ok - thank you. In the meantime, I tried a manual Soft Reset and it seems much, much quicker than I thought it would be, so perhaps it will be a good stop-gap solution until Silicon Labs come up with a proper fix.

Thank you very much for your explanation, very helpful!

@calanthe23
Copy link
Author

zwave-js-ui-store.zip

@calanthe23
Copy link
Author

@AlCalzone Things ceased up again from the controller, and I have attached the logs.

@madbrain76
Copy link

I am running into this too, on a ZST39 stick, FW: v1.20 SDK: v7.19.3.
It happens when I try to flash my most distant ZEN76 800LR switch. The node always dies during in the middle of the flashing process, and it results in this exact problem.

@AlCalzone
Copy link
Member

AlCalzone commented Sep 27, 2023

@calanthe23 same issue. Z-Wave JS v12 includes a workaround, HA and Z-Wave JS UI will pick this version up very soon.

The actual fix needs to happen in the controller firmware - I'm told Silabs are on it and have it as a top priority.

If this continues to be an issue after updating, please open a new issue.

@AlCalzone AlCalzone added external This is not a bug in node-zwave-js, but in a project that uses node-zwave-js waiting for info ⏳ upstream This is a bug in a dependency and removed waiting for info ⏳ external This is not a bug in node-zwave-js, but in a project that uses node-zwave-js labels Sep 27, 2023
@AvienseMalta01
Copy link

I am not sure a soft reset will resolve it... Perhaps it does for you, but it doesn't for me (though I have not updated to the new Z-wave JS UI version). I know this because I just ran into this issue again, and instead of completely restarting Z-wave JS UI as I have been doing thus far, I decided to try a Soft Reset, but after attempting it twice, it looked like nothing was happening, and the controller remained in the same state, unable to transmit.

@AlCalzone
Copy link
Member

Please try again with the next version. The workaround works slightly different from a manual soft-reset.
If this continues to be an issue after updating, please open a new issue.

@AvienseMalta01
Copy link

AvienseMalta01 commented Sep 27, 2023 via email

@bjornarfjelldal
Copy link

Hi! I am still having this problem on 9.3.1 / 12.2.3 on UZB-7 on 7.19.4, Latest HASS on Proxmox 8. The entire Z-Wave network becomes unresponsive until a soft reset. Allthough the log states traffic and status updates.

Anything I can do besides wait for SL to provide a firmware? I see the 7.20.x cannot even be flashed properly, and that it doesn't contain any major changes, so I guess this is not the one to update to?

For the record, I have read this;

#6341

And set a daily restart of the Z-waveJS UI addon from HA. However this occurs more frequently than every 24 hours.

@AlCalzone
Copy link
Member

@bjornarfjelldal what you're experiencing might be fixed by #6473 which is included in the 12.3.0 release - except for the firmware bug itself. I've heard that Silabs are close to a release, but don't know any specifics.

@bjornarfjelldal
Copy link

@bjornarfjelldal what you're experiencing might be fixed by #6473 which is included in the 12.3.0 release - except for the firmware bug itself. I've heard that Silabs are close to a release, but don't know any specifics.

Thanks for the reply and for keeping my hopes up! :)

@bjornarfjelldal
Copy link

bjornarfjelldal commented Nov 21, 2023

Still getting this in 12.3.0 and the only fix is a restart of the addon - is this expected still because of the firmware bug?

2023-11-21 08:04:28.706 ERROR Z-WAVE-SERVER: Failed to send the command after 5 attempts (ZW0202)

ZWaveError: Failed to send the command after 5 attempts (ZW0202)
    at Driver.sendMessage (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:5240:23)
    at Driver.sendCommandInternal (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:5445:28)
    at Driver.sendCommand (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:5556:15)
    at Proxy.set (/opt/node_modules/@zwave-js/cc/src/cc/MultilevelSwitchCC.ts:264:24)
    at Proxy.<anonymous> (/opt/node_modules/@zwave-js/cc/src/cc/MultilevelSwitchCC.ts:341:17)
    at ZWaveNode.setValue (/opt/node_modules/zwave-js/src/lib/node/Node.ts:1150:39)
    at NodeMessageHandler.handle (/opt/node_modules/@zwave-js/server/dist/lib/node/message_handler.js:19:43)
    at Object.node (/opt/node_modules/@zwave-js/server/dist/lib/server.js:42:92)
    at Client.receiveMessage (/opt/node_modules/@zwave-js/server/dist/lib/server.js:125:99)
    at WebSocket.<anonymous> (/opt/node_modules/@zwave-js/server/dist/lib/server.js:57:45)
2023-11-21 08:04:40.147 INFO Z-WAVE: [Node 109] Value notification: 91-0-scene-001 0
2023-11-21 08:04:40.170 ERROR Z-WAVE-SERVER: The node did not acknowledge the command (ZW0204)
ZWaveError: The node did not acknowledge the command (ZW0204)
    at Driver.sendMessage (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:5240:23)
    at Driver.sendCommandInternal (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:5445:28)
    at Driver.sendCommand (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:5556:15)
    at Proxy.set (/opt/node_modules/@zwave-js/cc/src/cc/MultilevelSwitchCC.ts:264:24)
    at Proxy.<anonymous> (/opt/node_modules/@zwave-js/cc/src/cc/MultilevelSwitchCC.ts:341:17)
    at VirtualNode.setValue (/opt/node_modules/zwave-js/src/lib/node/VirtualNode.ts:172:39)
    at Function.handle (/opt/node_modules/@zwave-js/server/dist/lib/multicast_group/message_handler.js:13:50)
    at Object.multicast_group (/opt/node_modules/@zwave-js/server/dist/lib/server.js:43:108)
    at Client.receiveMessage (/opt/node_modules/@zwave-js/server/dist/lib/server.js:125:99)
    at WebSocket.<anonymous> (/opt/node_modules/@zwave-js/server/dist/lib/server.js:57:45)

@AlCalzone
Copy link
Member

Failed to send the command after 5 attempts

will require more complete driver logs to diagnose. Ideally open a new support request and provide the information that is asked for.

The node did not acknowledge the command

is a connectivity issue between the controller and the target node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
upstream This is a bug in a dependency
Projects
None yet
Development

No branches or pull requests

8 participants