Smartest wat to get mqtt, when starting from zwave js

If I have a perfectly functioning zwave JS add on installed, what’s the smartest and least painless way to get the entity options and deep zwave analysis provided with mqtt?

I tried to install zwave to mqtt as well, but it seemed to conflict with zwave JS, as both wanted to access my nortek usb stick at the same time.

I understand in another tutorial that you can install zwave JS without the supervisor and perhaps this will allow “zwave JS mqtt” to work (as the supervisor?) But this requires uninstalling zwave JS and reinstalling, which worries me that I might have to readd add zwave devices and lose the device/entity names which will make me rewrite all my yaml.

It’s confusing for me that there are 3 add-ons here, zwave JS, mqtt and zwave JS to mqtt.

Appreciate the help, I’m a newb here but longtime nerd and I love this platform.

I’ll try to help you with part of it but as far as easily moving the entities moved I don’t know of an easy way using HassOS. I believe the general thought is that since the db is the same structure on both servers (zwavejs and zwavejs2mqtt) HA should pick up all the devices from the new zwavejs server and match them up to the existing entities from the old zwavejs server.

However you will still need to re-pair all of your devices to the new zwavejs2mqtt server. I don’t think there is any way around that in HassOS.

as far as the other questions/confusion…

there are a few ways to actually get a zwavejs server onto a HA system - adding it directly onto the host OS (not possible in HassOS), adding thru a standalone docker image (zwavejs2mqtt only), adding thru the zwavejs add-on and adding thru the zwavejs2mqtt add-on.

Then once you get a zwavejs server added to your system in one of the ways above then you need to add the zwavejs integration so that HA can communicate to the zwavejs server.

In HAOS they offer the ability to do two steps in one - if you have no zwavejs server already installed and you set up the integration it asks if you want to add the zwavejs add-on. The wording in the pop up box that asks if you want to install the add-on is a bit clunky in the wording.

It’s not installing a “supervisor add-on”. It’s adding the add-on (the zwavejs add-on which gives you nothing but a zwavejs server) via the supervisor - which is actually how every other add-on is installed as well.

If you check that box then HA will tell the supervisor to add the add-on and set up the integration to connect to that server. And it will do all kinds of other stuff too - like if you ever try to remove the add-on without deleting the integration then the supervisor will just re-add it. If you try to stop the add-on the supervisor will restart it (I think).

But if you leave the box unchecked you then have options to install a zwavejs server yourself and then you just point the integration to the location of the server. And tht server doesn’t have to even be installed on the HA machine itself either (unless you install it via the integration at setup). It can be on any machine anywhere on your network.

The only reason you need MQTT for using zwavejs2mqtt is if you intend on using the mqtt portion of that system. If you don’t plan on using the mqtt portion of zwavejs2mqtt then there is no reason to run it (at least for this reason, there are other valid reasons you might need it apart from zwavejs2mqtt tho).

And as you’ve found out you can’t have two zwavejs servers accessing the zwave controller at the same time.

I hope I’ve helped and not confused you even more. :crazy_face:

1 Like

@finity Thanks so much for your careful and detailed reply.
I’d love to avoid repairing my devices, but all I really want is the control panel, to tweak low level zwave settings.

Is there a way to get than functionality without removing my zwave js? I have this one installed now:

If I get this functionality with “zwave js 2 mqtt”, will I not also get this functionality if I just add the MQTT addon now?

One final question. The future of all the zwave options (OZW, zwave js, zwavejs2mqtt, etc) seems to be in flux, or perhaps they are flourishing on their own. But there are notes that not all of these may be ongoing.

What’s your personal choice to go with, going forward for zwave addons?

If “zwave js 2 mqtt” is the horse to bet on, I’ll happily switch over. I started with zwave (depricated) and moved to zwave js, which was like night an day. They say this software is alpha/beta, but I haven’t had a single blip/bug/glitch that wasn’t my own fault.

The only way (right now…) to get the control panel is to use zwavejs2mqtt.

But the functionalities for the zwavejs integration should eventually reach parity with zwavejs2mqtt. But there is no timeline on when that will happen that I know of.

No, it doesn’t work that way.

zwavejs provides a zwavejs server and a webhook client.

zwavejs2mqtt provides a zwavejs server, a webhook client, an mqtt client and a zwavejs control panel.

the mqtt ad-on provides an MQTT broker that sets up the ability for clients to communicate with each other.

The control panel functionality doesn’t originate with MQTT and you can’t transform the zwavejs add-on to a zwavejs2mqtt add-on just by adding an mqtt client.

While I don’t use add-ons (I run HA Container) I have gone with zwavejs2mqtt for now since it does give more info for the network because of the control panel.

But I haven’t even fully switched over yet myself. I still run the old zwave integration for production and switch between the two for testing and getting ready for the final switch by making my entity id’s the same between the two systems.

the old zwave is definitely going away. OZW isn’t moving forward (or if it is it’s very slowly) so some form of zwavejs is the way to go.

You just have to decide if you want to wait for the zwavejs integration to catch up to the zwavejs2mqtt control panel functionality.

I personally don’t think you would ever have a problem going with zwavejs2mqtt and being worried about future proofing. The zwavejs2mqtt add-on is based on the zwavejs2mqtt container which is maintained by the same people who maintain the zwavejs project that the zwavejs add-on also relies on.

But I’ve been wrong once before. Once… :wink:

Ok that makes prefect sense, thank you!

I think I’ll just stick with zwave js for now, until they get the CP going or really need those settings.

1 Like