Files
builder/devices/hi3518ev300_lite_xiaomi-mjsxj02hl/general/overlay/usr/sbin/autonight.sh
2023-12-10 01:08:49 +03:00

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