[Модуль] MegaD (megad)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: Модуль "MegaD"

Сообщение Kod.Begemot » Вт авг 23, 2016 3:49 pm

Обработку данных о старте меги (st=1) никто к модулю не прикручивал?
denis
Сообщения: 284
Зарегистрирован: Сб ноя 24, 2012 11:47 am
Благодарил (а): 32 раза
Поблагодарили: 28 раз

Re: Модуль "MegaD"

Сообщение denis » Вт сен 06, 2016 10:48 pm

Подскажите, с новым блоком megad-2561 этот модуль будет работать?
filippovsky
Сообщения: 5
Зарегистрирован: Вс авг 30, 2015 8:46 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Модуль "MegaD"

Сообщение filippovsky » Пн сен 12, 2016 11:34 pm

Пробую использовать модуль от уважаемого 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 в случае ошибки) ?
filippovsky
Сообщения: 5
Зарегистрирован: Вс авг 30, 2015 8:46 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Модуль "MegaD"

Сообщение filippovsky » Пн сен 12, 2016 11:39 pm

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 градусов. При следующих запросах либо запросе конкретного порта все ок.
Пришлось добавить соответствующую проверку.
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Модуль "MegaD"

Сообщение rtroyakov » Вт сен 13, 2016 5:09 am

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 вылетает ошибка с неверным считыванием порта.Сергей,поправьте ,пожалуйста.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey » Чт сен 15, 2016 10:37 am

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Модуль "MegaD"

Сообщение rtroyakov » Пт сен 16, 2016 1:03 am

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

P.S Описание и распиновка появилась на сайте ab-log.ru
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Модуль "MegaD"

Сообщение Chainik » Вт сен 20, 2016 5:30 pm

Сергей, с вами должен был связаться Андрей (разработчик Меги) с целью предоставления вам МегаД-2561 для проведения опытов над этой новой "железкой". Удалось договориться о получении "железяки"?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey » Вт сен 20, 2016 10:37 pm

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Модуль "MegaD"

Сообщение Chainik » Ср сен 21, 2016 10:27 am

Спасибо! Хоть пока у меня и нет Меги-2561, стараюсь для общего блага.
За это сообщение автора Chainik поблагодарил:
tsember (Вс фев 05, 2017 1:51 pm)
Рейтинг: 1.16%
Ответить