Let's start talking about the new Z-wave JS integration

I know it’s a bit early to really have a lot of information but I figured I’d start the ball rolling.

In all of the reading of the github architecture discussion, forum threads, etc., I haven’t come across any discussion or link to a stand-alone (non-add-on) image to run the backend server for zwavejs.

Is there anything in the works on this yet? Or does it already exist and I’ve missed it?

I’ve read that (optimistically) there is a pre-release planned for the next full release of HA so I assume that there must be a support structure in place for the integration before then?

Take a look at zwave2mqtt add-on. I believe that is build on zwavejs.

Do you mean this?

There’s a PR for a Dockerfile for the zwave-js-server that should be merged prior to the next HA release. Beyond that it’s just a node app, so its super easy to run from the command line outside of docker :smiley:

I don’t think that will be useful.

First it’s for zwavejs2mqtt. Which is different than zwavejs (note the missing “2mqtt” bit). And I already have the zwavejs2mqtt docker image running but I’m pretty sure it isn’t the same (because of the added “2mqtt” bit).

And even if it would work it’s an add-on and a lot of us don’t run a supervised install so having an add-on won’t help.


There isn’t very much background info on that included in the readme.

is that something that needs installed (I assume?) before you run it using the commands listed there?

Do you happen to have a link for that?

I really don’t like running things outside of docker anymore unless I really have to.

And I’ve never successfully used a dockerfile before. I’ve tried to reverse engineer add-ons in the past without much success.

Will there eventually be a full docker image to run the server from?


so how is this supposed to work?
Zwave USB stick --> Zwave JS --> Zwave JS Server --> websocket --> Home Assistant
and in parallel
Zwave USB stick --> Zwave JS --> zwavejs2mqtt
as management frontend? And as alternative interface for not (yet) supported Is the intention that the websocket interface and zwavejs2mqtt interface can be used simultaneously?

I am really looking forward to this :slight_smile:

1 Like

I like where this is going. Curious to see how this plays out.

Sorry but I’m interested too - will that work ?

As I understand it, zwavejs2mqtt supports an embedded zwave-js-server, so you can run it and use the HA integration together:

                                               / --> MQTT --> Anywhere
Zwave USB stick --> Zwave JS --> zwavejs2mqtt /
                                              \ -> Z-Wave JS Server --> websocket --> Home Assistant

Of course, you can also use only MQTT, or skip MQTT and use the zwave-js-server independent of zwavejs2mqtt.


I honestly don’t think this is correct. Zwave-js-server from everything I see and read interfaces with zwave-js directly.

On another note, has anyone tried it in its current form? I’m so sick of the random stops of the ozw add-on and having to stop and start x1000 to get it recognizing all my devices. I’m fine waiting but I’m ready to just live with any bugs that this new integration would have if I switched.

1 Like

OK, it’s not a technically perfect diagram, whatever. But zwavejs2mqtt manages an instance of zwave-js-server, which was the point.

You can setup zwavejs2mqtt if you want, and have it either way.

Does this work?

   +-----------------+  +----------------------+
   |                 |  |                      |
   |   MQTT Broker   |  |    Home Assistant    |
   |                 |  | zwave_js integration |
   | mqtt://host:1883|  |                      |
   +-------^---------+  +-----------+----------+
           |                        |
           |  mqtt                  |
           |                        |
           |                        | websocket
    +------+---------+              |
    |                |              |
    |  zwavejs2mqtt  +----------+   |
    |                |          |   |
    +---+------------+          |   |
        |                       |   |
        |              +--------v---v------+
        |              |  zwave-js-server  |
        |              |                   |
        v              |  ws://host:3000   |
+-------+-------+      +---------+---------+
|               |                |
| node-zwave-js +<---------------+
|               |
 |    zwave    |
 |  controller |

Honestly I wasn’t trying to be rude. I was only really speaking from the home assistant integration perspective and not zwavejs2mqtt.

1 Like

I didn’t say you were being rude. I was wondering what you thought was incorrect, so I’ve redone the diagram. Is there something I’m not understanding?

1 Like

Running OZW from Docker now, I look forward to running Z-wave JS the same way. I’d love to see someone come up with a small migration guide like getting your OZW network key set in Z-wave so you don’t have to remove/pair everything again. I understand there might be different entity names, but that’s a small price to pay instead redoing your whole network.

1 Like

Where is your tutorial? I need to make the move to OZW 1.6.

Migration from Legacy Z-Wave integration where the vast majority of users likely live is probably more urgent, but I’d be happy for both. In my experience, migration capability is best planned up front and worked along the way with a project or it quickly becomes a beast to implement. I hope that’s being though through.

Here is a video talking about moving to OZW. I think this is what you were asking for. https://youtu.be/f3-0F_9tNtE

1 Like

Close, but I’m talking about moving from OZW to the new Z-wave JS integration when it is released.