Страница 41 из 141

Re: Модуль "MegaD"

Добавлено: Вт авг 23, 2016 3:49 pm
Kod.Begemot
Обработку данных о старте меги (st=1) никто к модулю не прикручивал?

Re: Модуль "MegaD"

Добавлено: Вт сен 06, 2016 10:48 pm
denis
Подскажите, с новым блоком megad-2561 этот модуль будет работать?

Re: Модуль "MegaD"

Добавлено: Пн сен 12, 2016 11:34 pm
filippovsky
Пробую использовать модуль от уважаемого Bagir с Мега-2561.
Заметил пока две проблемы.
1. В методе incomingMessage есть ошибка при анализе "all":

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

if (isset($params['all'])) {
  $ps = explode(";", $params['all']);
  $i=0;
  foreach($ps as $dt) {
    $i = $i + 1;
вот эту строчку $i = $i + 1; надо перенести в конец цикла, т.к. иначе порты считываются с неверными номерами. Значение нулевого порта заносится как порт 1, и т.п.

2. в методе setOutput нет проверки, что Мега вернула в ответ "Done". Это вызывает проблемы (например, если Мега отключилась или упал канал связи от сервера до Меги, и т.п.).
Как вариант можно анализировать ответ Меги, но не очень пока понимаю, как результат анализа передать в вышестоящий код, который вызывал метод setOutput. Подскажите, пожалуйста, есть ли возможность в Majordomo написать свою функцию с возвращаемым значением (например, 0 если выполнено успешно, 1 в случае ошибки) ?

Re: Модуль "MegaD"

Добавлено: Пн сен 12, 2016 11:39 pm
filippovsky
Kod.Begemot писал(а):Обработку данных о старте меги (st=1) никто к модулю не прикручивал?
я сделал так в incomingMessage oт уважаемого Bagir:

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

// обработка st=1 (рестарт Меги)
$dt=$params['st'];
if (isset($dt)) {
  say('Мега '.$ot.' перезапустилась');
  if ($reclog) { $log->trace('Мега '.$ot.' перезапустилась, запрашиваем состояние портов'); } 
  $this->callMethod('getData', array('port'=>'all'));
  return; 
}
 
Идея в том, что при получении st=1 запрашиваем значение всех портов Меги.
У меня Мега-2561 сразу после рестарта в ответ на запрос всех портов почему-то всегда возвращает значение датчиков температуры DS18B20 = 0 градусов. При следующих запросах либо запросе конкретного порта все ок.
Пришлось добавить соответствующую проверку.

Re: Модуль "MegaD"

Добавлено: Вт сен 13, 2016 5:09 am
rtroyakov
filippovsky писал(а):Пробую использовать модуль от уважаемого Bagir с Мега-2561.
Заметил пока две проблемы.
1. В методе incomingMessage есть ошибка при анализе "all":

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

if (isset($params['all'])) {
  $ps = explode(";", $params['all']);
  $i=0;
  foreach($ps as $dt) {
    $i = $i + 1;
вот эту строчку $i = $i + 1; надо перенести в конец цикла, т.к. иначе порты считываются с неверными номерами. Значение нулевого порта заносится как порт 1, и т.п.
Да,Да.Даже без метода от Bagir вылетает ошибка с неверным считыванием порта.Сергей,поправьте ,пожалуйста.

Re: Модуль "MegaD"

Добавлено: Чт сен 15, 2016 10:37 am
sergejey
rtroyakov писал(а):
filippovsky писал(а):Пробую использовать модуль от уважаемого Bagir с Мега-2561.
Заметил пока две проблемы.
...
Да,Да.Даже без метода от Bagir вылетает ошибка с неверным считыванием порта.Сергей,поправьте ,пожалуйста.
А подскажите пожалуйста, что за ошибка? У меня нового модуля нет в наличии, не могу сам проверить.

Re: Модуль "MegaD"

Добавлено: Пт сен 16, 2016 1:03 am
rtroyakov
sergejey писал(а):
rtroyakov писал(а):
filippovsky писал(а):Пробую использовать модуль от уважаемого Bagir с Мега-2561.
Заметил пока две проблемы.
...
Да,Да.Даже без метода от Bagir вылетает ошибка с неверным считыванием порта.Сергей,поправьте ,пожалуйста.
А подскажите пожалуйста, что за ошибка? У меня нового модуля нет в наличии, не могу сам проверить.
Вот у меня лично порт 0(IN) на первой гребёнке и порт 15(он же 0 на второй гребёнке, тоже IN ) отображаются и тот и другой после сканирования как порт OUT

P.S Описание и распиновка появилась на сайте ab-log.ru

Re: Модуль "MegaD"

Добавлено: Вт сен 20, 2016 5:30 pm
Chainik
Сергей, с вами должен был связаться Андрей (разработчик Меги) с целью предоставления вам МегаД-2561 для проведения опытов над этой новой "железкой". Удалось договориться о получении "железяки"?

Re: Модуль "MegaD"

Добавлено: Вт сен 20, 2016 10:37 pm
sergejey
Chainik писал(а):Сергей, с вами должен был связаться Андрей (разработчик Меги) с целью предоставления вам МегаД-2561 для проведения опытов над этой новой "железкой". Удалось договориться о получении "железяки"?
Да. Как только оборудование будет у меня, займусь тестированием и доработкой модуля.

Re: Модуль "MegaD"

Добавлено: Ср сен 21, 2016 10:27 am
Chainik
Спасибо! Хоть пока у меня и нет Меги-2561, стараюсь для общего блага.