[Модуль] MegaD (megad)
Модератор: immortal
-
- Сообщения: 74
- Зарегистрирован: Вт дек 31, 2013 2:03 pm
- Откуда: Самара
- Благодарил (а): 25 раз
- Поблагодарили: 5 раз
Re: Модуль "MegaD"
Раньше было так:
теперь стало так:
Кроме преображения ADC6 и ADC7 пропала температура и появились "Текущее значение 2", "Связанный объект 2" и "Связанное св-во 2"
Что это и что с этим делать?
СпойлерПоказать
СпойлерПоказать
Что это и что с этим делать?
- Kod.Begemot
- Сообщения: 358
- Зарегистрирован: Чт июн 20, 2013 5:53 pm
- Благодарил (а): 32 раза
- Поблагодарили: 42 раза
Re: Модуль "MegaD"
Вопрос к пользуюущимся модулем. Вот если сейчас мегу перезагрузить, состояние выходов восстановится на то, что было до перезапуска?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль "MegaD"
У меня подключен блок I7O7 и определяется вот так:
Можете прислать содержимое current config из закладки Advanced? Я попробую посмотреть из-за чего ADC порты не определяются
Можете прислать содержимое current config из закладки Advanced? Я попробую посмотреть из-за чего ADC порты не определяются
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 74
- Зарегистрирован: Вт дек 31, 2013 2:03 pm
- Откуда: Самара
- Благодарил (а): 25 раз
- Поблагодарили: 5 раз
Re: Модуль "MegaD"
Содержимое current config из закладки Advanced:
Версии модуля, МД и прошивки - крайние (не бетки)
СпойлерПоказать
cf=1&eip=192.168.1.101&pwd=sec&gw=255.255.255.255&sip=192.168.1.100:80&sct=megad.php
cf=2&mdid=101&sl=1
pn=0&ecmd=7:2ð=&naf=&misc=&d=&pty=0&m=0
pn=1&ecmd=8:2ð=&naf=&misc=&d=&pty=0&m=0
pn=2&ecmd=9:2ð=&naf=&misc=&d=&pty=0&m=0
pn=3&ecmd=10:2ð=&naf=&misc=&d=&pty=0&m=0
pn=4&ecmd=11:2ð=&naf=&misc=&d=&pty=0&m=0
pn=5&ecmd=12:2ð=&naf=&misc=&d=&pty=0&m=0
pn=6&ecmd=13:2ð=&naf=&misc=&d=&pty=0&m=0
pn=7&pty=1&d=0
pn=8&pty=1&d=0
pn=9&pty=1&d=0
pn=10&pty=1&d=0&m=0
pn=11&pty=1&d=0
pn=12&pty=1&d=0&m=0
pn=13&pty=1&d=0&m=0
pn=14&misc=0&hst=0&ecmd=ð=&naf=&m=0
pn=15&misc=0&hst=0&ecmd=ð=&naf=&m=0
cf=2&mdid=101&sl=1
pn=0&ecmd=7:2ð=&naf=&misc=&d=&pty=0&m=0
pn=1&ecmd=8:2ð=&naf=&misc=&d=&pty=0&m=0
pn=2&ecmd=9:2ð=&naf=&misc=&d=&pty=0&m=0
pn=3&ecmd=10:2ð=&naf=&misc=&d=&pty=0&m=0
pn=4&ecmd=11:2ð=&naf=&misc=&d=&pty=0&m=0
pn=5&ecmd=12:2ð=&naf=&misc=&d=&pty=0&m=0
pn=6&ecmd=13:2ð=&naf=&misc=&d=&pty=0&m=0
pn=7&pty=1&d=0
pn=8&pty=1&d=0
pn=9&pty=1&d=0
pn=10&pty=1&d=0&m=0
pn=11&pty=1&d=0
pn=12&pty=1&d=0&m=0
pn=13&pty=1&d=0&m=0
pn=14&misc=0&hst=0&ecmd=ð=&naf=&m=0
pn=15&misc=0&hst=0&ecmd=ð=&naf=&m=0
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль "MegaD"
Спасибо. А в настройках интерфейса MegaD что-нибудь установлено в поле Preset ?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 12
- Зарегистрирован: Вс янв 15, 2017 12:51 am
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
Судари мои!
Мой первый опыт использования Меги с Мажором увенчался-таки успехом! Так и не понял, как оригинальная конфигурация, на которую я обновился, работает у других... Просто знаний не хватает пока, вот и не понял. Но к делу. Если кто-то заинтересуется, вот что мне пришлось сделать, чтобы наша связка заработала.
1) причина неработоспособности:
таблица megadproperties в базе данных не могла быть заполнена, следовательно не было информации о входах/выходах -> (почему?) -> некорректное обращение к скрипту megad-cfg.php из скрипта readconfig.inc.php
2) что пришлось править:
2.1) в файле readconfig.inc.php заменил строчку
на
что улучшилось: путь к сохраняемому конфигу megad.cfg стал выглядеть по-человечески; я имею в виду, что видишь, то и передается.
2.2) в скрипт megad-cfg.php добавил функцию, которая различала варианты вызова скрипта с параметрами из командной строки и из браузера. Как это работало первоначально - не понял, функция getopt не парсила то, что приходило от readconfig.inc.php
функция выглядит так (не выдумал, просто взял с php.net):
и соответственно обращался к ней далее
вместо оригинальной
Все. Работает. Как работало в оригинале - может, какие хитрые настройки php? Ну никак скрипт для CLI (megad-cfg.php) не хотел понимать, что ему слал Мажор с помощью CURL...
Мой первый опыт использования Меги с Мажором увенчался-таки успехом! Так и не понял, как оригинальная конфигурация, на которую я обновился, работает у других... Просто знаний не хватает пока, вот и не понял. Но к делу. Если кто-то заинтересуется, вот что мне пришлось сделать, чтобы наша связка заработала.
1) причина неработоспособности:
таблица megadproperties в базе данных не могла быть заполнена, следовательно не было информации о входах/выходах -> (почему?) -> некорректное обращение к скрипту megad-cfg.php из скрипта readconfig.inc.php
2) что пришлось править:
2.1) в файле readconfig.inc.php заменил строчку
Код: Выделить всё
$url.='?ip='.urlencode($record['IP']).'&read-conf='.urlencode(ROOT.'cached/megad.cfg').'&p='.urlencode($record['PASSWORD']);
Код: Выделить всё
$url.='ip='.urlencode($record['IP']).'&read-conf='.ROOT.'cached/megad.cfg'.'&p='.urlencode($record['PASSWORD']);
2.2) в скрипт megad-cfg.php добавил функцию, которая различала варианты вызова скрипта с параметрами из командной строки и из браузера. Как это работало первоначально - не понял, функция getopt не парсила то, что приходило от readconfig.inc.php
функция выглядит так (не выдумал, просто взял с php.net):
Код: Выделить всё
/**
* Get options from the command line or web request
*
* @param string $options
* @param array $longopts
* @return array
*/
function getoptreq ($options, $longopts)
{
if (PHP_SAPI === 'cli' || empty($_SERVER['REMOTE_ADDR'])) // command line
{
return getopt($options, $longopts);
}
else if (isset($_REQUEST)) // web script
{
$found = array();
$shortopts = preg_split('@([a-z0-9][:]{0,2})@i', $options, 0, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
$opts = array_merge($shortopts, $longopts);
foreach ($opts as $opt)
{
if (substr($opt, -2) === '::') // optional
{
$key = substr($opt, 0, -2);
if (isset($_REQUEST[$key]) && !empty($_REQUEST[$key]))
$found[$key] = $_REQUEST[$key];
else if (isset($_REQUEST[$key]))
$found[$key] = false;
}
else if (substr($opt, -1) === ':') // required value
{
$key = substr($opt, 0, -1);
if (isset($_REQUEST[$key]) && !empty($_REQUEST[$key]))
$found[$key] = $_REQUEST[$key];
}
else if (ctype_alnum($opt)) // no value
{
if (isset($_REQUEST[$opt]))
$found[$opt] = false;
}
}
return $found;
}
return false;
}
Код: Выделить всё
$options = getoptreq ("sp:fewb", array("scan", "ip:", "new-ip:", "fw:", "local-ip:", "ee", "read-conf:", "write-conf:"));
Код: Выделить всё
$options = getopt("sp:fewb", array("scan", "ip:", "new-ip:", "fw:", "local-ip:", "ee", "read-conf:", "write-conf:"));
-
- Сообщения: 74
- Зарегистрирован: Вт дек 31, 2013 2:03 pm
- Откуда: Самара
- Благодарил (а): 25 раз
- Поблагодарили: 5 раз
Re: Модуль "MegaD"
Не нашел такого поляsergejey писал(а):..в настройках интерфейса MegaD что-нибудь установлено в поле Preset ?
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Модуль "MegaD"
Пресеты убрали в какой-то из версий прошивки, и возвращать их, насколько знаю, не планируется.sergejey писал(а):Спасибо. А в настройках интерфейса MegaD что-нибудь установлено в поле Preset ?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram