<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Script to get RSRP and then do...]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Script to get RSRP and then do... форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 12 Aug 2026 00:10:45 -0400</pubDate>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403284">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Сначала большое спасибо за сотрудничество и скриншоты. Просто создайте другой, отдельный LogAction для тем System+Info, вы все равно сможете увидеть их в отдельном списке журналов. Чтобы не дублировать это в стандартной информации, просто добавьте !system. Пример: протестировано на редактировании скрипта, который выполняет изменения System+Info. . журналы не перегружаются. Сделано. Больше нет дублирования одинаковых настроек активации LED, только если изменится количество LED, тогда изменится и оно. Смотрите ниже. . Как видно на скриншоте_8, мой скрипт, который я запускаю в терминале, потребление ЦП не слишком высокое. В разы лучше, если вы запустите этот скрипт в /system scheduler с интервалом 1с, или вы должны увидеть скорость обновления 120 Гц <img  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://mikrotik.moscow/upload/main/smiles/2/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="lazyload bx-smile" />. Скрипт можно разместить внутри планировщика или запустить внешний /system script с нашим исходным кодом. . С этим могу сказать, что работает хорошо, но, тем не менее, я получаю предложения по этому поводу. Первая оптимизация ... Вы преобразовали простые 34 строки кода в 74-строчный монстр do-if-else-loop <img  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://mikrotik.moscow/upload/main/smiles/2/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="lazyload bx-smile" /> Теперь эта переменная $rsrp1 живет только внутри do-loop, а после выхода из скрипта сохраняется как переменная окружения. Патч: -interface lte info lte1 once do={:global rsrp1 $"rsrp"; ... +local Rsrp ([/interface lte info lte1 once as-value]-&gt;"rsrp") Теперь мы можем использовать $Rsrp во всей области скрипта, и нам не нужно удалять суффикс "dBm". Используйте функции, образовательные примеры в viewtopic.php?f=9&t=151539#p746898, простой пример: local ChangeLeds do={put "Display $1 leds"}; # $1 - первый аргумент $ChangeLeds 4; # Запускаем функцию и говорим, что нужно включить LED 4. Вместо того, чтобы создавать новую и новую одну и ту же глобальную, просто измените ее значение, патч: -global a "новое значение 1" -global a "новое значение 2" ... +set $a "новое значение 3" +set $a "новое значение 4" # Эта проверка существует глобально, верно только когда глобальная переменная существует с любым значением: put ([system script environment find name=a]!="") # Вместо: -:global runloop true; do {...} while={$runloop} +do while=(1=1) {delay 1s;...} # На самом деле, планировщик с интервалом 1с... Финальный релиз... работает без дублирования, основываясь на обратной связи от $LedsCurrent = LastState, это должна быть только глобальная переменная. Вставьте в CLI и проверьте. global LedsCurrent 0 local LteRsrp -121 local ControlLed do={ if ($1 != $4) do={ system leds set 1 leds=$2 type=$3 } return $1 } do while=(1=1) { delay 1s set $LteRsrp ([/interface lte info lte1 once as-value]-&gt;"rsrp"); if ($LteRsrp &gt;= -80) do={set $LedsCurrent [$ControlLed 5 led1,led2,led3,led4,led5 on $LedsCurrent ] }; if (($LteRsrp &gt;= -90) && ($LteRsrp &lt;= -81)) do={set $LedsCurrent [$ControlLed 4 led1,led2,led3,led4 on $LedsCurrent ] }; if (($LteRsrp &gt;= -100) && ($LteRsrp &lt;= -91)) do={set $LedsCurrent [$ControlLed 3 led1,led2,led3 on $LedsCurrent ] }; if (($LteRsrp &gt;= -110) && ($LteRsrp &lt;= -101)) do={set $LedsCurrent [$ControlLed 2 led1,led2 on $LedsCurrent ] }; if (($LteRsrp &gt;= -120) && ($LteRsrp &lt;= -111)) do={set $LedsCurrent [$ControlLed 1 led1 on $LedsCurrent ] }; if ($LteRsrp &lt;= -121) do={set $LedsCurrent [$ControlLed 0 led1,led2,led3,led4,led5 off $LedsCurrent ] }; } . Дополнительные вопросы: Пожалуйста, покажите результат: put [/interface lte get lte1 band], или может быть, эта информация находится в WinBox &gt; Interfaces &gt; LTE &gt; lte1 &gt; вкладка General или Status (вы ранее показали вкладку Cellular). Cell-Monitor существует для поиска band/cell@BTS, но может быть, вы знаете, как проверить текущую используемую частоту. Если вы считаете, что это решение для поста, тогда отметьте этот ответ. P.S. Я в Telegram, если вы не понимаете финальный скрипт. <br />
			<i>31.08.2019 00:12:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403284</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403284</guid>
			<pubDate>Sat, 31 Aug 2019 00:12:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403283">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@krafg Я пытался прочитать твой скрипт, но было очень сложно понять из-за форматирования. Пожалуйста, используй табуляцию для каждого цикла, когда создаешь скрипт. Я немного изменил его для тебя. Попробуй скопировать и вставить его в Notepad++ и ты поймешь, о чем я. {<br />:global ledsafter 10<br />:global ledsbefore 20<br />:global runloop true<br />:do {<br />	/interface lte info lte1 once do={<br />		:global rsrp1 $"rsrp"<br />		:delay 100ms<br />		:if ($rsrp1 &gt;= -80) do={<br />			:global ledsbefore 5<br />			:if ($ledsafter = $ledsbefore) do={<br />				:put "ничего не нужно делать"<br />			} else={<br />				/system leds set 1 leds=led1,led2,led3,led4,led5 type=on<br />				:global ledsafter 5<br />			}<br />		} else={<br />			:delay 100ms<br />			:if (($rsrp1 &gt;= -90) && ($rsrp1 &lt;= -81)) do={<br />				:global ledsbefore 4<br />				:if ($ledsafter = $ledsbefore) do={<br />					:put "ничего не нужно делать"<br />				} else={<br />					/system leds set 1 leds=led1,led2,led3,led4 type=on<br />					:global ledsafter 4<br />				}<br />			} else={<br />				:delay 100ms<br />				:if (($rsrp1 &gt;= -100) && ($rsrp1 &lt;= -91)) do={<br />					:global ledsbefore 3<br />					:if ($ledsafter = $ledsbefore) do={<br />						:put "ничего не нужно делать"<br />					} else={<br />						/system leds set 1 leds=led1,led2,led3 type=on<br />						:global ledsafter 3<br />					}<br />				} else={<br />					:delay 100ms<br />					:if (($rsrp1 &gt;= -110) && ($rsrp1 &lt;= -101)) do={<br />						:global ledsbefore 2<br />						:if ($ledsafter = $ledsbefore) do={<br />							:put "ничего не нужно делать"<br />						} else={<br />							/system leds set 1 leds=led1,led2 type=on<br />							:global ledsafter 2<br />						}<br />					} else={<br />						:delay 100ms<br />						:if (($rsrp1 &gt;= -120) && ($rsrp1 &lt;= -111)) do={<br />							:global ledsbefore 1<br />							:if ($ledsafter = $ledsbefore) do={<br />								:put "ничего не нужно делать"<br />							} else={<br />								/system leds set 1 leds=led1 type=on<br />								:global ledsafter 1<br />							}<br />						} else={<br />							:global ledsbefore 0<br />							:if ($ledsafter = $ledsbefore) do={<br />								:put "ничего не нужно делать"<br />							} else={<br />								/system leds set 1 leds=led1,led2,led3,led4,led5 type=off<br />								:global ledsafter 0<br />							}<br />						}<br />					}<br />				}<br />			}<br />		}<br />	}<br />} while=($runloop)<br />} Также выглядит, что многие циклы одинаковы, лишь с разными значениями. Тебе стоит попробовать сделать из этого функцию. :delay 100ms<br />:if (($rsrp1 &gt;= -120) && ($rsrp1 &lt;= -111)) do={<br />	:global ledsbefore 1<br />	:if ($ledsafter = $ledsbefore) do={<br />		:put "ничего не нужно делать"<br />	} else={<br />		/system leds set 1 leds=led1 type=on<br />		:global ledsafter 1<br />	}<br />} PS Первую { и последнюю } можно убрать. Они нужны только при копировании/вставке в терминал. В скрипте без них все работает нормально. <br />
			<i>30.08.2019 06:14:00, Jotne.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403283</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403283</guid>
			<pubDate>Fri, 30 Aug 2019 06:14:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403282">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я модифицировал свой код, и теперь изменяю свойства LED только при необходимости: { :global ledsafter 10 :global ledsbefore 20 :global runloop true :do { /interface lte info lte1 once do={ :global rsrp1 $"rsrp" :delay 100ms :if ($rsrp1 &gt;= -80) do={ :global ledsbefore 5 :if ($ledsafter = $ledsbefore) do={ :put "ничего не нужно делать" } else={ /system leds set 1 leds=led1,led2,led3,led4,led5 type=on :global ledsafter 5 } } else={ :delay 100ms :if (($rsrp1 &gt;= -90) && ($rsrp1 &lt;= -81)) do={ :global ledsbefore 4 :if ($ledsafter = $ledsbefore) do={ :put "ничего не нужно делать" } else={ /system leds set 1 leds=led1,led2,led3,led4 type=on :global ledsafter 4 } } else={ :delay 100ms :if (($rsrp1 &gt;= -100) && ($rsrp1 &lt;= -91)) do={ :global ledsbefore 3 :if ($ledsafter = $ledsbefore) do={ :put "ничего не нужно делать" } else={ /system leds set 1 leds=led1,led2,led3 type=on :global ledsafter 3 } } else={ :delay 100ms :if (($rsrp1 &gt;= -110) && ($rsrp1 &lt;= -101)) do={ :global ledsbefore 2 :if ($ledsafter = $ledsbefore) do={ :put "ничего не нужно делать" } else={ /system leds set 1 leds=led1,led2 type=on :global ledsafter 2 } } else={ :delay 100ms :if (($rsrp1 &gt;= -120) && ($rsrp1 &lt;= -111)) do={ :global ledsbefore 1 :if ($ledsafter = $ledsbefore) do={ :put "ничего не нужно делать" } else={ /system leds set 1 leds=led1 type=on :global ledsafter 1 } } else={ :global ledsbefore 0 :if ($ledsafter = $ledsbefore) do={ :put "ничего не нужно делать" } else={ /system leds set 1 leds=led1,led2,led3,led4,led5 type=off :global ledsafter 0 } } } } } } } } while=($runloop) } Темой является то, когда модифицируются свойства LED, я использую “ledbefore”, чтобы задать количество включенных светодиодов, а с помощью “ledafter” проверяю, изменилось ли это количество. Таким образом, логи не заполняются, когда сигнал меняется многократно между двумя уровнями сигнала. Как видно на screenshot_8, мой скрипт, который я запускаю в терминале, не загружает CPU сильно, количество включенных светодиодов правильное, логи не переполняются, и уровень сигнала в переменной соответствует тому, что показано в статусном интерфейсе. С этим я могу сказать, что всё работает хорошо, но всё равно принимаю предложения по этому поводу. С уважением. <img class="lazyload "  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/upload/forum/mikrotik/d17d31a51b8c72e127d81ba944ffb6035fb6dc7e.png" alt="Пользователь добавил изображение" border="0" /> <br />
			<i>30.08.2019 02:00:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403282</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403282</guid>
			<pubDate>Fri, 30 Aug 2019 02:00:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403281">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ок. Наконец-то я запустил твой скрипт и результаты на скриншоте_6. Если я изменю скрипт, убрав символ комментария, и запущу его, результаты будут на скриншоте_7. С уважением. <br />
			<i>30.08.2019 00:27:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403281</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403281</guid>
			<pubDate>Fri, 30 Aug 2019 00:27:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403280">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Состояние по умолчанию — все светодиоды выключены, кроме светодиода питания. По умолчанию раздел светодиодов в Winbox пуст. С уважением. <br />
			<i>29.08.2019 22:34:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403280</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403280</guid>
			<pubDate>Thu, 29 Aug 2019 22:34:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403279">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я смотрю на брошюру вашего комплекта RB LtAP LTE и в стандартном состоянии, что делать с его светодиодами? Можете показать скриншот из WinBox &gt; System &gt; LEDs или команду /system leds print detail? <br />
			<i>29.08.2019 12:22:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403279</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403279</guid>
			<pubDate>Thu, 29 Aug 2019 12:22:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403278">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Если я отключу предыдущие задания, которые сделал, я смогу использовать скрипты в своем LtAP. В моем случае у меня с этим нет проблем. Позже я снова протестирую код, убрав символ комментария в коде, используя секцию скриптов. Большое спасибо и всего хорошего. <br />
			<i>29.08.2019 11:20:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403278</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403278</guid>
			<pubDate>Thu, 29 Aug 2019 11:20:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403277">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ваша команда “/system leds…” не работает. Откуда вы её получили? Вы её тестировали? <br />
			<i>29.08.2019 06:14:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403277</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403277</guid>
			<pubDate>Thu, 29 Aug 2019 06:14:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403276">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У меня нет этого оборудования, и я не могу проверить массив RSRP. Скрипт работает нормально. Просто раскомментируй #/led… Я закомментировал это, потому что оно ломается на моем оборудовании. Вместо этого я создал дисплей "3 Led ***". И, пожалуйста, вставь и отредактируй скрипт в WinBox &gt; System &gt; Script, а не в терминале… Ты не написал мой пост — просто посмотри на мой предыдущий скриншот, если не знаешь, где искать, следуй указаниям: <img class="lazyload "  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/upload/forum/mikrotik/33734846492d2cc541262823cb2026bf06a6f6eb.jpeg" alt="Пользователь добавил изображение" border="0" /> Твоя часть скриншота — внизу выполняемого скрипта ты увидишь результаты. Я просто вывел текст "5 Led *****". <img class="lazyload "  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/upload/forum/mikrotik/2aa507fc700fe9cdc67c834845fd865f28934a8d.png" alt="Пользователь добавил изображение" border="0" /> Код, который не работает в моем сценарии, но должен работать у тебя. Проверь это: {<br /><br /># Установить глобальный $rsrp<br />/interface lte info lte1 once do={:global RsrpLte1 $"RsrpLte1"}; # получить "-87dBm"<br />#global RsrpLte1 "-79dBm";<br />set $RsrpLte1 [/pick $RsrpLte1 0 [/find $RsrpLte1 dBm]];<br />put $RsrpLte1; # Теперь это "-87" без слова dBm<br /><br />#Тестовая строка<br />#/if ($RsrpLte1 &gt; "-80") do={put "$RsrpLte1 больше чем -80"} else={put "другое: $RsrpLte1"};<br /><br />:if ($RsrpLte1 &gt;= -80) do={<br /> &nbsp;/system leds set 1 leds=led1,led2,led3,led4,led5 type=on<br /> &nbsp;put "5 Led *****";<br /> &nbsp;} else={<br /> &nbsp;:if (($RsrpLte1 &lt;= -81) && ($RsrpLte1 &gt;= -90)) do={<br /> &nbsp; &nbsp;/system leds set 1 leds=led1,led2,led3,led4 type=on<br /> &nbsp; &nbsp;put "4 Led ****";<br /> &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp;:if (($RsrpLte1 &lt;= -91) && ($RsrpLte1 &gt;= -100)) do={<br /> &nbsp; &nbsp; &nbsp;/system leds set 1 leds=led1,led2,led3 type=on<br /> &nbsp; &nbsp; &nbsp;put "3 Led ***";<br /> &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp;:if (($RsrpLte1 &lt;= -101) && ($RsrpLte1 &gt;= -110)) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp;/system leds set 1 leds=led1,led2 type=on<br /> &nbsp; &nbsp; &nbsp; &nbsp;put "2 Led **";<br /> &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if (($RsrpLte1 &lt;= -111) && ($RsrpLte1 &gt;= -120)) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/system leds set 1 leds=led1 type=on<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;put "1 Led *"<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/system leds set 1 leds=led1,led2,led3,led4,led5 type=off;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;put "- Led";<br /> &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;}<br /> &nbsp;}<br />}<br /><br />} <br />
			<i>28.08.2019 22:18:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403276</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403276</guid>
			<pubDate>Wed, 28 Aug 2019 22:18:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403275">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Извините, я запутался. Скрипт работает, но эффекта нет (по крайней мере, я его не вижу). Прилагаю скриншот. Я изучал вопрос логирования, но думаю, что это невозможно, поскольку такие действия могут способствовать вредоносной активности на роутерах. С уважением. <br />
			<i>28.08.2019 22:10:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403275</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403275</guid>
			<pubDate>Wed, 28 Aug 2019 22:10:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403274">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ваш скрипт не работает на моем роутере. Почему? Есть какая-то ошибка, скриншот? Все уникальные для аппаратного обеспечения вещи закомментированы и должны работать на любом RouterOS. Значит, вам нужно изменить это: Из этого: #/interface lte info lte1 once do={:global RsrpLte1 $"RsrpLte1"}; # receive "-87dBm"<br />global RsrpLte1 "-79dBm"; На это: /interface lte info lte1 once do={:global RsrpLte1 $"RsrpLte1"}; # receive "-87dBm"<br />#global RsrpLte1 "-79dBm"; Пожалуйста, добавьте это в WinBox &gt; System &gt; Script и запустите из CLI (WinBox &gt; New Terminal &gt; /system script run NameOfScript <img  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="http://mikrotik.moscow/upload/main/smiles/2/bx_smile_wink.png" border="0" data-code=";)" data-definition="UHD" alt=";)" style="width:20px;height:20px;" title="Шутливо" class="lazyload bx-smile" />. В любом случае сейчас работает отлично, за исключением того, что мой лог переполнен, пока скрипт выполняется. Невозможно «сказать», чтобы не записывать логи, когда я изменяю значения светодиодов? Если это возможно, то только из WinBox &gt; System &gt; Logging, но я не вижу темы LED. Поиск на форуме или напишите письмо в техподдержку. @Jotne в посте есть несколько интересных моментов о новой опции управления светодиодами. Действие не включить/выключить, а МИГАЮЩИЕ светодиоды, тогда они генерируют много таких логов, я думаю. Может быть, (с)he сможет вам ответить. <br />
			<i>28.08.2019 21:55:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403274</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403274</guid>
			<pubDate>Wed, 28 Aug 2019 21:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403273">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ваш скрипт не работает на моем роутере. В любом случае сейчас все работает отлично, кроме того, что мой лог забит, пока скрипт выполняется. Нет способа "сказать", чтобы при изменении значений светодиодов ничего не фиксировать в логе? С уважением. <br />
			<i>28.08.2019 21:32:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403273</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403273</guid>
			<pubDate>Wed, 28 Aug 2019 21:32:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403272">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Проблема не в синтаксисе в маркплейсе, а до этого. "New Terminal" не подходит для работы с многострочными скриптами. У вас много циклов :do внутри других циклов. Это не лучший подход. Помните одну основополагающую истину в скриптинге/программировании: работа выглядит так: {<br /><br /># Установить глобальную $rsrp<br />#/interface lte info lte1 once do={:global RsrpLte1 $"RsrpLte1"}; # получить "-87dBm"<br />global RsrpLte1 "-79dBm";<br />set $RsrpLte1 [/pick $RsrpLte1 0 [/find $RsrpLte1 dBm]];<br />put $RsrpLte1; # Теперь это "-87" без слова dBm<br /><br /># Тестовая строка<br />/if ($RsrpLte1 &gt; "-80") do={put "$RsrpLte1 больше чем -80"} else={put "другое: $RsrpLte1"};<br /><br />:if ($RsrpLte1 &gt;= -80) do={<br /> &nbsp;#/system leds set 1 leds=led1,led2,led3,led4,led5 type=on<br /> &nbsp;put "5led *****";<br /> &nbsp;} else={<br /> &nbsp;:if (($RsrpLte1 &lt;= -81) && ($RsrpLte1 &gt;= -90)) do={<br /> &nbsp; &nbsp;#/system leds set 1 leds=led1,led2,led3,led4 type=on<br /> &nbsp; &nbsp;put "4led ****";<br /> &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp;:if (($RsrpLte1 &lt;= -91) && ($RsrpLte1 &gt;= -100)) do={<br /> &nbsp; &nbsp; &nbsp;#/system leds set 1 leds=led1,led2,led3 type=on<br /> &nbsp; &nbsp; &nbsp;put "3led ***";<br /> &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp;:if (($RsrpLte1 &lt;= -101) && ($RsrpLte1 &gt;= -110)) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp;#/system leds set 1 leds=led1,led2 type=on<br /> &nbsp; &nbsp; &nbsp; &nbsp;put "2led **";<br /> &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp;:if (($RsrpLte1 &lt;= -111) && ($RsrpLte1 &gt;= -120)) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#/system leds set 1 leds=led1 type=on<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;put "1led *"<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#/system leds set 1 leds=led1,led2,led3,led4,led5 type=off;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;put "выключено";<br /> &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp;}<br /> &nbsp;}<br />}<br /><br />} Измените много чего. Теперь работает один раз. Планировщик должен запускать этот скрипт каждые 1 минуту. Может быть, создать глобальные RsrpLte1History1 … RsrpLte1History5, и если мы будем использовать RsrpLte1AVG, это будет более стабильно, а в конечном итоге мы сможем использовать это для других задач, например, чтобы сменить SIM-порт на другой. Лучшие настройки для отладки и создания ROS-скрипта: И, возможно, лучше добавить условие в начале, чтобы начинать моргать светодиодом только когда время работы больше 3 минут. Это не вызовет конфликт, когда вы включаете RB, и он не будет странно мигать. <br />
			<i>28.08.2019 18:57:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403272</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403272</guid>
			<pubDate>Wed, 28 Aug 2019 18:57:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403271">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Теперь я создал код, но лог просто сумасшедший! {<br />:global runloop true<br />:do {<br />/interface lte info lte1 once do={<br />:global rsrp1 $"rsrp"<br />:delay 100ms<br />:if ($rsrp1 &gt;= -80) do={<br />/system leds set 1 leds=led1,led2,led3,led4,led5 type=on<br />} else={<br />:if (($rsrp1 &gt;= -90) && ($rsrp1 &lt;= -81)) do={<br />/system leds set 1 leds=led1,led2,led3,led4 type=on<br />} else={<br />:if (($rsrp1 &gt;= -100) && ($rsrp1 &lt;= -91)) do={<br />/system leds set 1 leds=led1,led2,led3 type=on<br />} else={<br />:if (($rsrp1 &gt;= -110) && ($rsrp1 &lt;= -101)) do={<br />/system leds set 1 leds=led1,led2 type=on<br />} else={<br />:if (($rsrp1 &gt;= -120) && ($rsrp1 &lt;= -111)) do={<br />/system leds set 1 leds=led1 type=on<br />} else={<br />/system leds set 1 leds=led1,led2,led3,led4,led5 type=off<br />}<br />}<br />}<br />}<br />}<br />}<br />} while=($runloop)<br />} С уважением. <img class="lazyload "  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/upload/forum/mikrotik/7cd296510c25158b7803ce77f32def48a7304bf8.png" alt="Пользователь добавил изображение" border="0" /> <br />
			<i>28.08.2019 18:43:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403271</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403271</guid>
			<pubDate>Wed, 28 Aug 2019 18:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403270">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			На данный момент у меня есть следующий код: <br />#Создать переменную "runLoop" <br />:глобальная runLoop true <br />#Выполнить следующее: <br />:do { <br />#Посмотреть информацию о LTE интерфейсе <br />	/interface lte info lte1 once do={ <br />	#Записать значение RSRP и сохранить в переменной "RSRP1" <br />		:глобальная rsrp1 $"rsrp" <br />		#Предотвращает высокую загрузку ЦП <br />		:delay 100ms <br />		#Завершить задачи <br />	} <br />	#Запускать это, пока переменная runLoop истинна <br />} while=($runLoop) <br />
			<i>28.08.2019 16:58:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403270</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403270</guid>
			<pubDate>Wed, 28 Aug 2019 16:58:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403269">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хорошо, у меня есть новости. Наконец-то я нашел способ захватить значение RSRP и установить его в переменную: /interface lte info lte1 once do={:global rsrp1 $"rsrp"}; У LtAP есть 5 светодиодов для отображения силы сигнала: led1, led2, led3, led4 и led5 соответственно. Теперь с переменной rsrp1, которая отвечает за силу сигнала, мне нужно следующее: От -120 до -111 только включен led1. От -110 до -101 включены led1 и led2. От -100 до -91 включены led1, led2 и led3. От -90 до -81 включены led1, led2, led3 и led4. Если значение больше или равно -80, включены все 5 светодиодов. Если ни одно из этих условий не выполнено, выключить 5 светодиодов. Я новичок в написании скриптов в целом и буду благодарен за вашу помощь. С уважением. <br />
			<i>28.08.2019 15:45:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403269</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403269</guid>
			<pubDate>Wed, 28 Aug 2019 15:45:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Script to get RSRP and then do...</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403268">Script to get RSRP and then do...</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет. Я пытался получить значение RSRP с интерфейса LTE, а затем сделать что-то с помощью условий "если". Я хочу персонализировать количество светодиодов (включено/выключено) в зависимости от уровней сигнала. Я знаю, что можно включить эту функцию с помощью: /system leds add interface=lte1 leds=led1,led2,led3,led4,led5 modem-signal-treshold=-91 type=modem-signal. Но я хочу получить что-то более персонализированное. С уважением. <br />
			<i>11.08.2019 05:32:00, krafg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403268</link>
			<guid>http://mikrotik.moscow/forum/forum57/86113-script-to-get-rsrp-and-then-do.../message403268</guid>
			<pubDate>Sun, 11 Aug 2019 05:32:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
