-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsctd
executable file
·56 lines (46 loc) · 1.35 KB
/
sctd
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
#!/bin/sh
# Copyright (c) 2017 Aaron Bieber <aaron@bolddaemon.com>
# Copryright (c) 2017 Inokentiy Babushkin <twk@twki.de>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
TEMP_MIN=3000
TEMP_MAX=6500
INC=$(((TEMP_MAX - TEMP_MIN) / 720))
SCT=$(which sct)
if [ ! -e "$SCT" ]; then
echo "Please install sct!"
exit 1;
fi
setHM() {
H=$(date +"%H" | sed -e 's/^0//')
M=$(date +"%M" | sed -e 's/^0//')
HM=$((H*60 + M))
}
setTEMP() {
if [ $HM -gt 720 ]; then
TEMP=$(( TEMP_MIN + INC * (1440 - HM) ))
else
TEMP=$(( TEMP_MIN + INC * HM ))
fi
}
tick() {
setHM
setTEMP
$SCT $TEMP
}
tick
[ "$1" = "oneshot" ] && exit 0
while true; do
tick
sleep 60
done