Z-Wave integration failed to connect - need some high level direction

I have read many posts and tried many things and combinations. And I’ve done the step-by-step instructions. So, I won’t rehash them here. I’m tech savvy in the PC world but a novice with Linux.

TL;DR
Z-Wave JS UI seems to be communicating with Zooz ZST10 stick, but z-wave integration always fails. If I understand things correctly, the integration talks to the driver, which in turn talks to the stick. My guess would be that the problem lies in a failure of the integration to be able to talk to the driver. Is my assumption correct? If so, conceptually (or specifically) what do I need to do or what am I missing? Below are the specifics of what I did.

DETAILS
I’m running HA OS on a repurposed Acer R11 Chromebook and accessing the server via PC. First, I tried using the Z-Wave driver, but the integration always failed. Looking at the driver log I wondered if there might be a communication problem between the driver and stick.

So, I uninstalled the driver, reset the stick, rebooted the server, reinserted the stick and installed the Z-Wave JS UI driver. After startup and reviewing the log, it looked really good. (BTW, For the serial device, both of these worked: /dev/ttyUSB0 and /dev/serial/by-id/usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_b20bd0e0bd9ded11bf566684e259fb3e-if00-port0)

	2023-08-12 16:21:00.531 INFO Z-WAVE: [Node 001] Is alive
	2023-08-12T20:21:00.534Z CNTRLR   [Node 001] The node is alive.
	2023-08-12 16:21:00.544 INFO Z-WAVE: [Node 001] Ready: Zooz - ZST10-700 (700 Series USB Controller)
	2023-08-12T20:21:00.547Z CNTRLR   [Node 001] The node is ready to be used
	2023-08-12T20:21:00.548Z CNTRLR   All nodes are ready to be used
	2023-08-12 16:21:00.549 INFO Z-WAVE: Controller status: Scan completed
	2023-08-12 16:21:00.550 INFO Z-WAVE: Network scan complete. Found: 1 nodes
	2023-08-12T20:21:00.554Z DRIVER   all queues busy
	2023-08-12T20:21:00.566Z SERIAL » 0x0104000b13e3                                                       (6 bytes)
	2023-08-12T20:21:00.567Z DRIVER » [REQ] [SerialAPISetup]
	                                    command: GetPowerlevel16Bit
	                                    payload: 0x13
	2023-08-12 16:21:00.577 INFO Z-WAVE-SERVER: ZwaveJS server listening on 0.0.0.0:3000
	2023-08-12 16:21:00.610 INFO Z-WAVE: Z-Wave server started
	2023-08-12T20:21:00.626Z SERIAL « [ACK]                                                                   (0x06)
	2023-08-12T20:21:00.629Z SERIAL « 0x0108010b1300000000ee                                              (10 bytes)
	2023-08-12T20:21:00.631Z SERIAL » [ACK]                                                                   (0x06)
	2023-08-12T20:21:00.633Z DRIVER « [RES] [SerialAPISetup]
	                                    command:               GetPowerlevel16Bit
	                                    normal powerlevel:     0.0 dBm
                                    output power at 0 dBm: 0.0 dBm

2023-08-12 18:08:58.588 INFO APP: GET /health/zwave 200 2.974 ms - 2140
2023-08-12 18:08:59.653 INFO Z-WAVE: Removing user callbacks
2023-08-12T22:09:05.781Z DRIVER   all queues busy
2023-08-12T22:09:05.795Z SERIAL » 0x0103003bc7                                                         (5 bytes)
2023-08-12T22:09:05.799Z DRIVER » [REQ] [GetBackgroundRSSI]
2023-08-12T22:09:05.806Z SERIAL « [ACK]                                                                   (0x06)
2023-08-12T22:09:05.811Z SERIAL « 0x0107013b9590907f28                                                 (9 bytes)
2023-08-12T22:09:05.814Z SERIAL » [ACK]                                                                   (0x06)
2023-08-12T22:09:05.818Z DRIVER « [RES] [GetBackgroundRSSI]
                                    channel 0: -107 dBm
                                    channel 1: -112 dBm
                                    channel 2: -112 dBm
2023-08-12T22:09:05.834Z DRIVER   all queues idle

Then I moved on to the Z-Wave integration. On the Select Connection Method dialog box, I uncheck the box next to " Use the Z-Wave JS Supervisor add-on". On the Z-Wave dialog box, I paste ws://a0d7b954-zwavejs2mqtt:3000 into the URL box and hit submit. Then I get the failed to connect error message.

Use zwavejsui or jwavejs. You cannot use both.

Using both causes connection errors

@tmjjpugh, thanks for your suggestion. I saw that in some of the posts on the issue. Perhaps I wasn’t very clear. I’m not using both at the same time. I first tried using jswavejs. When that didn’t work, I uninstalled it, reset the stick and installed zwavejsui. What you see in my post is the communication between zwavejsui and the stick.

How did you install zwavejs or whatever you are currently using?

I installed zwavejs and then uninstalled it since I read not to run it at the same time aszwavejsui.

Currently I only have zwavejsui installed and running.

  1. Added Z-Wave JS UI from the add-on store.
  2. clicked install
  3. Clicked the “Open Web UI” link
  4. Went to Settings → Z-wave
  5. Set the serial port to /dev/serial/by-id/usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_b20bd0e0bd9ded11bf566684e259fb3e-if00-port0
  6. Generated the security keys
  7. clicked save
  8. clicked start

Try ws://core-zwave-js:3000/

Thanks @tmjpugh for your suggestion. I really do appreciate your help. I tried setting the integration URL to ws://core-zwave-js:3000/, but it still failed. So, I uninstalled zwavejsui and reinstalled zwavejs, but got the same result.

Do you or anyone else know if the zwave integration (or HA) generates a log of what transpired and led up to the failure (the addon log doesn’t seem to reflect it)?Or should I just assume that failure means it couldn’t get a response from the web socket (ws://xxxxxxxx)? I’m wondering if there’s a way through SSH to independently verify that the socket is working. It just feels like I’m flying blind and just guessing.

integration failure you are reporting means integration is not connecting to zwavejs websocket.

zwavejs seems to be working but you are not connecting so I would verify the url you are using. I dont use addon but I believe there are a few (3) variations of the url that work but I forget when/why. Also be aware that if using zwavejs addon you need to leave the box checked for the integration I believe.

Good News! I was able to figure out the problem and solution. I needed to type in the port number (3000) in the Network section, field where it says, “Change the ports on your host that are exposed by the add-on”. For some reason the field was blank and there was no mention of this in the documentation (or if it’s there, I couldn’t find it and I reread the documentation to make sure). I just happened to type in the number on a whim and it worked. Here’s a screen shot of the field:

This is not necessary if you use the ws://a0d7b954-zwavejs2mqtt:3000 address. It’s actually discouraged since it opens up your insecure Z-Wave network to your entire local network.

Not sure why the default URL isn’t working. Are you using ws://localhost:3000 instead as the integration URL now? Did you change any of the ZUI websocket server settings prior to this?

I followed the setup instructions and tried ws://a0d7b954-zwavejs2mqtt:3000. It kept failing to connect. Didn’t do any thing with web socket configuration. Thanks for the waring about the insecurity of my solution. I may try when I have time wiping out and start all over from scratch on another machine.

Side Note: I been running into the same kind of problem with some other integrations that just won’t connect/install even though in terminal I can connect to their URL & port. I’m getting ready to post such a problem with a failing install of HACS (the HACS developer says its a communication problem). For background, I simply installed HAOS per directions. Didn’t do any configuration stuff (I’m tech savvy, bit not in the Linux world. So I purposely try to do it by the book) and yet have been having these problems.