Подключение контроллера MegaD-328
Модератор: immortal
-
- Сообщения: 64
- Зарегистрирован: Пт фев 21, 2014 10:56 am
- Откуда: Днепропетровск
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
Re: Подключение контроллера MegaD-328
Как вариант, через web переменные.
Но у меня он, почему-то, показывает на 2-3 градуса меньше реальной температуры.
Но у меня он, почему-то, показывает на 2-3 градуса меньше реальной температуры.
Последний раз редактировалось vova5049 Сб мар 29, 2014 12:17 am, всего редактировалось 1 раз.
2*MegaD328, Система на Raspberry Pi 2
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Подключение контроллера MegaD-328
Это неправильно он импортировался. Он должен наследоваться от класса Light. Посмотрите на мою картинку, там AutoSwitchOffLight класс как бы вложен в LightНормально экспортировался, сейчас еще раз перепроверил.
Только он идет отдельным классом.
Вы можете попробовать по редактировать AutoSwitchOffLight и выбрать родителем Light. Иначе ничего не должно работать т.к. AutoSwitchOffLight не содержит основных свойств и методов
-
- Сообщения: 64
- Зарегистрирован: Пт фев 21, 2014 10:56 am
- Откуда: Днепропетровск
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
Re: Подключение контроллера MegaD-328
Кстати, у меня он тоже импортировался без наследования - отдельным классом. Наверное есть проблема с экспортом-импортом.
2*MegaD328, Система на Raspberry Pi 2
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Подключение контроллера MegaD-328
Хочу "прикрутить" его к системе, пусть показывает температуру в щитке,
но не смог нарыть на сайте автора информацию, как интегрировать его в MjD.
Вижу мало смысла в этом для себя но тоже сделалvova5049 писал(а):Как вариант, через web переменные.

-
- Сообщения: 48
- Зарегистрирован: Пн дек 30, 2013 6:37 pm
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: Подключение контроллера MegaD-328
Подключил.
Включает выключает как с механики так и с сайта.
Если не сложно разъясните на примере как обрабатывать на сайте нажатия и статусы меги.
Каке состояние имеет вход или выход, реакция на смену состояния входа? Где писать обработку?
Включает выключает как с механики так и с сайта.
Если не сложно разъясните на примере как обрабатывать на сайте нажатия и статусы меги.
Каке состояние имеет вход или выход, реакция на смену состояния входа? Где писать обработку?
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Подключение контроллера MegaD-328
Вы импортировали классы? (Light, Megadevice). Если да, то вся логика находится в метода класса Light. Класс Megadevice это больше как драйвер - конвертирует значения свойств мажордома (МД) в протокол мегадевайса, и обратно.Lewcom писал(а):Каке состояние имеет вход или выход, реакция на смену состояния входа? Где писать обработку?
Состояние входов и выходов нигде не хранится. Но их можно запросить\установить. При смене состояния в результате дёргается метод Light.switchPressed
-
- Сообщения: 48
- Зарегистрирован: Пн дек 30, 2013 6:37 pm
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: Подключение контроллера MegaD-328
Если я правильно понял:
Нажатие на мех кнопку обратится к megad.php
Он в свою очередь через клас Megadevice будет искать объекты класса Light в которых фигурирует номер активированного порта
и в switchPressed данных объектов выполняет обработку.
здесь же вытаскивать смену состояния мех кнопки.
это с интервалом надо вызывать для конкретного объекта Light getOutputPortState и результатом будет сотояние портов указаных в .outputPort, или оно будет записано в .enabled ?
так или ...
Нажатие на мех кнопку обратится к megad.php
Он в свою очередь через клас Megadevice будет искать объекты класса Light в которых фигурирует номер активированного порта
и в switchPressed данных объектов выполняет обработку.
здесь же вытаскивать смену состояния мех кнопки.
Но их можно запросить\
это с интервалом надо вызывать для конкретного объекта Light getOutputPortState и результатом будет сотояние портов указаных в .outputPort, или оно будет записано в .enabled ?
так или ...
Последний раз редактировалось Lewcom Вт апр 22, 2014 7:15 pm, всего редактировалось 1 раз.
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Подключение контроллера MegaD-328
Как бы реализовать длительное нажатие кнопки? Сам megaD вроде позволяет, отслеживая и нажатие и отжатие.dimitrystd писал(а):
-
- Сообщения: 39
- Зарегистрирован: Вс мар 16, 2014 8:17 pm
- Благодарил (а): 5 раз
- Поблагодарили: 2 раза
Re: Подключение контроллера MegaD-328
Тоже очень интересует этот вопрос. Хочется включать прожектор парковки по длительному нажатию.
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Подключение контроллера MegaD-328
У меня увы такой сценарий нигде не используется. Думаю для этого вам надо в megad.php передать в switchPressed значения параметра "m". Или может даже все параметры передать, не знаю
И уже внутри switchPressed делать анализ что сейчас происходит, начало длинного нажатия или окончание
P.S. Код выше я не проверял, написал прям в браузере.
Код: Выделить всё
callMethod($light['TITLE'].'.switchPressed', $params);
Код: Выделить всё
if (array_key_exists('m', $params)) {
// Отпустили кнопку
$interval = microtime() - this->getProperty('beginningLongClick');
if ($interval > 1200) // если держали больше чем 1.2сек
callMethod('Outdoor_lamp.toggleSwitch');
else
callMethod('indoor_lamp.toggleSwitch');
}
else {
// Если кнопку нажали, то запоминаем время в милисек.
this->setProperty('beginningLongClick', microtime());
}