Wait, no. It doesn’t replace the INTEGRATION, it replaces the SERVER. No need to delete the integration, just stop the zwaveJS add-on and start the zwaveJS2mqtt add-on.
HA uses the same integration, the server using websockets on 3000 is different between the two. But since the USB stick holds all of the device info, it should equally pass on the node information just as the zwavejs server add-on does.
I went to supervisor\add ons and stopped zwavejs and started mqtt. I enabled 3000 on the configuration tab, added the key (i found the settings in the nodejs integration configuration - that had me stumped for a bit lol).
When i went to the zwave2mqtt i did see all the devices show up but they were all generic names and locations vs what was in zwavejs. I think that is where it may have gone sideways… and possibly something i did incorrectly. Not sure
The restore worked fine other than blowing up my smartthings integration. Just had to remove that and re-add it with a api key and the devices all came back with the same names etc.
The names you gave everything in zwaveJS wouldn’t transfer to zwaveJSMQTT unless you copied them somehow. Basically, both are docker containers so they both setup their own configurations. I’m not sure how, but I think you could just copy the zwave config files over to the other container. I only use zwaveJSMQTT because I wanted the interface that didn’t exist at all in zwaveJS when I started using the zwaveJS integration.
But then, I run HA core as a docker container on unRAID. I’m not a fan of using any of the HA OS versions because that just adds the complexity of another OS layer that can break and which I don’t need.
I am purely a windows guy so this linux stuff is a new world for me. That makes the HA OS a perfect fit haha. Im hoping that zwavejs will just add firmware to it at some point. I will say that parts of that zwave2mqtt interface were really nice.
Here is a quick step-by-step for those of you who want to switch from Zwave JS to Zwavejs2mqtt…
The ZwaveJS “integration” in HA consists of 2 parts:
The server part; it is what actually creates the zwave network and handles all communications (you can see it in the configurations > addons as Zwave Js)
The integration part (you can see it under Configurations > “Devices and Services” as “Zwave js”). It connects to the server part and pulls all the data into Home Assistant. It also stores all the names of your Nodes.
All we have to do is disable ZwaveJS server part in the addons and install Zwavejs2mqtt server part instead. Since we are not doing anything with the 2nd part all names will stay the same. We are just swapping out the servers, it takes only a few minutes. The longest part is waiting for your network to come back online (if you got a lot of devices)
Here is a guide on how to switch from ZwaveJS to Zwavejs2mqtt. :
Do a backup just in case
go to configuration > add-ons, press add new add-on and search for Zwavejs2mqtt. Install it but don’t run it.
go to configuration > add-ons, click on your current Zwave Js addon and stop it (it should be running). Make sure to turn off Watch Dog if you have it enabled or it will start right back up.
Click on the configuration tab on your stopped Zwave-js addon. You should see all the keys and device settings. Copy them down (or keep it open in a tab).
Go to your newly installed Zwavejs2mqtt addon and start it up. Then click Open Web UI button to bring the UI
Click on the gear on the left side, then click on Zwave bar/tab at the top. Copy all the keys and device path from your stopped Zwave Js addon. Make sure Disable MQTT Gateway is checked. On the Home Assistant tab make sure the “WS Server” is checked and port is 3000. Click save at the bottom. Zwavejs2mqtt will now try to bring your Zwave network online. If you get a message at the top right saying that the device cant be locked it’s probably because your old Zwave JS add-on decided to start back up. Go back to it and press stop again. Since Zwavejs2mqtt will keep retrying to connect it should connect to it quickly. If you are still having issues you can try to reboot your whole PI or whatever you are running your HA on. Just make sure start on boot is enabled for Zwavejs2mqtt addon and disabled for your Zwave JS addon. You can only have one of them running at the same time.
If all went well you should see nodes starting to populate when you click on the Control Panel icon in the Zwavejs2mqtt UI. Don’t worry about the names here as those are just what is seen by the server. It may take some time for the whole network to come online if you have a big network. You can now go back to HA and you should see devices becoming available again as nodes are coming back online.
I would wait to update any firmware until the network is fully working. Follow @LongDono 's flash guide above on how to flash the firmware.
To switch back to Zwave JS
To switch back to Zwave JS you can just stop the Zwavejs2mqtt (disable auto-start and watchdog again) and then just turn the Zwave JS back on. Now you can switch between the two by just start / stoping whichever one you want to use.
I didn’t see much difference in performance between the two (I got 48 devices) … so I might just leave the Zwavejs2mqtt as the server. Does anyone else notice the difference?