Подключение контроллера MegaD-328

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Чт фев 05, 2015 11:32 am

Сервер на WinXP. Определение ip всегда проходит нормально. С W7 сам лично пока не тестировал. А вот megad-cfg.php работает исключительно на W7. На XP я его так и не завел. Поэтому прошиваю Меги с ноутбука.
Сейчас попробовал включить на Меге at при превышении порога температуры. Действительно Мега шлет пакет без mdid
10.10.3.58 - - [05/Feb/2015:11:18:35 +0300] "GET /megad.php?at=16 HTTP/1.1" 200 -
И это явный косяк. Я просто ранее не использовал эту возможность Мег, т.к. сам опрашиваю их температуру. На сообщение без mdid у меня вот такая реакция
11:18:35 ERROR [page.megad]: MegaDevice has not transmitted mdid. Try to search on IP (at D:\Server\www\majordomo\megad.php:46)
При этом по ip находится объект Меги и дальше все работает штатно. Так что исключать код поиска Меги по ip из файла megad.php не стоит. Если все же на W7 есть проблема, то можно попробовать найти решение, которое будет работать одинаково хорошо на W7 и на XP.
По поводу запуска отдельно метода класса. Это невозможно. Можно вызвать только конкретный Объект.метод При этом вначале будет выполнен код его родительской части, а потом уже его собственный код.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Подключение контроллера MegaD-328

Сообщение Victor_S » Чт фев 05, 2015 12:06 pm

Как уже писал, Андрей поправил уже этот косяк.
Bagir, попробуйте в Меге явно задать свой шлюз по умолчанию и посмотрите реакцию на сообщение at без mdid.
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Чт фев 05, 2015 12:12 pm

Попробую вечерком, как приеду домой. Надо еще найти и почитать для чего вообще была сделана настройка шлюза в Мегах. Вроде бы раньше ее и не было.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край
Благодарил (а): 32 раза
Поблагодарили: 68 раз

Re: Подключение контроллера MegaD-328

Сообщение zelevova » Чт фев 05, 2015 12:16 pm

Bagir писал(а):megad-cfg.php работает исключительно на W7. На XP я его так и не завел
Загрузчик 13-й вроде решил проблему с megad-cfg.php и XP. Нужно один раз програматором перешить загрузчик.

Настройка шлюза используется для обращения к меге напрямую из-за ната. на шлюзе прокидываем порт на мегу и она доступна снаружи. Без указанного шлюза эта связка не работает. На работу в локальной сети это ни как не влияет, если шлюз не пытается сильно рулить внутри сети.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Подключение контроллера MegaD-328

Сообщение Victor_S » Чт фев 05, 2015 12:34 pm

zelevova писал(а):На работу в локальной сети это ни как не влияет, если шлюз не пытается сильно рулить внутри сети.
Только пару дней как получил и поставил в качестве шлюза такую штуку: http://www.hite-pro.ru/lte-%D0%B0%D0%BD ... %8B/hybrid
Там внутри закрыт ZyXEL Keenetic 4G II и модем HUAWEI Mobile.
Вроде все настроил, работает, но до конца еще с ним не разобрался...:)
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Чт фев 05, 2015 1:15 pm

zelevova писал(а):Настройка шлюза используется для обращения к меге напрямую из-за ната. на шлюзе прокидываем порт на мегу и она доступна снаружи. Без указанного шлюза эта связка не работает. На работу в локальной сети это ни как не влияет, если шлюз не пытается сильно рулить внутри сети.
Спасибо за инфу. Я так и предполагал. При работе без сервера кому то такая настройка будет очень полезна.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Подключение контроллера MegaD-328

Сообщение Jager » Пт фев 06, 2015 1:10 pm

Bagir писал(а):.
Вопрос, как подправить incomingMessage что бы при срабатывании входа получать не состояние порта а данные счетчика?
Подключил геркон ко входу, и хочу писать в базу количество срабатываний.
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Пт фев 06, 2015 1:20 pm

Jager писал(а):Вопрос, как подправить incomingMessage что бы при срабатывании входа получать не состояние порта а данные счетчика?
Вот этот абзац

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

/* Если мы сами спросили Мегу о чем то, запустив метод getData
   и указав номер интересующего нас порта.
   ВНИМАНИЕ! в группах case нужно изменить код на свой!
*/   
if (isset($params['iasked'])) {
  // Разделить статус и счетчик
  $dt = explode("/", $params['iasked']);
  // Заменить слова на цифры    
  if ($dt[0] == 'ON') { $dt[0] = 1; }
  if ($dt[0] == 'OFF') { $dt[0] = 0; }
  
  // Обрабатываем значения портов, которые мы могли бы сами спросить 
  switch ($pt) {
  case 14:
    // Сказать счетчик входа 1 и его статус
    // Не спрашивайте счетчики у выходов. Они есть только у входов 1-7.
    say('Я спросил значение входа 1 равно '.$dt[0].', счётчик '.$dt[1]);
    break;
  default:
    // Если порта нет в группах case, но мы все же спрашиваем его
    say('Я спросил статус порта '.$pt.', а что с ним делать пока не придумал.');
  }
  return; 
}
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Подключение контроллера MegaD-328

Сообщение Jager » Пт фев 06, 2015 1:30 pm

Bagir писал(а):Если мы сами спросили Мегу о чем то, запустив метод getData
Это если мы сами спросили, а хочется что бы мега сама слала состояние счетчика при каждом изменении входа.
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Подключение контроллера MegaD-328

Сообщение Bagir » Пт фев 06, 2015 1:40 pm

А присылает ли Мега счетчик при коммутации порта? По моему там только mdid port и m. Пришлите ответ Меги, я посмотрю. Сейчас под рукой просто нет.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить