|
@@ -356,10 +356,11 @@ header_info
|
|
|
function update_script() {
|
|
|
PY=$(ls /srv/homeassistant/lib/)
|
|
|
IP=$(hostname -I | awk '{print $1}')
|
|
|
- UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \
|
|
|
+ UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
|
|
|
"1" "Update Core" ON \
|
|
|
"2" "Install HACS" OFF \
|
|
|
"3" "Install FileBrowser" OFF \
|
|
|
+ "4" "Install/Update AppDaemon" OFF \
|
|
|
3>&1 1>&2 2>&3)
|
|
|
header_info
|
|
|
if [ "$UPD" == "1" ]; then
|
|
@@ -431,6 +432,78 @@ echo -e "FileBrowser should be reachable by going to the following URL.
|
|
|
${BL}http://$IP:8080${CL} admin|changeme\n"
|
|
|
exit
|
|
|
fi
|
|
|
+if [ "$UPD" == "4" ]; then
|
|
|
+ clear
|
|
|
+ header_info
|
|
|
+ if [[ ! -d /srv/appdaemon ]]; then
|
|
|
+ msg_info "Installing AppDaemon"
|
|
|
+ mkdir /srv/appdaemon
|
|
|
+ cd /srv/appdaemon
|
|
|
+ python3 -m venv .
|
|
|
+ source bin/activate
|
|
|
+ pip install appdaemon &>/dev/null
|
|
|
+ mkdir -p /root/.homeassistant/appdaemon/apps
|
|
|
+ cat > /root/.homeassistant/appdaemon/appdaemon.yaml << EOF
|
|
|
+# Sample appdaemon.yml file
|
|
|
+# For configuration, please visit: https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html
|
|
|
+appdaemon:
|
|
|
+ time_zone: CET
|
|
|
+ latitude: 51.725
|
|
|
+ longitude: 14.3434
|
|
|
+ elevation: 0
|
|
|
+ plugins:
|
|
|
+ HASS:
|
|
|
+ type: hass
|
|
|
+ ha_url: <home_assistant_base_url>
|
|
|
+ token: <some_long_lived_access_token>
|
|
|
+http:
|
|
|
+ url: http://127.0.0.1:5050
|
|
|
+admin:
|
|
|
+api:
|
|
|
+EOF
|
|
|
+ msg_ok "Installed AppDaemon"
|
|
|
+
|
|
|
+ msg_info "Creating Service"
|
|
|
+ cat > /etc/systemd/system/appdaemon.service << EOF
|
|
|
+[Unit]
|
|
|
+Description=AppDaemon
|
|
|
+After=homeassistant.service
|
|
|
+Requires=homeassistant.service
|
|
|
+[Service]
|
|
|
+Type=simple
|
|
|
+WorkingDirectory=/root/.homeassistant/appdaemon
|
|
|
+ExecStart=/srv/appdaemon/bin/appdaemon -c "/root/.homeassistant/appdaemon"
|
|
|
+RestartForceExitStatus=100
|
|
|
+[Install]
|
|
|
+WantedBy=multi-user.target
|
|
|
+EOF
|
|
|
+ systemctl enable --now appdaemon &>/dev/null
|
|
|
+ msg_ok "Created Service"
|
|
|
+
|
|
|
+ msg_ok "Completed Successfully!\n"
|
|
|
+ echo -e "AppDaemon should be reachable by going to the following URL.
|
|
|
+ ${BL}http://$IP:5050${CL}\n"
|
|
|
+ exit
|
|
|
+ else
|
|
|
+ msg_info "Upgrading AppDaemon"
|
|
|
+ msg_info "Stopping AppDaemon"
|
|
|
+ systemctl stop appdaemon
|
|
|
+ msg_ok "Stopped AppDaemon"
|
|
|
+
|
|
|
+ msg_info "Updating AppDaemon"
|
|
|
+ source /srv/appdaemon/bin/activate
|
|
|
+ pip install --upgrade appdaemon &>/dev/null
|
|
|
+ msg_ok "Updated AppDaemon"
|
|
|
+
|
|
|
+ msg_info "Starting AppDaemon"
|
|
|
+ systemctl start appdaemon
|
|
|
+ sleep 2
|
|
|
+ msg_ok "Started AppDaemon"
|
|
|
+ msg_ok "Update Successful"
|
|
|
+ echo -e "\n Go to http://${IP}:5050 \n"
|
|
|
+ exit
|
|
|
+ fi
|
|
|
+fi
|
|
|
}
|
|
|
|
|
|
if command -v pveversion >/dev/null 2>&1; then
|