Fix Z-Wave JS UI script (#546)

* Revert & Updated ZWave JS UI

* Tweak for StorageDB
This commit is contained in:
CanbiZ 2024-11-28 05:48:58 +01:00 committed by GitHub
parent 24cfb32c3d
commit 1cb822b34c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 46 additions and 47 deletions

View File

@ -53,44 +53,33 @@ function default_settings() {
} }
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/zwave-js-ui ]]; then if [[ ! -d /opt/zwave-js-ui ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "No ${APP} Installation Found!" RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
exit if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
fi msg_info "Stopping Service"
RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') systemctl stop zwave-js-ui
msg_info "Stopping Z-wave JS UI" msg_ok "Stopped Service"
systemctl stop zwave-js-ui.service
msg_ok "Stopped Z-wave JS UI"
msg_info "Updating Z-wave JS UI" msg_info "Updating Z-Wave JS UI"
wget https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip &>/dev/null rm -rf /opt/zwave-js-ui/*
unzip zwave-js-ui-${RELEASE}-linux.zip &>/dev/null cd /opt/zwave-js-ui
\cp -R zwave-js-ui-linux /opt/zwave-js-ui wget -q https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip
service_path="/etc/systemd/system/zwave-js-ui.service" unzip -q zwave-js-ui-${RELEASE}-linux.zip
echo "[Unit] msg_ok "Updated Z-Wave JS UI"
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" >$service_path
msg_ok "Updated Z-wave JS UI"
msg_info "Starting Z-wave JS UI" msg_info "Starting Service"
systemctl enable --now zwave-js-ui.service systemctl start zwave-js-ui
msg_ok "Started Z-wave JS UI" msg_ok "Started Service"
msg_info "Cleanup" msg_info "Cleanup"
rm -rf zwave-js-ui-${RELEASE}-linux.zip zwave-js-ui-linux store rm -rf /opt/zwave-js-ui/zwave-js-ui-${RELEASE}-linux.zip
msg_ok "Cleaned" rm -rf /opt/zwave-js-ui/store
msg_ok "Updated Successfully!\n" msg_ok "Cleaned"
exit msg_ok "Updated Successfully!\n"
exit
} }
start start

View File

@ -14,33 +14,43 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y curl $STD apt-get install -y \
$STD apt-get install -y sudo curl \
$STD apt-get install -y mc sudo \
mc
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Z-Wave JS UI" msg_info "Installing Z-Wave JS UI"
mkdir /opt/zwave-js-ui mkdir -p /opt/zwave-js-ui
mkdir -p /opt/zwave_store
cd /opt/zwave-js-ui cd /opt/zwave-js-ui
RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
$STD wget https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip wget -q https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip
$STD unzip zwave-js-ui-${RELEASE}-linux.zip unzip -q zwave-js-ui-${RELEASE}-linux.zip
cat <<EOF >/opt/.env
ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db
STORE_DIR=/opt/zwave_store
EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Z-Wave JS UI" msg_ok "Installed Z-Wave JS UI"
msg_info "Creating Service" msg_info "Creating Service"
service_path="/etc/systemd/system/zwave-js-ui.service" cat <<EOF > /etc/systemd/system/zwave-js-ui.service
echo "[Unit] [Unit]
Description=zwave-js-ui Description=zwave-js-ui
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
[Service] [Service]
User=root User=root
WorkingDirectory=/opt/zwave-js-ui WorkingDirectory=/opt/zwave-js-ui
ExecStart=/opt/zwave-js-ui/zwave-js-ui-linux ExecStart=/opt/zwave-js-ui/zwave-js-ui-linux
EnvironmentFile=/opt/.env
[Install] [Install]
WantedBy=multi-user.target" >$service_path WantedBy=multi-user.target
systemctl start zwave-js-ui EOF
$STD systemctl enable zwave-js-ui systemctl enable -q --now zwave-js-ui
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh

View File

@ -9,7 +9,7 @@
"updateable": true, "updateable": true,
"privileged": true, "privileged": true,
"interface_port": "8091", "interface_port": "8091",
"documentation": null, "documentation": "https://zwave-js.github.io/zwave-js-ui/#/",
"website": "https://github.com/zwave-js/zwave-js-ui#", "website": "https://github.com/zwave-js/zwave-js-ui#",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/zwave.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/zwave.svg",
"description": "Z-Wave JS UI is an open-source software that serves as a gateway between Z-Wave devices and MQTT (Message Queuing Telemetry Transport) protocol, allowing users to control and monitor their Z-Wave devices via a user interface. The software provides a configurable platform to manage Z-Wave networks and integrate with other smart home systems through MQTT.", "description": "Z-Wave JS UI is an open-source software that serves as a gateway between Z-Wave devices and MQTT (Message Queuing Telemetry Transport) protocol, allowing users to control and monitor their Z-Wave devices via a user interface. The software provides a configurable platform to manage Z-Wave networks and integrate with other smart home systems through MQTT.",