Страница 24 из 41
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 8:43 am
Jager
Bagir писал(а):Попробовал сейчас и выпал с осадок. Я даже не предполагал, что в режиме P&R выход будет второй раз переключаться при отпускании кнопки.
Я писал вам об этом пару страниц назад

но видимо не смог донести мысль.
Вечером буду пробовать ваш новый вариант.
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 10:41 am
zelevova
sergejey писал(а):Аналогичная ситуация, причём я сам забываю какая кнопка/комбинация за что отвечает, если их больше одной

Например, есть пульты Ноолайт с тремя кнопками, каждая из которых, кроме включения/выключения, может быть настроена ещё на какую-то реакцию на долгое нажатие. Так вот, меня хватает запомнить, что делает одна кнопка из трёх без каких либо комбинаций ))
Я пока тестировал сделал на длительное нажатие автовыключение света через 30 секунд. И жена как то умудрилась его активировать. Сначала удивилась и уточнило что это было, а потом попросила сделать так со всеми выключателями.
Так что пара интуитивна понятных функций на кнопку самое то. Если больше то нужно рядом с выключателем инструкцию вешать что бы не забыть.

Насчет P&R можно попробовать поговорить с Андреем что бы прошивку дописал. Что бы режимы P и P&R настраивались отдельно для сервера и автономной работы, но сдается мне что мы опять упремся в ограниченность памяти меги.
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 10:49 am
Kod.Begemot
zelevova писал(а):Насчет P&R можно попробовать поговорить с Андреем что бы прошивку дописал. Что бы режимы P и P&R настраивались отдельно для сервера и автономной работы, но сдается мне что мы опять упремся в ограниченность памяти меги.
Тут надежда на альтернативную прошивку - которую там разрабатывают в отдельной ветке. Обещают большое освобождение памяти за счет выноса интерфейса из меги в внешний скрипт посредством json. Я написал в той ветке, спросил - жду пока ответа

Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:15 pm
Bagir
Jager писал(а):Я писал вам об этом пару страниц назад

но видимо не смог донести мысль.
Да, точно, я просто не предполагал, что в автономке Мега будет работать тоже как P&R. Конечно нужна отдельная настройка для режима автономки и сервера.
Jager писал(а):но сдается мне что мы опять упремся в ограниченность памяти меги.
С этим просто беда. Столько полезного не может быть сделано по этой причине. И раз уж так, то вынести интерфейс в скрипт - очень здравая идея.
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:36 pm
zelevova
to Bagir: Сдается мне что проверка меги через проверку температуры не совсем корректно работает.
видимо в методе getData нужно скорректировать код на
Код: Выделить всё
// Обработка ответа в зависимости от его типа
switch ($params['port']) {
// Температура внутреннего датчика
case 'tget':
// Проверить $dt на число и Записать в свойство объекта
if (is_numeric($dt)) {
$this->setProperty('temperature', $dt);
// Установить флаг "живой"
$this->setProperty('alive', 1);
$alive_timeout=(int)$this->getProperty('aliveTimeOut');
if (!$alive_timeout) { $alive_timeout=15*60; }
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
} else {
if ($reclog) { $log->error('Failed to get data internal temperature sensor for object '.$ot); }
}
break;
то есть устанавливать что живой только если получили температуру.
У меня сейчас все меги временно выключены и все равно alive выставляется в 1. Судя по коду просто потому что мы у них спрашиваем температуру и не важно что пришло в ответ.
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:43 pm
Bagir
Думаю что нет. Дело в том, что Мега отвечает температурой только на новой прошивке. Если прошивка старая, то в переменной $dt будет код всей ее странички. Но ответ то все равно есть! Значит Мега ответила на запрос, а следовательно - она живая.
Поэтому условие is_numeric($dt) я задумал только для записи значения $dt в свойство температуры. А свойство alive выставляю в 1 в любом случае, если пришел ответ, и не важно какой он. Но при этом оставляю крит "Failed to get data internal temperature sensor for object"
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:44 pm
Bagir
Понял идею! Сейчас все проверю
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:48 pm
zelevova
Как вариант если температуру получили не числом еще делать проверку пингом.
Ну или оставить этот метод только для новых прошивок.
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:49 pm
Bagir
Может просто посмотреть, что если ответ непустой, то значит Мега живая.
Re: Подключение контроллера MegaD-328
Добавлено: Вт дек 09, 2014 12:52 pm
zelevova
Что то я не могу сообразить.
Можешь код для "case 'tget':" выложить? или класс обновить.
