@@ -9,7 +9,7 @@ APP="Zigbee2MQTT"
99var_tags=" ${var_tags:- smarthome;zigbee;mqtt} "
1010var_cpu=" ${var_cpu:- 2} "
1111var_ram=" ${var_ram:- 1024} "
12- var_disk=" ${var_disk:- 4 } "
12+ var_disk=" ${var_disk:- 5 } "
1313var_os=" ${var_os:- debian} "
1414var_version=" ${var_version:- 12} "
1515var_unprivileged=" ${var_unprivileged:- 0} "
@@ -27,29 +27,38 @@ function update_script() {
2727 msg_error " No ${APP} Installation Found!"
2828 exit
2929 fi
30+
31+ if [[ -f ~ /.zigbee2mqtt ]]; then
32+ CURRENT=" $( cat ~ /.zigbee2mqtt) "
33+ elif [[ -f /opt/${APP} _version.txt ]]; then
34+ CURRENT=" $( cat /opt/${APP} _version.txt) "
35+ rm -f /opt/${APP} _version.txt
36+ else
37+ CURRENT=" "
38+ fi
39+
3040 RELEASE=$( curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep " tag_name" | awk ' {print substr($2, 2, length($2)-3) }' )
31- if [[ ! -f /opt/${APP} _version.txt ]] || [[ " ${RELEASE} " != " $( cat /opt/${APP} _version.txt) " ]]; then
41+ if [[ " $RELEASE " != " $CURRENT " ]]; then
42+ if ! command -v jq & > /dev/null; then
43+ $STD apt-get update
44+ $STD apt-get install -y jq
45+ fi
46+ NODE_VERSION=24 NODE_MODULE=" pnpm@$( curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r ' .packageManager | split("@")[1]' ) " setup_nodejs
47+
3248 msg_info " Stopping Service"
3349 systemctl stop zigbee2mqtt
3450 msg_ok " Stopped Service"
3551
36- msg_info " Updating pnpm"
37- $STD npm install -g
[email protected] 38- msg_ok " Updated pnpm"
39-
4052 msg_info " Creating Backup"
4153 rm -rf /opt/${APP} _backup* .tar.gz
4254 mkdir -p /opt/z2m_backup
4355 $STD tar -czf /opt/z2m_backup/${APP} _backup_$( date +%Y%m%d%H%M%S) .tar.gz -C /opt zigbee2mqtt
4456 mv /opt/zigbee2mqtt/data /opt/z2m_backup
4557 msg_ok " Backup Created"
4658
59+ fetch_and_deploy_gh_release " Zigbee2MQTT" " Koenkk/zigbee2mqtt" " tarball" " latest" " /opt/zigbee2mqtt"
60+
4761 msg_info " Updating ${APP} to v${RELEASE} "
48- cd /opt
49- curl -fsSL " https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE} .zip" -o $( basename " https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE} .zip" )
50- $STD unzip ${RELEASE} .zip
51- rm -rf /opt/zigbee2mqtt
52- mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
5362 rm -rf /opt/zigbee2mqtt/data
5463 mv /opt/z2m_backup/data /opt/zigbee2mqtt
5564 cd /opt/zigbee2mqtt
@@ -63,9 +72,7 @@ function update_script() {
6372
6473 msg_info " Cleaning up"
6574 rm -rf /opt/z2m_backup
66- rm -rf /opt/${RELEASE} .zip
6775 msg_ok " Cleaned up"
68- echo " ${RELEASE} " > /opt/${APP} _version.txt
6976 else
7077 msg_ok " No update required. ${APP} is already at v${RELEASE} ."
7178 fi
0 commit comments