Why is my zwave store empty (recently upgraded to zwave-js-ui)

I have converted my system over to zwave-js-ui and everything seems to be working fine now.

I am using docker compose and set my store folder as follows.

environment:
      - SESSION_SECRET=...
      - ZWAVEJS_EXTERNAL_CONFIG=/home/gouldner/zwave/store/.config-db
.
.
.
    volumes:
      - zwave-config:/home/gouldner/zwave/store
.
.
.
volumes:
  zwave-config:
    name: zwave-config

I expected to find files in the store. In the UI I see a list of files in STORE so where are they really?

Should I be backing up the STORE? I use git to backup my HA config and thought I would do the same for zwave-js-ui, but I need to research the options in the Setup->Backup before I decide.

Based on the snippet you’ve posted, they are in the container filesystem and non-persistent, because you’ve mis-configured it. Once you re-create the container (e.g. upgrade), all your settings will be lost. I’d recommend not changing the paths as you’ve done, and stick to the example.

If your configuration was correct, they would reside in the zwave-config Docker volume, which is typically in /var/lib/docker/.... If you don’t want that, set it to a local path, e.g. ./store:/usr/src/app/store.

OH crap. Is there a way to save it and restore it after correct config using the backup feature?

I don’t understand why what I did was wrong the example has

   - ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db
   - zwave-config:/usr/src/app/store

So what would I change to get it to store where I wanted it? In /home/gouldner/zwave/store ?
I don’t understand you example of ‘.store:/usr/src/app/store’

Yes, you can use the ZUI backup to download all the store files. Or you can use docker inspect <container name> to see the container filesystem paths and look in those for the store directory, then copy it somewhere safe. But downloading the backup might be easier.

There’s no reason to change the internal container paths. Perhaps you are mixing up the volume specification, which is local-volume:path-inside-container or ./local-host-path:path-inside-container.

You can follow the example: zwave-js-ui/docker-compose.yml at 6d8e57de42270b002a612812cbf84d73e978381b · zwave-js/zwave-js-ui · GitHub. Just change the volume to a local host path, if that’s what you prefer. ./store is a sub-directory in the same place as the docker-compose.yaml file.

Perhaps give this a read through:

OK thanks for the help. I guess I am just used to configurations being left side is thing to configure and right side is value you want. So that isn’t intuitive to me. I didn’t see the .store example or perhaps I chose to ignore because it was commented and looked wrong to me. If that is the case it should have been a red flag but it was probably 2am when I was working on it, haha.

I guess I will just spin up a new version and once I get the store files restored from the other instance I can just change to using the new version. It was a lot of work renaming my devices so they would work in HA so I really don’t want to lose the changes I made.

Cheers, I may be back with more questions if my new instance isn’t working out but let me give it a shot, I think I understand now.

I think I jinked myself with my user name years ago. It was supposed to mean “smart” as in smart home but now I just feel dumb, LOL.

I installed the z-wave js UI using HACS. I followed the below instructions.

Setup Home Assistant with Z-Stick 7 and Z-WaveJS UI : Aeotec Help Desk (freshdesk.com)

Note: I am using the Zooz stick and I would have thought the installation procedure will be the same except I have to put the correct device ID.

Everything is working fine but my store folder is also empty.

Would anyone know why and if there is a solution?