zwavejs2mqtt-update.sh 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env bash
  2. set -e
  3. RD=`echo "\033[01;31m"`
  4. BL=`echo "\033[36m"`
  5. CM='\xE2\x9C\x94\033'
  6. GN=`echo "\033[1;92m"`
  7. CL=`echo "\033[m"`
  8. echo -en "${GN} Updating Zwavejs2MQTT... "
  9. systemctl stop zwavejs2mqtt.service
  10. cd /opt/zwavejs2mqtt
  11. curl -s https://api.github.com/repos/zwave-js/zwavejs2mqtt/releases/latest | grep "browser_download_url.*zip" | cut -d : -f 2,3 | tr -d \" | wget -i - &>/dev/null
  12. unzip -u zwavejs2mqtt-v*.zip zwavejs2mqtt &>/dev/null
  13. echo -e "${CM}${CL} \r"
  14. echo -en "${GN} Checking Service... "
  15. SERVICE=/etc/systemd/system/zwavejs2mqtt.service
  16. cat <<EOF > $SERVICE
  17. [Unit]
  18. Description=ZWavejs2MQTT
  19. Wants=network-online.target
  20. After=network-online.target
  21. [Service]
  22. User=root
  23. WorkingDirectory=/opt/zwavejs2mqtt
  24. ExecStart=/opt/zwavejs2mqtt/zwavejs2mqtt
  25. [Install]
  26. WantedBy=multi-user.target
  27. EOF
  28. echo -e "${CM}${CL} \r"
  29. echo -en "${GN} Cleanup... "
  30. rm zwavejs2mqtt-v*.zip
  31. systemctl --system daemon-reload
  32. systemctl start zwavejs2mqtt.service
  33. systemctl enable zwavejs2mqtt.service &>/dev/null
  34. echo -e "${CM}${CL} \n"
  35. echo -e "${GN} Finished ${CL}"