mirror of
https://github.com/nikdoof/builder.git
synced 2025-12-14 08:02:16 +00:00
57 lines
1.9 KiB
Bash
Executable File
57 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Majestic settinfs for Xiaomi MJSXJ02HL
|
|
#
|
|
# nightMode:
|
|
# enabled: true
|
|
# irCutPin1: 70
|
|
# irCutPin2: 68
|
|
# backlightPin: 54
|
|
|
|
again_high_target=14000
|
|
again_low_target=2000
|
|
pollingInterval=5
|
|
|
|
show_help() {
|
|
echo "Usage: $0 [-H value] [-L value] [-i value] [-h]
|
|
-H value Again high target (default = ${again_high_target}).
|
|
-L value Again low target (default = ${again_low_target}).
|
|
-i value Polling interval (default = ${pollingInterval}).
|
|
-h Show this help."
|
|
exit 0
|
|
}
|
|
|
|
while getopts H:L:i:h flag; do
|
|
case ${flag} in
|
|
H) again_high_target=${OPTARG} ;;
|
|
L) again_low_target=${OPTARG} ;;
|
|
i) pollingInterval=${OPTARG} ;;
|
|
h | *) show_help ;;
|
|
esac
|
|
done
|
|
|
|
echo "...................."
|
|
echo "Watching at isp_again > ${again_high_target} to enable night mode"
|
|
echo "Watching at isp_again < ${again_low_target} to disable night mode"
|
|
echo "Polling interval: ${pollingInterval} sec"
|
|
echo "...................."
|
|
|
|
login=$(cat /etc/httpd.conf | grep cgi-bin | cut -d':' -f2)
|
|
pass=$(cat /etc/httpd.conf | grep cgi-bin | cut -d':' -f3)
|
|
|
|
while true; do
|
|
metrics=$(curl -s http://localhost/metrics)
|
|
isp_again=$(echo "${metrics}" | awk '/^isp_again/ {print $2}' | grep . || echo 0)
|
|
night_enabled=$(echo "${metrics}" | awk '/^night_enabled/ {print $2}' | grep . || echo 0)
|
|
|
|
if [ $night_enabled -ne 1 ] && [ $isp_again -gt $again_high_target ]; then
|
|
curl -s -u $login:$pass http://localhost/night/on
|
|
echo "Condition isp_again > ${again_high_target} was met (current value is ${isp_again}), turn on the night mode"
|
|
elif [ $night_enabled -ne 0 ] && [ $isp_again -lt $again_low_target ]; then
|
|
curl -s -u $login:$pass http://localhost/night/off
|
|
echo "Condition isp_again < ${again_low_target} was met (current value is ${isp_again}), turn off the night mode"
|
|
fi
|
|
|
|
sleep $pollingInterval
|
|
done
|