Страница 1 из 1
не могу получить значение напряжения на порту с POE
Добавлено: 15 сен 2017, 10:53
Sertik
не могу получить значение напряжения на включенном предварительно порту микротика с POE:
:local Pvoltage;
/interface ethernet poe monitor ether2 once do={
:set Pvoltage $"poe-out-voltage";
};
Re: не могу получить значение напряжения на порту с POE
Добавлено: 15 сен 2017, 16:37
podarok66
А устройство-то имеет собственно сам датчик с возможностью определения напряжения?
Re: не могу получить значение напряжения на порту с POE
Добавлено: 18 сен 2017, 11:02
Sertik
Когда питание на пое-порту включено, значения напряжения, силы тока и мощности отображаются в соответствующих полях Пое-монитора. Вот их то и хотелось бы считать в переменную, в частности, напряжение.
Какой датчик Вы имеете ввиду ?
Re: не могу получить значение напряжения на порту с POE
Добавлено: 18 сен 2017, 15:38
podarok66
Ну дайте уж наконец скрин, марку железки. У меня на RB951Ui-2HnD нет никаких значений, просто показывает, что запущено.
Код: Выделить всё
interface ethernet poe monitor ether5
;;; In TVHost
name: ether5
poe-out: auto-on
poe-out-status: powered-on
Стало интересно, как оно отображается в окне. И ответ на команду
какой выдает. И вообще, ether2 у вас точно поддерживает poe-out?
Re: не могу получить значение напряжения на порту с POE
Добавлено: 18 сен 2017, 19:34
Sertik
Железка HEX POE lite с пятью Eth портами на борту. Первый порт POE in, четыре другие - с 2 по 5-й могут раздавать POE c него или от блока питания (с джека).
В терминале на команду, например /interface ethernet poe monitor ether2
получаем такой ответ:
name ether2
poe-out-status: powered-on
poe-out-voltage: 23.5V
poe-out-current: 0ma
poe-out-power:0w
Последние два значения силы тока и мощности по нулям, т.к. сейчас не подключены потребители. Аналогично с другими портами в диапазоне 2-5. А вот почему не считываются значения в переменную не понимаю. Тогда как poe-out-status считывается нормально "powered-on".
Re: не могу получить значение напряжения на порту с POE
Добавлено: 18 сен 2017, 19:38
Sertik
Вот текст скрипта, который пытаюсь писать:
:local Pstatus;
:local Rvoltage;
# номер опрашиваемого порта poe-out
:local EPort "2";
/interface ethernet poe monitor ("ether"."$EPort") once do={:set Pstatus $"poe-out-status"};
:if ($Pstatus="powered-on") do={ /interface ethernet poe monitor ("ether"."$EPort") once do={:set Rvoltage $"poe-out-voltage"};
:log info "";
:log info ("POE-port ether"."$EPort");
:log warning $Pstatus;
:log info $Rvoltage;
Re: не могу получить значение напряжения на порту с POE
Добавлено: 18 сен 2017, 19:42
Sertik
Блин, простите, ради бога. Сам нашел ошибку - цикл do забыл закрыть осел !
Вот это работает:
:local Pstatus;
:local Rvoltage;
# номер опрашиваемого порта poe-out
:local EPort "2";
/interface ethernet poe monitor ("ether"."$EPort") once do={:set Pstatus $"poe-out-status"};
:if ($Pstatus="powered-on") do={ /interface ethernet poe monitor ("ether"."$EPort") once do={:set Rvoltage $"poe-out-voltage"};
}
:log info "";
:log info ("POE-port ether"."$EPort");
:log warning $Pstatus;
:log info $Rvoltage;
Re: не могу получить значение напряжения на порту с POE
Добавлено: 18 сен 2017, 21:23
podarok66
Ага, отсутствовала закрывающая фигурная скобка. В таких случаях весьма помогает запуск скрипта в терминале. Чтобы скрипт выполнялся как одна команда, заключаем его в фигурные скобки. В вашем случае будет:
Код: Выделить всё
{
:local Pstatus;
:local Rvoltage;
:local EPort "2";
/interface ethernet poe monitor ("ether"."$EPort") once do={
:set Pstatus $"poe-out-status"
};
:if ($Pstatus="powered-on") do={
/interface ethernet poe monitor ("ether"."$EPort") once do={
:set Rvoltage $"poe-out-voltage"
}
}
:log info "";
:log info ("POE-port ether"."$EPort");
:log warning $Pstatus;
:log info $Rvoltage;
}
В таком виде будет исполнятся даже в терминале. И более читаемо, как по мне...
Кстати на моём RB951Ui-2HnD не показывает ни вольтаж, ни мощность. Именно это я и имел ввиду, говоря о возможностях датчика.