Two Z-wave sticks in one HA instance

I didn’t know that one has to be ‘the primary’. I’m fine with two separate networks? But how do I go about setting up the second network and how do I get HA to recognise the second stick?

I have a couple of Z-wave devices that operate on US frequency (not available in AU frequency) and they are somewhat critical so this is why.

[I should have made this clear up front] - I’m fully aware of the legalities and the fact is that the US frequency WAS AT ONE STAGE used for mobile networks here but is no longer so there are no technical showstoppers.

1 Like

2 seperate zwavejsui installs

You can add each install as a zwavejs integration

1 Like

There Is a concept of primary / secondary controller in ZWave. But thats not applicable here.

To do what you want you need Two separate ZWave integration installs as @tmjpugh says.

Note that the devices on the separate networks will not be able to repeat for each other. So for your Northamerica network you will need to plan out your repeating mesh separately than your main network. (read: be very careful with range :wink: ) it might be a good idea to set up your second ZWaveJS /JsUI server on a separate box and put it close to where you actually need it.

I have one Z-Wave JS already:
image

Would it work to just add another second Z-Wave JS? I mean, will HA allow this?
EDIT: it looks like its allowed but it is also asking if I want to use Z-Wave JS Supervisor add-on. What does that mean?

Noted re. the range.

Apologies for all the noob questions.

1 Like

Install as many as you want.

EDIT: it looks like its allowed but it is also asking if I want to use Z-Wave JS Supervisor add-on. What does that mean?

It’s asking if you want to install the official Z-Wave JS add-on. You can only install a single instance of an add-on, so if you’re already using it, you’d need to install the Z-Wave JS UI add-on instead and uncheck to configure it. https://www.home-assistant.io/integrations/zwave_js/#configuration

Thanks for that. I don’t THINK I’m using the addon so I will try that.

I will try not to break anything and report back.

EDIT; I had to chose to NOT using the addon since I already had one instance installed.
The new challenge is this:

'if you’re not running the supervisor or you’ve unchecked the above-mentioned box, you will be asked to enter a websocket URL (defaults to ws://localhost:3000). It is very important that you fill in the correct (Docker) IP/hostname here. For example for the Z-Wave JS UI add-on this is ws://a0d7b954-zwavejs2mqtt:3000
How should I handle this? Could I use the IP address of HA? But I will also add something for localhost, what should that be? I imagine that 3000 is already in use.

Again, my apologies.

You need to install and configure the Z-Wave JS UI add-on and configure the address as you quoted.

Z-Wave JS UI add-on installed. Trying to follow the documentation for the config which is different from what it actually looks like but I need two things to start with; the Serial Port and the Network key.
Is there a trick to find this somewhere?

Thank you all for your help.

Settings → System → Hardware → ... (I think) for the list of hardware devices. Use the /dev/serial/by-id path.

You can just generate new keys by clicking on the icons next to them.

Thank you so much!
This is what I found, could you help me pointing out the port? I was thinking perhaps one of these; ID_SERIAL: Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_0001
ID_SERIAL_SHORT: ‘0001’

Also, I cannot find the icons to regenerate network keys. Could you please elaborate for me?

Blockquote
ttyUSB0/dev/serial/by-id/usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_0001-if00-port0
Subsystem:tty
Device path:/dev/ttyUSB0
ID:/dev/serial/by-id/usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_0001-if00-port0
Attributes:
DEVLINKS: >-
/dev/serial/by-id/usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_0001-if00-port0
/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1.1:1.0-port0
DEVNAME: /dev/ttyUSB0
DEVPATH: >-
/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/ttyUSB0/tty/ttyUSB0
ID_BUS: usb
ID_MODEL: Zooz_ZST10_700_Z-Wave_Stick
ID_MODEL_ENC: Zooz_ZST10_700_Z-Wave_Stick
ID_MODEL_ID: ea60
ID_PATH: platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1.1:1.0
ID_PATH_TAG: platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_1_1_1_0
ID_REVISION: ‘0100’
ID_SERIAL: Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_0001
ID_SERIAL_SHORT: ‘0001’
ID_TYPE: generic
ID_USB_DRIVER: cp210x
ID_USB_INTERFACES: ‘:ff0000:’
ID_USB_INTERFACE_NUM: ‘00’
ID_VENDOR: Silicon_Labs
ID_VENDOR_ENC: Silicon\x20Labs
ID_VENDOR_ID: 10c4
MAJOR: ‘188’
MINOR: ‘0’
SUBSYSTEM: tty
TAGS: ‘:systemd:’
USEC_INITIALIZED: ‘155382970270’

Blockquote

I think I have managed to do the above in Z-Wave JS UI.

My question is where to from here? Should I not be seeing the new Zooz Z-Wave stick somewhere?
I can’t see it under Settings / Devices and Services.

I’d suggest reading the add-on docs, which have those instructions. Or the HA docs that I’ve already posted, including https://www.home-assistant.io/integrations/zwave_js/#installing-and-configuring-the-z-wave-integration-in-home-assistant.

Thanks, will do. I realise that I need to read up on something like Z-wave for dummies or something.
The documentation talks about ‘Once you have the Z-Wave JS server up and running, you need to install and configure the integration in Home Assistant’.
I assume that I have a Z-Wave JS server already since I have the Aeotec Z-wave stick running already but I need to understand the architecture better as right now, the terminology is confusing. For instance, is a Z-wave controller the same as a Z-Wave JS server? It is not clear in the documentation.

The other thing I need to understand is if I should see the Aeotec Z-wave stick in Z-Wave JS UI. I have not configured it there yet.
I may need to come back here and ask more questions if I get stuck. I hope that is OK.

Thanks for all the help so far.

Controller = hardware usb stick
Server = software/zwavejs

@ [freshcoast]

How do you get 2 zwave-js installations?
When I try I get ‘alredy installed’

You need two controllers.

Does that mean that when I connect a second controller I can install easily 2 zwave-js installations? No specific settings needed?
I’ll try tomorrow…

Yes, you need two installations of Z-Wave JS. The second integration server URL should point to the second instance of Z-Wave JS. The “already installed” message means you configured the second instance with the URL of the already configured one.

In HAOS you cannot run the same add-on twice, so you would need to install both add-ons, official and ZUI.

Thank you. That is the sort of plain English language that helps dummies like me. I have not seen it written like that in the documentation but I wish it was. Sometimes the documentation is written assuming that only experts will need to understand it.

From your response, I now understand that I DO have a Z-wave JS server installed with the URL of ws://core-zwave-js:3000.
I have also installed Z-Wave JS UI and it looks like this. I have also managed to pair (include?) a Z-wave sensor to that controller.
BUT, I cannot see either the controller nor the sensor under devices and entities in HA.

If I need to install a second Z-Wave JS server, how do I know what the URL should be? Apologies, I cannot for the life of me find that in any documentation. It defaults to ws://localhost:3000 but I assume that is incorrect for a second server.

Please point me in the right direction, I have read and read and still none the wiser.

Yes, this is the official add-on. Stick A is being controlled here with one instance of Z-Wave JS, and this add-on provides a Z-Wave JS server. It’s already integrated with HA.

Stick B here is controlled by the second instance of Z-Wave JS, and the ZUI add-on also provides its own Z-Wave JS server. Now you need to integrate it with HA (hence “integration”), it’s not automatic.

If I need to install a second Z-Wave JS server, how do I know what the URL should be?

You already installed the second Z-Wave JS server, it’s provided by the ZUI add-on. The ZUI Add-on docs here, which are also accessible from the add-on page itself, give you step-by-step instructions on how to setup the integration, along with the required server URL.

The HA docs that I also previously linked, and which you literally quoted, have the same instructions and provide the explicit server URL to use with the ZUI add-on: