-
Notifications
You must be signed in to change notification settings - Fork 4
/
get
93 lines (77 loc) · 3 KB
/
get
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/bash
# Originally from https://get.hacs.xyz and chaed to fit victorsmartkill integration
# wget -O - https://raw.githubusercontent.com/toreamun/victorsmartkill-homeassistant/master/get | bash -
set -e
RED_COLOR='\033[0;31m'
GREEN_COLOR='\033[0;32m'
GREEN_YELLOW='\033[1;33m'
NO_COLOR='\033[0m'
declare haPath
declare -a paths=(
"$PWD"
"$PWD/config"
"/config"
"$HOME/.homeassistant"
"/usr/share/hassio/homeassistant"
)
function info() { echo -e "${GREEN_COLOR}INFO: $1${NO_COLOR}"; }
function warn() { echo -e "${GREEN_YELLOW}WARN: $1${NO_COLOR}"; }
function error() {
echo -e "${RED_COLOR}ERROR: $1${NO_COLOR}"
if [ "$2" != "false" ]; then exit 1; fi
}
function checkRequirement() {
if [ -z "$(command -v "$1")" ]; then
error "'$1' is not installed"
fi
}
checkRequirement "wget"
checkRequirement "unzip"
info "Trying to find the correct directory..."
for path in "${paths[@]}"; do
if [ -n "$haPath" ]; then
break
fi
if [ -f "$path/home-assistant.log" ]; then
haPath="$path"
else
if [ -d "$path/.storage" ] && [ -f "$path/configuration.yaml" ]; then
haPath="$path"
fi
fi
done
if [ -n "$haPath" ]; then
info "Found Home Assistant configuration directory at '$haPath'"
cd "$haPath" || error "Could not change path to $haPath"
if [ ! -d "$haPath/custom_components" ]; then
info "Creating custom_components directory..."
mkdir "$haPath/custom_components"
fi
info "Changing to the custom_components directory..."
cd "$haPath/custom_components" || error "Could not change path to $haPath/custom_components"
info "Downloading Victor Smart-Kill"
wget "https://github.com/toreamun/victorsmartkill-homeassistant/releases/latest/download/victorsmartkill.zip"
if [ -d "$haPath/custom_components/victorsmartkill" ]; then
warn "victorsmartkill directory already exist, cleaning up..."
rm -R "$haPath/custom_components/victorsmartkill"
fi
info "Creating victorsmartkill directory..."
mkdir "$haPath/custom_components/victorsmartkill"
info "Unpacking victorsmartkill..."
unzip "$haPath/custom_components/victorsmartkill.zip" -d "$haPath/custom_components/victorsmartkill" >/dev/null 2>&1
info "Removing victorsmartkill zip file..."
rm "$haPath/custom_components/victorsmartkill.zip"
info "Installation complete."
echo
info "Remember to restart Home Assistant before you configure it"
for path in $(find "$haPath/custom_components" -maxdepth 1 -type f); do
error "Found a file in the custom_components directory: '$path' this should not be there and may cause issues not related to victorsmartkill but you will blame victorsmartkill so remove it!" false
done
else
echo
error "Could not find the directory for Home Assistant" false
echo "Manually change the directory to the root of your Home Assistant configuration"
echo "With the user that is running Home Assistant"
echo "and run the script again"
exit 1
fi