NEWS
MegaD 328
-
Не понятно что на конце строки:
Write config for port 0: http://192.168.0.14/sec/?pn=0&pty=0&m=0&ecmd=%5Bb%5D%C3%B0=
При рестарте меги, у меня все драйвера перестартовываются.
В логе: megad-0 2015-08-21 00:20:03 debug Generate short click on port 0 (при длинном нажатии, возможно достаточно лишь слово изменить)
-
Не понятно что на конце строки:
При рестарте меги, у меня все драйвера перестартовываются. `
А что говорит лог? И надеюсь, что драйвера мег, а не вообще все.` > Не понятно что на конце строки:
Write config for port 0: http://192.168.0.14/sec/?pn=0&pty=0&m=0&ecmd=%C3%B0= `
А ты что нибудь в Сценарий порта 0 писал?> В логе: megad-0 2015-08-21 00:20:03 debug Generate short click on port 0 (при длинном нажатии, возможно достаточно лишь слово изменить)
Нет всё верно. Логи? -
А что говорит лог? И надеюсь, что драйвера мег, а не вообще все. `
Как раз все. Но после перезагрузки все ОК. Исследую дальше. -
А ты что нибудь в Сценарий порта 0 писал? `
host-cubieboard2 2015-08-21 11:27:36 info instance system.adapter.megad.0 started with pid 2370 host-cubieboard2 2015-08-21 11:27:06 info Restart adapter system.adapter.megad.0 because enabled host-cubieboard2 2015-08-21 11:27:06 error instance system.adapter.megad.0 terminated with code 6 (uncaught exception) Error: 2015-08-21 11:27:05 error at _stream_readable.js:944:16 Error: 2015-08-21 11:27:05 error at IncomingMessage.emit (events.js:117:20) Error: 2015-08-21 11:27:05 error at IncomingMessage. (/opt/iobroker/node_modules/iobroker.megad/main.js:193:13) Error: 2015-08-21 11:27:05 error at writeConfigOne (/opt/iobroker/node_modules/iobroker.megad/main.js:141:16) Error: 2015-08-21 11:27:05 error at /opt/iobroker/node_modules/iobroker.megad/main.js:393:21 Error: 2015-08-21 11:27:05 error at writeConfigDevice (/opt/iobroker/node_modules/iobroker.megad/main.js:339:19) Error: 2015-08-21 11:27:05 error at findIp (/opt/iobroker/node_modules/iobroker.megad/main.js:310:21) Error: 2015-08-21 11:27:05 error at ipMask (/opt/iobroker/node_modules/iobroker.megad/main.js:266:12) Error: 2015-08-21 11:27:05 error at ipToBuffer (/opt/iobroker/node_modules/iobroker.megad/main.js:234:15) Error: 2015-08-21 11:27:05 error at Error () Error: 2015-08-21 11:27:05 error Invalid ip address: undefined uncaught 2015-08-21 11:27:05 error exception: Invalid ip address: undefined megad-0 2015-08-21 11:27:05 debug Response: Back Device is restared. megad-0 2015-08-21 11:27:04 info Write config for port 15: http://192.168.0.14/sec/?pn=15&pty=255 megad-0 2015-08-21 11:27:04 debug Response: Back Device is restared. megad-0 2015-08-21 11:27:03 info Write config for port 14: http://192.168.0.14/sec/?pn=14&pty=255 megad-0 2015-08-21 11:27:03 debug Response: Back Device is restared. megad-0 2015-08-21 11:27:02 info Write config for port 13: http://192.168.0.14/sec/?pn=13&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:27:02 debug Response: Back Device is restared. megad-0 2015-08-21 11:27:01 info Write config for port 12: http://192.168.0.14/sec/?pn=12&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:27:01 debug Response: Back Device is restared. megad-0 2015-08-21 11:27:00 info Write config for port 11: http://192.168.0.14/sec/?pn=11&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:27:00 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:59 info Write config for port 10: http://192.168.0.14/sec/?pn=10&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:26:59 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:58 info Write config for port 9: http://192.168.0.14/sec/?pn=9&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:26:58 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:57 info Write config for port 8: http://192.168.0.14/sec/?pn=8&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:26:57 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:56 info Write config for port 7: http://192.168.0.14/sec/?pn=7&pty=1&m=0&d=0&pwm=0 megad-0 2015-08-21 11:26:56 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:55 info Write config for port 6: http://192.168.0.14/sec/?pn=6&pty=0&m=0&ecmd=ð= megad-0 2015-08-21 11:26:55 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:54 info Write config for port 5: http://192.168.0.14/sec/?pn=5&pty=0&m=0&ecmd=ð= megad-0 2015-08-21 11:26:54 debug Response: Back Device is restared. inMem 2015-08-21 11:26:53 debug message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1440134813, from=system.adapter.admin.0, lc=1440133173 megad-0 2015-08-21 11:26:53 info Write config for port 4: http://192.168.0.14/sec/?pn=4&pty=0&m=0&ecmd=ð= megad-0 2015-08-21 11:26:53 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:52 info Write config for port 3: http://192.168.0.14/sec/?pn=3&pty=0&m=0&ecmd=ð= megad-0 2015-08-21 11:26:52 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:50 info Write config for port 2: http://192.168.0.14/sec/?pn=2&pty=0&m=0&ecmd=ð= megad-0 2015-08-21 11:26:50 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:49 info Write config for port 1: http://192.168.0.14/sec/?pn=1&pty=0&m=0&ecmd=ð= megad-0 2015-08-21 11:26:49 debug Response: Back Device is restared. megad-0 2015-08-21 11:26:49 info Write config for port 0: http://192.168.0.14/sec/?pn=0&pty=0&m=0&ecmd=ð= inMem 2015-08-21 11:26:49 debug message messagebox.system.adapter.megad.0 messagebox.system.adapter.megad.0 command=writeConfig, ip=192.168.0.14, password=sec, ports=[pty=0, name=P0, m=0, pwm=0, role=state, room=, long=false, double=true, eth=, ecmd=, pty=0, name=P1, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P2, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P3, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P4, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P5, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P6, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=1, name=P7, m=0, role=state, room=, d=0, pty=1, name=P8, m=0, role=state, room=, d=0, pty=1, name=P9, m=0, role=state, room=, d=0, pty=1, name=P10, m=0, role=state, room=, d=0, pty=1, name=P11, m=0, role=state, room=, d=0, pty=1, name=P12, m=0, role=state, room=, d=0, pty=1, name=P13, m=0, role=state, room=, d=0, pty=255, name=P14, m=0, role=value, room=, pty=255, name=P15, m=0, role=value, room=], port=, from=system.adapter.admin.0, ip=192.168.0.14, password=sec, ports=[pty=0, name=P0, m=0, pwm=0, role=state, room=, long=false, double=true, eth=, ecmd=, pty=0, name=P1, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P2, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P3, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P4, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P5, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=0, name=P6, m=0, pwm=0, role=state, room=, long=false, double=false, eth=, ecmd=, pty=1, name=P7, m=0, role=state, room=, d=0, pty=1, name=P8, m=0, role=state, room=, d=0, pty=1, name=P9, m=0, role=state, room=, d=0, pty=1, name=P10, m=0, role=state, room=, d=0, pty=1, name=P11, m=0, role=state, room=, d=0, pty=1, name=P12, m=0, role=state, room=, d=0, pty=1, name=P13, m=0, role=state, room=, d=0, pty=255, name=P14, m=0, role=value, room=, pty=255, name=P15, m=0, role=value, room=], port=, id=51, ack=false, time=1440134809490, _id=130 admin-0 2015-08-21 11:26:49 info sendTo 'writeConfig' to system.adapter.megad.0 from system.adapter.admin.0: {'ip':'192.168.0.14','password':'sec','ports':[{'pty':'0','name':'P0','m':0,'pwm':0,'role':'state','room':'','long':false,'double':true,'eth':'','ecmd':''},{'pty':'0','name':'P1','m':0,'pwm':0,'role':'state','room':'','long':false,'double':false,'eth':'','ecmd':''},{'pty':'0','name':'P2','m':0,'pwm':0,'role':'state','room':'','long':false,'double':false,'eth':'','ecmd':''},{'pty':'0','name':'P3','m':0,'pwm':0,'role':'state','room':'','long':false,'double':false,'eth':'','ecmd':''},{'pty':'0','name':'P4','m':0,'pwm':0,'role':'state','room':'','long':false,'double':false,'eth':'','ecmd':''},{'pty':'0','name':'P5','m':0,'pwm':0,'role':'state','room':'','long':false,'double':false,'eth':'','ecmd':''},{'pty':'0','name':'P6','m':0,'pwm':0,'role':'state','room':'','long':false,'double':false,'eth':'','ecmd':''},{'pty':'1','name':'P7','m':0,'role':'state','room':'','d':0},{'pty':'1','name':'P8','m':0,'role':'state','room':'','d':0},{'pty':'1','name':'P9','m':0,'role':'state','room':'','d':0},{'pty':'1','name':'P10','m':0,'role':'state','room':'','d':0},{'pty':'1','name':'P11','m':0,'role':'state','room':'','d':0},{'pty':'1','name':'P12','m':0,'role':'state','room':'','d':0},{'pty':'1','name':'P13','m':0,'role':'state','room':'','d':0},{'pty':'255','name':'P14','m':0,'role':'value','room':''},{'pty':'255','name':'P15','m':0,'role':'value','room':''}],'config':{'port':''}}
-
Похоже не работает считывание настроек или работает не корректно.
Вот что в меге (все порты и конкретно P0):
А вот что после нажатия кнопки считать (почему то входы и выходы наоборот и сценарии пустые):
-
Похоже не работает считывание настроек или работает не корректно.
Вот что в меге (все порты и конкретно P0):
filename="mega_new.png" index="1">~~А вот что после нажатия кнопки считать (почему то входы и выходы наоборот и сценарии пустые):
filename="mega_driver_new.png" index="0">~~ `
Надо внести ясность.1. Вход - Это то откуда данные поступают в ioBroker, например кнопка
Выход - Это выход из ioBroker и из меги в сторону лампы/реле
:?:
2. Я пытался определить настройки по тому, как выглядит строка http://192.168.0.14/sec/?cmd=all
Например ответ такой:
OFF;OFF/0;OFF/0;25;temp:45.6;temp:45.6/hum:27
Тогда я порт 0 (OFF) распознавал, как вход
OFF/0 - выход
25 - ACD вход
temp:45.6 - digital sensor (mode 0)
temp:45.6/hum:27 - digital sensor (mode 1)
Поэтому такие настройки, как сценарии, не считывались.
Теперь оказывается настройки можно считать с HTTP страницы.
Вопрос/запрос.
1. Как выглядит твоя конкретно конфигурация меги? По-портам:
P0 - Dig Input, Mode P&R(Press&Release :?: ) 1, Action: "7:1", Net: "192xxx" ?
P1 - Dig Input
P2 - Dig Input
P3 - Dig Input
P4 - Dig Input
P5 - Dig Input
P6 - Dig Input
P7 - Dig Output,
P8 - Dig Output,
P9 - Dig Output,
P10 - Dig Output,
P11 - Dig Output,
P12 - Dig Output,
P13 - Dig Output,
P14- A6 - Analog Input
P15- A7 - Analog Input
2. Что выдаётся у тебя на "http://192.168.0.14/sec/?cmd=all" :?:
OFF;OFF;OFF;OFF;OFF;OFF;OFF;ON/1;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;25;67
:?:
3. Что надо вызвать чтобы появилась страница с настройками для порта? "http://192.168.0.14/sec/?pt=0" ?
А для P14 "http://192.168.0.14/sec/?pt=14" ?
4. Как выглядит HTML source code такой страницы? Для входа, выхода, ADC, DHT, NC ?
Без этого я не смогу написать нормальный симулятор, а без симулятора не смогу написать нормальный драйвер.
-
Надо внести ясность.
1. Вход - Это то откуда данные поступают в ioBroker, например кнопка
Выход - Это выход из ioBroker и из меги в сторону лампы/реле
:?: `
Да. -
1. Как выглядит твоя конкретно конфигурация меги? По-портам:
P0 - Dig Input, Mode P&R(Press&Release :?: ) 1, Action: "7:1", Net: "192xxx" ?
P1 - Dig Input
P2 - Dig Input
P3 - Dig Input
P4 - Dig Input
P5 - Dig Input
P6 - Dig Input
P7 - Dig Output,
P8 - Dig Output,
P9 - Dig Output,
P10 - Dig Output,
P11 - Dig Output,
P12 - Dig Output,
P13 - Dig Output,
P14- A6 - Analog Input
P15- A7 - Analog Input `
Именно так сейчас и выглядит.
-
2. Что выдаётся у тебя на "http://192.168.0.14/sec/?cmd=all" :?:
OFF;OFF;OFF;OFF;OFF;OFF;OFF;ON/1;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;25;67
:?: `
OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;39;23
Как раз OFF/0 это вход, а просто OFF это выход
У меня конфигурация меги 7I7O, то есть 7 входов (0-6) и 7 выходов (7-13)
Вот так выглядит строка с включенным симистором/реле на седьмом порту
OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;ON;OFF;OFF;OFF;OFF;OFF;OFF;35;22
На конце цыфры (35;22), на этих двух портах у меня сейчас ничего нет, но это и нормально, там напряжение скачет, т.к. нет никаких датчиков. Эти два порта могут быть только ADC.
-
3. Что надо вызвать чтобы появилась страница с настройками для порта? "http://192.168.0.14/sec/?pt=0" ?
А для P14 "http://192.168.0.14/sec/?pt=14" ? `
-
4. Как выглядит HTML source code такой страницы? Для входа, выхода, ADC, DHT, NC ?
Без этого я не смогу написать нормальный симулятор, а без симулятора не смогу написать нормальный драйвер. `
Надеюсь это только для симулятора :), не для парсинга %)
Bluefox, а почему бы не попросить у Андрея данное устройство для написания драйвера, я думаю что он будет согласен!
<u>Вход</u>
[Back](/sec) P0/OFF/0 <form action="/sec/">Type In Act Net Mode <select name="m"><option value="0">P</option><option value="1" selected="">P&R</option><option value="2">R</option></select> Raw </form>
<u>Выход</u>
[Back](/sec) P7/OFF [ON](/sec/?pt=7&cmd=7:1) [OFF](/sec/?pt=7&cmd=7:0) <form action="/sec/">Type Out Default: <select name="d"><option value="0" selected="">0</option><option value="1">1</option></select> </form>
<u>ADC только 14 и 15 порты или А6 А7</u>
[Back](/sec) A6/95 <form action="/sec/">Mode <select name="m"><option value="0" selected="">Norm</option><option value="1">></option><option value="2"><</option><option value="3"><></option></select> Val Act Net </form>
<u>NC</u>
[Back](/sec) P0 <form action="/sec/">Type <select name="pty"><option value="255" selected="">NC</option><option value="0">In</option><option value="1">Out</option><option value="3">DSen</option><option value="2">ADC</option></select> </form>
<u>Dsen</u>
[Back](/sec) P0 temp:0 hum:0 <form action="/sec/">Type <select name="pty"><option value="255">NC</option><option value="0">In</option><option value="1">Out</option><option value="3" selected="">DSen</option><option value="2">ADC</option></select> Sensor: <select name="m"><option value="1" selected="">DHT11</option><option value="2">DHT22</option></select> </form>
-
На все ли я ответил?
-
3. Что надо вызвать чтобы появилась страница с настройками для порта? "http://192.168.0.14/sec/?pt=0" ?
А для P14 "http://192.168.0.14/sec/?pt=14" ? `
http://192.168.0.14/sec/?pt=0
filename="p0.png" index="2">~~http://192.168.0.14/sec/?pt=7
filename="p7.png" index="1">~~http://192.168.0.14/sec/?pt=14
filename="p14.png" index="0">~~ `
Вроде начинает проясняться. Спасибо!> Надеюсь это только для симулятора :), не для парсинга %)
Именно для парсинга. Я хочу считать все "…sec/?pt=Х" и извлечь настройки. А что есть какой то другой путь? -
Если я не ошибаюсь, то есть, т.к. есть скрипт который все настройки экспортирует.
Работа с настройками
При использовании ключа –ee (стирание EEPROM), часто необходимого при обновлении прошивки, из памяти устройства удаляется вся текущая нстройка портов. Это очень неудобно после перепрошивки восстанавливать настройки устройства и портов. Поэтому начиная с версии 1.1 скрипта megad-cfg.php была предусмотрена функция считывания и записи текущих настроек.
Считывание конфигурации устройства и запись в файл megad.cfg
php megad-cfg.php --ip 192.168.0.14 --read-conf megad.cfg -p sec
Считывание конфигурации из файла и запись в устройство
php megad-cfg.php --ip 192.168.0.14 --write-conf megad.cfg -p sec
Сканирование всех устройств типа MegaD-328 в сети
php megad-cfg.php –scan
-
Сканирование (из php файла):
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1); $broadcast_ip = preg_replace("/(\d+)\.(\d+)\.(\d+)\.(\d+)/", "$1.$2.$3.255", $local_ip); # Prepearing sockets if ( !empty($options['local-ip']) ) $local_ip = $options['local-ip']; else { $local_ip = gethostbyname(gethostname()); if ( empty($local_ip) || preg_match("/127\./", $local_ip) ) { if ( preg_match("/^WIN/", PHP_OS) ) $local_ip = get_local_ip_win(); else { $find_ip = get_local_ip(); foreach ( $find_ip as $iface => $iface_ip) { if ( preg_match("/^192\.168/", $find_ip[$iface]) || preg_match("/^10\./", $find_ip[$iface]) ) $local_ip = $find_ip[$iface]; } } } if ( !preg_match("/192\.168\./", $local_ip) && !preg_match("/10\.0\./", $local_ip) && !preg_match("/172\.16\./", $local_ip) ) { echo "Unable to detect local network\nPlase, specify local IP-address with --local-ip\n"; exit; } } # Scanning network for Mega-cool MegaD-devices ;) if ( array_key_exists('scan', $options) || array_key_exists('s', $options) ) { $broadcast_string = chr(0xAA).chr(0).chr(12); socket_sendto($sock, $broadcast_string, strlen($broadcast_string), 0, $broadcast_ip, 52000); usleep(100); do { $pkt = fread($socket, 10); if ( !empty($pkt) && ord($pkt[0]) == 0xAA ) echo ord($pkt[1]).".".ord($pkt[2]).".".ord($pkt[3]).".".ord($pkt[4])."\n"; } while ( $pkt != false ); }
Чтение конфига
if ( array_key_exists('read-conf', $options) ) { echo "Reading configuration... "; $pages = array("cf=1", "cf=2"); //$pages = array(); $page = file_get_contents("http://".$options['ip']."/".$options['p']); $ports = preg_replace("/.*\?pt=(\d+).*/", "$1", $page); for ( $i = 0; $i <= $ports; $i++ ) $pages[] = "pt=$i"; $fh = fopen($options['read-conf'], "w"); $dom = new DOMDocument(); $preset_flag = 0; for ( $i = 0; $i < count($pages); $i++ ) { if ( $preset_flag == 1 ) { //echo "Setting preset 0\n"; $page = file_get_contents("http://".$options['ip']."/".$options['p']."/?cf=1&pr=0"); sleep(1); $preset_flag = 2; } $page = file_get_contents("http://".$options['ip']."/".$options['p']."/?".$pages[$i]); @$dom->loadHTML($page); //$url = "http://".$options['ip']."/".$options['p']."/?"; $url = ""; $els=$dom->getelementsbytagname('input'); foreach($els as $inp) { if ( $inp->getAttribute('type') != "submit" ) { $name=$inp->getAttribute('name'); //$value=urlencode($inp->getAttribute('value')); if ( $inp->getAttribute('type') == "checkbox" ) { if ( $inp->hasAttribute('checked') ) $value=1; else $value=''; } else $value=$inp->getAttribute('value'); if ( $name != "pt" ) { if ( $name == "sl" && empty($value)); else $url .= "$name=$value&"; } } } $select = $dom->getelementsbytagname('select'); foreach($select as $elem) { $name=$elem->getAttribute('name'); $els=$elem->getelementsbytagname('option'); $sel_flag = 0; foreach($els as $inp) { if ( $inp->hasAttribute('selected') ) { //$name=$inp->getAttribute('name'); $value=urlencode($inp->getAttribute('value')); $value=$inp->getAttribute('value'); $url .= "$name=$value&"; $sel_flag = 1; if ( $pages[$i] == "cf=1" && $name == "pr" && !empty($value) ) { $preset_flag = 1; $stored_preset = $value; } } } // Хак ввиду того, что PHP DOM почему-то не может распарсить значение <> поля "Mode" if ( $sel_flag == 0 && $name == "m" ) $url .= "m=3&"; } $url = preg_replace("/&$/", "", $url); fwrite($fh, "$url\n"); } fclose($fh); if ( $preset_flag == 2 ) { //echo "Setting preset 1\n"; $page = file_get_contents("http://".$options['ip']."/".$options['p']."/?cf=1&pr=$stored_preset"); sleep(1); } echo "OK\n"; }
-
Посмотрел чтение конфига, там тот же парсинг идет :lol:
А вот поиск устройств, всего две строки, отправка udp запроса бродкастом на порт 52000
-
Из мануала:
Если порт настроен как вход, то через слеш указывается значение счетчика входа. То есть там может быть не 0, а любая цифра.
-
Спасибо. Вот теперь я знаю, что я буду делать на выходных.
-
Что возвращают?
Как HTML.
-
MegaD-328 by [ab-log.ru](http://ab-log.ru) (fw: 3.30b5) [Config](/sec/?cf=1) -- Ports -- [P0 - IN](/sec/?pt=0) [P1 - IN](/sec/?pt=1) [P2 - IN](/sec/?pt=2) [P3 - IN](/sec/?pt=3) [P4 - IN](/sec/?pt=4) [P5 - IN](/sec/?pt=5) [P6 - IN](/sec/?pt=6) [P7 - OUT](/sec/?pt=7) [P8 - OUT](/sec/?pt=8) [P9 - OUT](/sec/?pt=9) [P10 - OUT](/sec/?pt=10) [P11 - OUT](/sec/?pt=11) [P12 - OUT](/sec/?pt=12) [P13 - OUT](/sec/?pt=13) [A6 - ADC](/sec/?pt=14) [A7 - ADC](/sec/?pt=15)
2. Тоже самое что и первое
3.
[Back](/sec) | [Megad-ID](/sec/?cf=2) <form action="/sec/">IP: Pwd: GW: SRV: Script: Preset: <select name="pr"><option value="0" selected="">Norm</option><option value="1">7I7O</option></select> T check: Alarm T: Cur T: 37 </form>
[Back](/sec) | [Config](/sec/?cf=1) <form action="/sec/">Megad-ID: srv loop: </form>