Z-Wave JS server vs zwavejs2mqtt. Pros and Cons

Hi folks.

Since I bought new hardware and wanna replace my Pi with a Mini PC I would like to have your view on both server solutions.

Actually I am running again Home Assistant Core in a venv. This means I cannot use the Community Plugins and such. Therefore I need to install the Z-Wave Server manually.

Now since I have at least two options to achieve that, what would be your recommendation for a server?

As I like would like have this thread also helping others in their decision, if they are in almost the same situation as I am right now, it would be great if you can write down the pros and cons for each server solution.

My first impressions are, that the Z-Wave JS Server is quite basic, so it has the needed functionalties but not much more implemeted. Usually I like to follow the KISS principle (Keep It Stupid and Simple) and I try to prevent bloat. Thats also the reason why I want to be more in control whats going on with my Host OS and same with Pythong and the venv.

So now its your place to share some pros and cons to the different servers. Thanks in advance, folks! :slight_smile:

cheers

fastboot

zwavejs server:

  • con - harder to install

zwavejs2mqtt:

  • con - need to install docker first (not really a con if you already run HA in a container - and you should be :wink:)
  • pro - easier to install in a container
  • pro - has a UI control panel
  • pro (maybe) - has the ability to run your zwave network and communicate via MQTT if you need it. And if you don’t you can disable MQTT and just run it via websockets only.
  • pro - it’s way easier to update since it runs in a container

there may be more.

Hello @finity,

thanks for the pros and cons.

Actually running HA in a container is not an option for me. Like I want to be in full charge and not rely too much on other dependencies. Same for the Z-Wave Server. I dont want to install nor use a docker container for that.
So that basically means only the pros and cons for the both servers are of interest for me. Like which advantage I have when I consider for this or that.

cheers

fastboot

While I get the “I want control” idea (which is why i use yaml for everything I can in HA) there are some things that make things so much easier that it’s worth giving up the fine grained control.

Like running HA in a container is literally a “no-brainer”.

You still have all of the access you had to the underlying OS as you do running it in a venv (which is why I don’t run HassOS) but you end up with all of the dependencies needed to simply run HA taken care of for you by the image (and you do still have other dependencies even in a venv you need to worry about - a big one being the python version).

For example, there may be times when you need to update a package for one piece of software that then causes HA to break because it needs a different version of that package (or vice versa). Docker solves that potential issue. I had reservations transitioning from a venv to docker at first, too, but since I’ve done it I will never go back unless I really have to for some unforeseen reason.

And as far as zwavejs2mqtt there is no way at all that I know of (right now at least) to have any kind of a “fully featured” control panel with it. That is supposed to change later and HA zwavejs is supposed to reach parity with zwavejs2mqtt but I’m not sure what the timeline is for that.