Closed luckyjay closed 2 weeks ago
Note: I was running the 9.27.1 executable from https://github.com/zwave-js/zwave-js-ui/releases/download/v9.27.1/zwave-js-ui-v9.27.1-linux.zip
Are you setting environment variables STORE_DIR
and ZWAVEJS_EXTERNAL_CONFIG
?
Are you setting environment variables
STORE_DIR
andZWAVEJS_EXTERNAL_CONFIG
?
I don't believe so. I can try if there's some guidance on what to set them to. I assume STORE_DIR is the path to the storage directory. But not sure about the external config.
Looking at logs, I saw this in the zwavejs log for 9.27.1 (not happening in 9.26.0)
I would suspect: https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating/v14?id=configuration-db-updates-require-an-external-config-directory and https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating/v14?id=changed-some-default-paths
Config DB file path is determined by ZWAVEJS_EXTERNAL_CONFIG
.
This is mentioned in the NPM docs, but I think it would apply to any install. https://zwave-js.github.io/zwave-js-ui/#/getting-started/other-methods?id=npm
~ZUI has the deviceConfigPriorityDir
setting, that should have the same effect as the environment variable, so if that's set correctly there's more to it.~ That's a different directory. Try setting the env var ZWAVEJS_EXTERNAL_CONFIG
.
I've been using the linux executable in the releases at https://github.com/zwave-js/zwave-js-ui/releases/, with no special env vars set in the past. Willing to try something but not sure what to set ZWAVEJS_EXTERNAL_CONFIG to.
There's an example at https://zwave-js.github.io/zwave-js-ui/#/getting-started/other-methods?id=npm. Put it anywhere that is persistent, e.g. the STORE directory.
@robertsLando I'd suggest some documentation updates to indicate that ZWAVEJS_EXTERNAL_CONFIG
is required for all installations now, or you could add a UI setting that allows configuration of driver option deviceConfigExternalDir
, and pre-configures a sensible default in the store directory, much like the deviceConfigPriorityDir
option does.
Although, I'm not sure if this observed behavior was the intended side effect or not, or if the driver should have operated correctly without it.
Okay, sorry for being a bonehead on that - I thought the env var was looking for a path to an existing file :(
I set the env var and I don't have unknowns now, when running from command line.
Now just need to incorporate that to apply when running as a service.
Okay, looks like adding Environment to the systemd service definition works. But something automagic would be nice :)
@robertsLando I'd suggest some documentation updates to indicate that
ZWAVEJS_EXTERNAL_CONFIG
is required for all installations now, or you could add a UI setting that allows configuration of driver optiondeviceConfigExternalDir
, and pre-configures a sensible default in the store directory, much like thedeviceConfigPriorityDir
option does.
+1 for sensible default
@kpine not sure if latest driver version changed something but I'm wondering why it wasn't needed before 🤔
I'm wondering if it could make sense to set default store folder and external db to homedir()/.zwave-js-ui
. @AlCalzone thoughts? Of course this only when there are no env vars set
not sure if latest driver version changed something but I'm wondering why it wasn't needed before 🤔
It's a new requirement for v14: https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating/v14?id=configuration-db-updates-require-an-external-config-directory
I'm wondering if it could make sense to set default store folder and external db to
homedir()/.zwave-js-ui
.
How about make it an option and default it to storeDir + "/.config-db"
like deviceConfigPriorityDir
and Docker containers?
Nevermind - I thought the cache files could not be loaded, but that's not the issue here.
Agree with @kpine - Use ${storeDir}/.config-db
as the default and make it configurable.
Hmmm... At least the embedded config should get loaded, so I think this is still a bug in the bundling process.
Hmmm... At least the embedded config should get loaded, so I think this is still a bug in the bundling process.
Yeah this is what I mean, if this issue never happened before it means this is related to something else
I've narrowed it down to zwave-js not being able to find the bundled config files in the executable created by pkg
Wow it's not driver or zui issue, the issue is in pkg: https://github.com/yao-pkg/pkg/pull/124
Checklist
Deploy method
PKG executable
Z-Wave JS UI version
9.27.1
ZwaveJS version
14.3.2
Describe the bug
I hope I didn't do something stupid, but after upgrading from 9.26.0 to 9.27.1, all my zwave devices are listed in the UI with unknown manufacturer, product, product code
To Reproduce
Update from 9.26.0 to 9.27.1.
Expected behavior
No unknowns in manufacturer, product, product code columns
Additional context
Falling back to 9.26.0 no longer shows unknowns.
Re-interviewing on 9.27.1 will complete, but does not correct the unknowns even after restarting the service.
Environment is Ubuntu 24 LTS x64 VM, fully patched/updated running on Proxmox.