mirror of
https://github.com/eddyem/small_tel.git
synced 2026-01-31 12:25:16 +03:00
115 lines
2.5 KiB
Bash
Executable File
115 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# $1 - scaling factor (in percents) of the image
|
|
#
|
|
|
|
function get_val {
|
|
echo $(echo $1 | cut -d "=" -f 2 | cut -d "." -f 1)
|
|
}
|
|
|
|
white_col="\e[97m"
|
|
red_col="\e[1m\e[31m"
|
|
end_col="\e[0m"
|
|
last_row=0
|
|
|
|
scale=50
|
|
if [ $# -gt 0 ]; then
|
|
scale=$1
|
|
fi
|
|
|
|
unset http_proxy
|
|
|
|
im_sleep=20 # in secs
|
|
info_sleep=180 # in secs
|
|
|
|
n_info=$((info_sleep/im_sleep))
|
|
|
|
|
|
|
|
clear
|
|
while [[ 1 ]]; do
|
|
# weather info
|
|
m_old=($(curl 192.168.70.33:12345 2>/dev/null)// / )
|
|
rain=${m_old[0]}
|
|
clouds=${m_old[1]}
|
|
temp=${m_old[2]}
|
|
|
|
m_new=($(curl localhost:3333/stat3600 2>/dev/null | sed 's/[\x01-\x1F\x7F]//g')// / )
|
|
windmax=${m_new[0]}
|
|
m_new=($(curl localhost:3333 2>/dev/null | sed 's/[\x01-\x1F\x7F]//g')// / )
|
|
wind=${m_new[0]}
|
|
humi=${m_new[4]}
|
|
|
|
rain_col=$white_col
|
|
clouds_col=$white_col
|
|
humi_col=$white_col
|
|
wind_col=$white_col
|
|
wind_max_col=$white_col
|
|
|
|
let rain_flag=$(get_val $rain)
|
|
if [[ $rain_flag -eq 1 ]]; then
|
|
rain_col=$red_col
|
|
fi
|
|
|
|
let clouds_val=$(get_val $clouds)
|
|
if [[ $clouds_val -le 1500 ]]; then
|
|
clouds_col=$red_col
|
|
|
|
fi
|
|
|
|
let humi_val=$(get_val $humi)
|
|
if [[ $humi_val -ge 90 ]]; then
|
|
humi_col=$red_col
|
|
fi
|
|
|
|
let wind_val=$(get_val $wind)
|
|
if [[ $wind_val -ge 10 ]]; then
|
|
wind_col=$red_col
|
|
fi
|
|
|
|
let wind_max_val=$(get_val $windmax)
|
|
if [[ $wind_max_val -ge 10 ]]; then
|
|
wind_max_col=$red_col
|
|
fi
|
|
|
|
ncols=`tput cols`
|
|
start_col=$((ncols-25))
|
|
|
|
tput cup $last_row $start_col
|
|
# echo -e "\e[4m`date`:\e[0m"
|
|
echo -e "\e[4m`date +'%F %T'`:\e[0m"
|
|
|
|
((++last_row))
|
|
|
|
tput cup $last_row $start_col
|
|
echo -e "$clouds_col$clouds $rain_col($rain)$end_col"
|
|
|
|
((++last_row))
|
|
|
|
tput cup $last_row $start_col
|
|
# echo -e "$temp $humi_col($humi)$end_col"
|
|
temp_val=`printf "%.1f" ${temp#*=}`
|
|
echo -e "Temp=$temp_val, ${humi_col}Hum=$humi_val%$end_col"
|
|
|
|
((++last_row))
|
|
|
|
tput cup $last_row $start_col
|
|
# echo -e "$wind_col$wind $wind_max_col($windmax @hour)$end_col\n"
|
|
wind_max_val=`printf "%.1f" ${windmax#*=}`
|
|
echo -e "$wind_col$wind $wind_max_col(Max=$wind_max_val/hour)$end_col\n"
|
|
|
|
IFS='[;' read -p $'\e[6n' -d R -rs _ last_row col _
|
|
|
|
# allsky image
|
|
|
|
for i in `seq $n_info`; do
|
|
tput cup 0 0
|
|
curl -s http://zarch.sao.ru/webcam/omea_allsky.cgi | magick - -colors 256 -normalize +dither -resize $scale% sixel:-
|
|
# curl -s http://zarch.sao.ru/webcam/mirat_allsky.cgi | magick - -colors 256 -resize $scale% sixel:-
|
|
sleep ${im_sleep}s
|
|
done
|
|
|
|
|
|
done
|