новые команды в скриптах ROS7

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

В Рос7 введены некоторые новые команды, доступные как из консоли (терминала), так и из скриптов:

:timestamp

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

:timestamp returns the time since epoch, where epoch is January 1, 1970, not counting leap second
:put [:timestamp]
2735w21:41:43.481891543

:retry :retry command=<expr> delay=[num] max=[num] on-error=<expr>
Try to execute the given command "max" amount of times with a given "delay" between tries.
On failure, execute the expression given in the "on-error" block

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

:retry command={abc} delay=1 max=2 on-error={:put "got error"}
got error

:rndnum

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

:rndnum from=[num] to=[num]	random number generator	:put [:rndnum from=1 to=99];

:rndstr

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

:rndstr from=[str] length=[num]	random string generator	:put [:rndnum from="abcdef%^&" length=33];
И уже появляются скрипты с этими командами, например, вот:

https://forum.mikrotik.com/viewtopic.php?t=189097


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Хорошие нововведения - это хорошо, единственно, что не пойму зачем понадобилось менять имена/названия некоторых параметров и вводить использование вместо пробела символа "/" в выражениях Рос ...
Теперь часть скриптов переделывать из-за этих буржуев.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

:-): Мы с Вами почти синхронно осваиваем новые методы. Я 04.09.2022 в своем посте об этом тоже писал.

Еще из интересного:
5. Появился RestAPI. Крутится на сервисе www-ssl. Работает в формате JSON. Поддерживает все необходимые запросы, в том числе и PUT, POST. Теперь рулить микротиком можно проще.

Всё это расширяет возможности скриптов. К сожалению так и не добавили числа с плавающей точкой :ny_tik:. Это наверное единственное чего сейчас не хватает.
А по поводу нового разделителя между командами, то он не обязательный. Работает и с пробелом тоже.


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Появился RestAPI. Крутится на сервисе www-ssl. Работает в формате JSON. Поддерживает все необходимые запросы, в том числе и PUT, POST. Теперь рулить микротиком можно проще.
Через fetch ?

или имеется ввиду "не тик рулит чем то", а именно "рулить можно тиком" через www-ssl ?


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
REX
Сообщения: 201
Зарегистрирован: 01 апр 2021, 08:19

через fetch реализовал взаимодействие Mikrotik с API Hikvision, планирую и дальше пользоваться, осталось "выдрать" из https Sonoff измерения и "засунуть" их в OSD Hikvision.
ROS 6


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Sertik писал(а): 14 сен 2022, 11:05
Появился RestAPI. Крутится на сервисе www-ssl. Работает в формате JSON. Поддерживает все необходимые запросы, в том числе и PUT, POST. Теперь рулить микротиком можно проще.
Через fetch ?

или имеется ввиду "не тик рулит чем то", а именно "рулить можно тиком" через www-ssl ?
Вот почитайте. Это полноценный Rest API. Можно самому писать интерфейсы управления для Микротик. И с Микротика через fetch рулить другим устройством с RouterOS v7 тоже наверное можно. Я пока не проверял, поэтому - наверное.


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Brook писал(а): 14 сен 2022, 11:57 И с Микротика через fetch рулить другим устройством с RouterOS v7 тоже наверное можно. Я пока не проверял, поэтому - наверное.
Проверил, работает. Можно рулить

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

tool fetch user=user1 password=123456 url="https://192.168.1.39/rest/system/resource" output=user
Ответ получаем в JSON формате

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

{"architecture-name":"x86_64","board-name":"CHR",
              "build-time":"Aug/30/2022 09:25:53","cpu":"Intel(R)","cpu-count":"1",
              "cpu-frequency":"3096","cpu-load":"0","factory-software":"7.1",
              "free-hdd-space":"73940992","free-memory":"361054208",
              "platform":"MikroTik","total-hdd-space":"93564928",
              "total-memory":"1006632960","uptime":"5d17h28m24s","version":"7.5 
              (stable)","write-sect-since-reboot":"21304","write-sect-total":"21304"}


Ответить