(Писал об этом в декабре 2022. Теперь снова приходится.)
А если лень ходить на сайт ДТЕК, как мне...
4 часа нет напруги. 3 часа - не ясно. 2 часа - есть точно. Период - 9 часов.
#!/usr/bin/env bash # adjust this: blackout_start=$(date -d '2024-07-15 00:00:00 EEST' +%s) entries_to_print=10 # approx # 24h. https://unix.stackexchange.com/questions/553679/set-clock-to-24-hour-format-for-all-users LC_TIME=en_GB.UTF-8 # 4 hours - blackout # 3 hours - maybe blackout # 2 hours - power SECONDS_IN_HOUR=3600 SECONDS_IN_2_HOURS=$(($SECONDS_IN_HOUR * 2)) SECONDS_IN_3_HOURS=$(($SECONDS_IN_HOUR * 3)) SECONDS_IN_4_HOURS=$(($SECONDS_IN_HOUR * 4)) SECONDS_IN_6_HOURS=$(($SECONDS_IN_HOUR * 6)) date_fmt=+"%a_%d_%b_%H:%M" NOW=$(date +%s) entries_printed=0 while true do maybe=$(($blackout_start+$SECONDS_IN_4_HOURS)) power_on=$(($maybe+$SECONDS_IN_3_HOURS)) if (($NOW-$SECONDS_IN_6_HOURS < $blackout_start)); then if (($NOW > $blackout_start)) && (($NOW < (($blackout_start+$SECONDS_IN_4_HOURS)))); then echo -ne "(now) " else echo -ne " " fi echo -ne "blackout: " date -d @$blackout_start $date_fmt ((entries_printed++)) fi if (($NOW-$SECONDS_IN_6_HOURS < $maybe)); then if (($NOW > $maybe)) && (($NOW < (($maybe+$SECONDS_IN_3_HOURS)))); then echo -ne "(now) " else echo -ne " " fi echo -ne "maybe power on: " date -d @$maybe $date_fmt ((entries_printed++)) fi if (($NOW-$SECONDS_IN_6_HOURS < $power_on)); then if (($NOW > $power_on)) && (($NOW < (($power_on+$SECONDS_IN_2_HOURS)))); then echo -ne "(now) " else echo -ne " " fi echo -ne "power on: " date -d @$power_on $date_fmt ((entries_printed++)) fi blackout_start=$(echo $power_on+2*$SECONDS_IN_HOUR | bc) if [ $entries_printed -gt $entries_to_print ]; then exit fi done
power on: Wed_17_Jul_22:00 (now) blackout: Thu_18_Jul_00:00 maybe power on: Thu_18_Jul_04:00 power on: Thu_18_Jul_07:00 blackout: Thu_18_Jul_09:00 maybe power on: Thu_18_Jul_13:00 power on: Thu_18_Jul_16:00 blackout: Thu_18_Jul_18:00 maybe power on: Thu_18_Jul_22:00 power on: Fri_19_Jul_01:00 blackout: Fri_19_Jul_03:00 maybe power on: Fri_19_Jul_07:00 power on: Fri_19_Jul_10:00
Ну не красота? Хардкорные юниксоиды могут сделать себе напоминания в шелле...
В качестве бонуса -- сей скрипт можно запускать из-под termux-а в андроиде, что в наши времена оч. полезно -- с отключениями света и нестабильным моблоинетом. И не надо сочинять "приложение" под андроид.
И надо не забывать -- графики иногда сдвигают как попало. Иногда всё-таки приходится ходить на сайт dtek и корректировать этот скрипт.
А еще пару месяцев назад в "приложении" Kyiv Digital можно было наладить чтобы нотификации выскакивали, когда будут отключения по заданному адресу. Причем, они выскакивали аккурат после того, как напругу уже вырубили или врубили, через пару минут. Почему-то вспомнилось -- когда-то очень давно, видел в Тернополе в центре города озерцо. И там на берегу, на каких-то плитах, была надпись вроде "купаться строго запрещено". И эта надпись почему-то была развернута внутрь озера, т.е., в сторону купающихся.
Еще один мой пост на тему напруги в Киеве.
Yes, I know about these lousy Disqus ads. Please use adblocker. I would consider to subscribe to 'pro' version of Disqus if the signal/noise ratio in comments would be good enough.