Погода в терминале: ну совсем не нужное, но иногда хочется чего-то этакого...

Здесь выкладываем скрипты
Ответить
Аватара пользователя
podarok66
Модератор
Сообщения: 3587
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

24 фев 2020, 18:41

На улице теплынь и слякоть, домашние расползлись по своим делам, самому явно лень заниматься чем-то большим и долгим. Посмотрел на окно терминала с Debian, открыл рядом вкладку с Mikrotik и понял, что можно поковырять! Окно с Debian выглядит примерно так:
Изображение
На убогом терминале RouterOS такое с картинками реализовать сложновато, а вот просто давать прогноз на текущий день - это было бы интересно. Берём нашу утилитку fetch и тащим с сайта данные. Получается маленький такой скриптик:

Код: Выделить всё

:global weather;
:local ha [tool fetch url="http://wttr.in/Moscow\?format=%l:+%c+%t+%h" as-value output=user];
:set weather [:pick $ha 0];
Засовываем скрипт в шедулер с выполнением раз в сутки в час ночи (можно в другое время, как удобно) Потом в терминале выполняем команду:

Код: Выделить всё

/system note set note="$weather"
И при следующем открытии терминала видим:
Изображение
Или такое:
Изображение
Достаточно полный и понятный ман можно найти по адресу https://github.com/chubin/wttr.in

Я понимаю, что это пустяк, большинству админов ненужный. Но частое общение с командной строкой иногда приводит к вот таким вывертам и пусть будет то, что получилось. И да, ключ %c можно выкинуть тем, кто работает исключительно микротиковским терминалом. Этот обрезок минипикчи показывать не способен. Всем добра, с прошедшими праздниками.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Sertik
Сообщения: 785
Зарегистрирован: 15 сен 2017, 09:03

24 фев 2020, 22:27

С праздником, уважаемый наш Podarok66 !

Мне кажется, что "поковыряли" Вы очень здорово !

Если пойти чуть дальше, то (пока теоретически) если на Микротике стоит скажем miniPCe modem с gps, который позволяет получить скриптом свои координаты и если есть какой-то ресурс, который может по этим координатам определить город или если тот ресурс, что Вы наковыряли (или подобный, наверняка таких не один), позволяет c помощью fetch подсунуть ему не город в строке, а координаты местоположения Микротика - то можно получить погоду в этом месте (температуру, влажность и т.д...) ! Так ?

То есть можно теперь из роутера сделать "метеостанцию" .... Не реальную, конечно, скажем так (не сам определяет датчиками), но "прогнозную" в зависимости от местоположения ? Наверное можно ведь ?

А как применить - это уже кому-как надо.

Можно астрономическое реле из Микротика сделать - по времени восхода и заката ... :-)

Вообще главное, что есть fetch. А ресурсов всяких будет все больше и больше ... И если fetch будет нормально развиваться и поддерживаться компанией, то Микрот много чего сможет готовенького взять из Инета ...

Чуть доделал, предлагаю в Планировщик вот так вставить:

Код: Выделить всё

:do { :global weather [:pick [/tool fetch url="http://wttr.in/Moscow\?format=%l:+%c+%t+%h" as-value output=user] 0];
        :delay 5s;
        } on-error={
          :global weather "<- The weather is smiling at us ->"
      }
:global weather;
/system note set note="$weather";
 
Кстати, проверил, погода на этом ресурсе меняется реально, так что раз в сутки опрашивать маловато - лучше чаще, скажем раз в три часа.

:a_g_a:


Чего не знаем то нагуглим
Аватара пользователя
podarok66
Модератор
Сообщения: 3587
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

25 фев 2020, 20:54

Доброго времени суток, Sertik. Да, там можно и координаты подставлять, и буквенный индекс аэропорта. Автор достаточно поработал над пакетом. У меня нет возможности проверить работу gps, я думаю, если кому-то надо будет, добьют до результата.
С дополнением скрипта согласен, мне нравится. Спасибо.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Sertik
Сообщения: 785
Зарегистрирован: 15 сен 2017, 09:03

26 фев 2020, 00:01

OK. У меня нет модема c GPS-антенной (такого, который поддерживается пакетом "GPS" Router Os.
Кстати, поясните, пожалуйста, почему у Вас картинки терминала различаются ? (Я "черного" терминала никогда не видел :ny_tik: Что за терминал такой ? У Вас железка одна и та же, версия РОС тоже. Это настраивается как-то ? Почему там "солнышко в тучке" есть - что-то типа спец смайлика ?, а "белофонный" терминал такого не показывает ?

Или "черный" - это внешний вид терминала, если Рос установлена на ПК ?

Не смейтесь только - правда не видел никогда ...


Чего не знаем то нагуглим
Аватара пользователя
podarok66
Модератор
Сообщения: 3587
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

26 фев 2020, 20:44

Ой, простите. Это моя привычка работать в стороннем терминале. Это программа Xshell 6 (бесплатный вариант для дома) . Мне в ней удобнее, так как моё зрение просто вдребезги разбито на основной работе (профессиональные болезни не обошли меня стороной). И в основном я в ней вожусь и с Тиками и на vds. Да даже на телефоне у меня в ssh-клиенте JuiseSSH отображает пиктограммку.
Изображение
Я не слишком охотно лезу в терминал Winbox, подслеповат, слишком много белого и слишком мелкие буквы :-) . А ещё он порезан до безобразия. Ну сами видите.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
Vlad-2
Модератор
Сообщения: 2343
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

27 фев 2020, 10:31

podarok66 писал(а):
26 фев 2020, 20:44
Я не слишком охотно лезу в терминал Winbox, подслеповат, слишком много белого и слишком мелкие буквы :-) . А ещё он порезан до безобразия. Ну сами видите.
(мини-ОФФТОП)

Я думаю уже многие знают, но лучше лишний раз повториться.
В Винбоксе с версии 3.21 можно делать 3х или 4х кратное увеличение шрифтов.
На больших мониторах или на маленьких ультрабуках - самое то
(в любом случаи это лучше, чем без этой фичи).

Пример показываю (на скрине видно, где это включается,
и уже показано максимальное увеличение).


Изображение



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
Аватара пользователя
podarok66
Модератор
Сообщения: 3587
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

22 мар 2020, 21:54

В общем катал на доступном роутере всё это время. Поймал баг, иногда почему-то после отработки скрипта переменная была пустой. Немного всё перекроил. Теперь у меня скрипт Weather имеет тело

Код: Выделить всё

:do { :global weather [:pick [/tool fetch url="http://wttr.in/Moscow\?format=%l:+%c+%t+%h" as-value output=user] 0];
        :delay 15s;
        system scheduler set Weather2 disabled=yes
        } on-error={
          :global weather "<- The weather is smiling at us ->";
          /system scheduler set Weather2 disabled=no 
      }
:global weather;
/system note set note="$weather" show-at-login=yes;
И два шедулера Weather и Weather2 с одинаковым телом

Код: Выделить всё

/system script run Weather
Но есть существенная разница. Weather имеет период запуска 24 часа и находится в состоянии enable. Weather2 имеет период запуска 30 минут и он disable.
Всё стало ровно.
Из недостатков - в Winbox часть символов кракозяблики. Даже в мобильном приложении всё корректно определяется. Немного обидно, что основная утилита управления RouterOs настолько несовершенна, совсем как терминал Линукса лет 20 назад.
Скрин - из мобильного приложения
Изображение


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить