community-scripts / ProxmoxVE

Proxmox VE Helper-Scripts (Community Edition)
https://Helper-Scripts.com
MIT License
3.6k stars 198 forks source link

Zwave JS UI updated it's requirements to include ENV variables. #207

Open zmcnaney opened 1 day ago

zmcnaney commented 1 day ago

Please verify that you have read and understood the guidelines.

yes

A clear and concise description of the issue.

ZWave JS upgraded to version 14 of the node-zwave-js. When doing so, they changed the requirements and now require enviornment variables to be set and don't default. This change occured today with the update to tag 9.21.1. With the variables

The variables that must be set are ZWAVEJS_EXTERNAL_CONFIG and STORE_DIR. If those are not configured, all the devices lose their manufacturer, product, and product code in the UI. image

If you update the service entry being created in https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/zwave-js-ui.sh to include the variables - everything works as expected.

What settings are you currently utilizing?

Default Settings

Which Linux distribution are you employing?

Debian 12

If relevant, including screenshots or a code block can be helpful in clarifying the issue.

Old

[Unit]
  Description=zwave-js-ui
  Wants=network-online.target
  After=network-online.target
  [Service]
  User=root
  WorkingDirectory=/opt/zwave-js-ui
  ExecStart=/opt/zwave-js-ui/zwave-js-ui-linux
  [Install]
  WantedBy=multi-user.target

New

[Unit]
  Description=zwave-js-ui
  Wants=network-online.target
  After=network-online.target
  [Service]
  Environment="ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave-js-ui/.config-db"
  Environment="STORE_DIR=/opt/zwave-js-ui/store"
  User=root
  WorkingDirectory=/opt/zwave-js-ui
  ExecStart=/opt/zwave-js-ui/zwave-js-ui-linux
  [Install]
  WantedBy=multi-user.target

Please provide detailed steps to reproduce the issue.

Update ZWAVE JS UI using the update script to version 9.21.0 or higher.

newzealandpaul commented 1 day ago

Thanks for the detailed issue with a fix.

I don't have zwave devices so I cannot test this, @zmcnaney can you please try this script:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/newzealandpaul/ProxmoxVE/refs/heads/newzealandpaul-zwave1/ct/zwave-js-ui.sh)"

And let me know if that works. This will create a new container just FYI.

zmcnaney commented 1 day ago

So, your script didn't work, but I believe that's due to it referencing a direct link to the build.func file, not the raw.githubusercontent.com link.

Your script references: https://github.com/newzealandpaul/ProxmoxVE/blob/newzealandpaul-zwave1/misc/build.func

Should it reference: https://raw.githubusercontent.com/newzealandpaul/ProxmoxVE/refs/heads/newzealandpaul-zwave1/misc/build.func since you're trying to run it?

Also, should it be referencing a different repository?

From what I can tell there are a number of changes in the .func file, but the update_script() function matches what I changed locally to get it working. I didn't go through the .func file to compare the differences but I expect they're correct and used in a number of other places.

When I attemtped to run it as is, I got an error - again, likely due to the function file failing to load:

root@pve1:~# bash -c "$(wget -qLO - https://raw.githubusercontent.com/newzealandpaul/ProxmoxVE/refs/heads/newzealandpaul-zwave1/ct/zwave-js-ui.sh)"

 _____                                  _______    __  ______
/__  /_      ______ __   _____         / / ___/   / / / /  _/
  / /| | /| / / __ `/ | / / _ \   __  / /\__ \   / / / // /  
 / /_| |/ |/ / /_/ /| |/ /  __/  / /_/ /___/ /  / /_/ // /   
/____/__/|__/\__,_/ |___/\___/   \____//____/   \____/___/   

Loading...
bash: line 27: variables: command not found
bash: line 28: color: command not found
bash: line 29: catch_errors: command not found
bash: line 96: start: command not found
bash: line 97: build_container: command not found
bash: line 98: description: command not found
Zwave-JS-UI should be reachable by going to the following URL.
         http://:8091 
newzealandpaul commented 1 day ago

Sorry about that, I will take another look at it. Thanks for trying it.