Before I start, I’ll admit a some whiplash, and a little frustration between HomeAssistant and Zwave though I’m not sure how to direct it.
My setup:
I have HA 2022.9.7 running on docker on a RPi.
I have dozens of Zwave electrical switches hard-wired into my house.
A few months ago I couldn’t upgrade HA until I got rid of the native Zwave integration. So I ran a Docker container with Zwave2Mqtt and reconfigured all my switches and all the automations based on them.
Now in the 2022.10 release notes, there are breaking changes that say I need to update to Zwave-js-server 1.24.0. The info in my Zwave2Mqtt server says I’m on 10.0.4 – it doesn’t appear to be the same software . When I upgraded to the latest HA it didn’t work with my existing Zwave2Mqtt server.
Anyway, I can’t just upgrade the container that Zwave2Mqtt is running because my container image has been deprecated in favor of ZWave JS UI, available here.
If a run a new container with this on it, am i going to lose all my node configurations again?? Am I the only one that has wound up with HA in a docker container needing to run a Zwave server on the side? I’m eager to find my way back to a well-worn path, without so many reconfigurations…
They are the same. If you update to latest version of zwavejsui you will have no issue. Ive done this without issue.
I run all services in seperate docker containers same as you. I fjnd this much easier to manage. If you are not using already, i suggest trying portainer (the community edition)
No. just change the image name in your docker run command and leave all of your volume mounts the same and everything will switch over.
You will probably need to remove the old zwavejs container first. But if you don’t delete the actual data files in you bind volumes then after you re-create the new container with the new image everything should come back as before.
But you actually should be good to update HA since the version you are on per your screenshot is valid per the release notes you linked to.
Download the updated version of zwavejs-ui you want to use.
Shutdown old container and home assistant
Copy the existing zwavejs config directory to a new one (I put the version # in the path)
Create the new container pointing to the new Config directory
Start up zwavejs, check the UI and see if the devices are listed.
Start up HA
Monitor for a day or so. If problems arise, you can stop the new container and restart the old one.
Then as Step 2, I’ll do the HA update using the same procedure.
It’s a best practice to only update 1 piece at a time, that way if it goes sideways, you have only one piece to revert and are certain of what caused the issue.
There’s a few steps in there that are unnecessary.
There’s not really a reason to pull the image first. If you use the new image name in your docker run command it will automatically pull the new image. if you want to pull the new image first it won’t hurt anything but it will only save you a couple of minutes unless your internet service is really slow.
you can stop the old container if you want instead of deleting it but then you will need to rename the new container in your docker run command so you don’t have any naming conflicts.
There’s no reason to shutdown HA when moving from one zwavejs version to the other. the two are completely independent of each other. The only thing you’ll see in HA are the zwave devices are unavailable while the zwavejs-ui container starts up. After it restarts everything should come back just as it was before.
There’s no reason to copy any of the zwavejs config directories to a new location. If your new docker run command volume bindings references the same config directories as the old zwavejs config then the new zwavejs will just use those automatically.
Thanks all. Giving me a lot of confidence that this isn’t as big a change as I thought – and that I’m not as alone as I thought either. I’ll give this a shot shortly. Thanks again all!
Thanks all. Confirmed this worked for me. I am running an old RPi and needed to backport following these instructions. Before adding the backport I was getting