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

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

Модератор: immortal

Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

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

Сообщение Jager » Пт апр 12, 2013 9:52 am

dimitrystd писал(а):Так вроде ж мануал подробный с картинками. Там и ссылка выключателя есть http://127.0.0.1/objects/index.php?obje ... ggleSwitch.
При попытке исполнить у меня вываливается вот это
Изображение
dimitrystd
Сообщения: 80
Зарегистрирован: Пн апр 01, 2013 10:20 pm
Откуда: Днепропетровск
Благодарил (а): 7 раз
Поблагодарили: 3 раза

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

Сообщение dimitrystd » Вс апр 14, 2013 10:46 pm

Тяжело сказать в чём проблема. Могу предложить лишь раскоментировать отладочные сообщения DebMes в методах относящихся к свету. И потом по логу посмотреть куда оно дошло. Все наши скрипты как чёрный ящик, оно не скажет в какой строке завалилось. Поэтому приходится изгаляться через отладочные сообщения.
Menen
Сообщения: 4
Зарегистрирован: Вс июл 28, 2013 7:16 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Menen » Вс авг 25, 2013 1:12 pm

Спасибо dimitrystd, за предоставленные наработки!!!

Кто, как реализует контроль длительного нажатия?

http://www.ab-log.ru/forum/viewtopic.ph ... 1140#p7140
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

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

Сообщение Vit » Сб ноя 16, 2013 9:51 pm

Спасибо dimitrystd за пример.

вроде все сделал как описано.

импортировал классы и объекты

не могу понять как из меню управлять выходами выходами и из сценариев...

покажи как выключатели реализованы у тебя скринами или на проекте http://connect.smartliving.ru

спасибо
dimitrystd
Сообщения: 80
Зарегистрирован: Пн апр 01, 2013 10:20 pm
Откуда: Днепропетровск
Благодарил (а): 7 раз
Поблагодарили: 3 раза

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

Сообщение dimitrystd » Вс ноя 17, 2013 12:31 pm

Vit писал(а):не могу понять как из меню управлять выходами выходами и из сценариев...
Вот пример использования в меню. Просто вызывают метод для переключения
MenuItem.png
MenuItem.png (9.41 КБ) 19491 просмотр
Из скрипта можно так

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

callMethod(Storeroom.toggleSwitch); // переключить состояние
callMethod(Storeroom.switchOff); // выключить
callMethod(Storeroom.switchOn); // включить
Vit писал(а):покажи как выключатели реализованы у тебя скринами или на проекте http://connect.smartliving.ru
Вот на картинке в мануале есть пример реального выключателя в кладовке
Storeroom.inputPort = 4 - означает что выключатель в стене подключён к 4 порту на меге
Storeroom.outputPort = 8 - лампа подключена к 8 порту на меге
Изображение

P.S. Я писал это пол года назад, но поитогу не пользовался из-за нестабильности МД. Все выключатели работают автономно. Сейчас использую МД для работы с SNMP девайсами.
К чему это я. К тому что сейчас посмотрел на код и прослезился :) Коряво всё написано. За пол года набрался опыта с пхп и рассмотрел как всё в МД сделано. Надо бы порефакторить:
- MegaD.php - переписать вообще. Сейчас он пытает использовать метод объекта. Но когда мы получаем вызов, мы ещё не знаем какой объект megadevice мы будем использовать. Надо вызывать скрипт а не метод
- MegaD.php использует objects.php, а тот в свою очередь в output возвращает текст который не понимает MegaD-328
- В коде моих классов используется callMethod и getProperty вместо $this->callMethod. Не то что бы будет заметно быстрее, но внутри МД столько всего, что хочется облегчить все вызовые какие возможно
- Уже прикрутили log4php. Надо использовать его в коде на полную
- Класс Light сильно часто пытается получить статус. Надо бы упростить
- И самое главное, Light понимает только один вход и выход. А у меня в каждой комнате по 2 выкл. на стене + 2\3 линии освещения. Т.е. чтоб поддерживать всю эту кашу надо или на одну комнату заводить большего одного объекта Light, или переделывать класс чтоб в нём было
- Storeroom.inputPort1
- Storeroom.inputPort2
- Storeroom.outputPort1
- Storeroom.outputPort2
- Storeroom.outputPort3
- Storeroom.outputPort4
Такой вариант мне вообще не нравится. Я ещё в раздумьях как это решить.
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 18 раз

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

Сообщение ILGAS » Чт янв 09, 2014 2:33 pm

P.S. Я писал это пол года назад, но поитогу не пользовался из-за нестабильности МД. Все выключатели работают автономно. Сейчас использую МД для работы с SNMP девайсами.
dimitrystd я тоже хотел купить MegaD но у видел фразу что он работает нестабильно. что вы имели ввиду.?
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Чт янв 09, 2014 2:53 pm

ILGAS писал(а):
P.S. Я писал это пол года назад, но поитогу не пользовался из-за нестабильности МД. Все выключатели работают автономно. Сейчас использую МД для работы с SNMP девайсами.
dimitrystd я тоже хотел купить MegaD но у видел фразу что он работает нестабильно. что вы имели ввиду.?
Я думаю под МД имелось ввиду MajorDomo.
dimitrystd
Сообщения: 80
Зарегистрирован: Пн апр 01, 2013 10:20 pm
Откуда: Днепропетровск
Благодарил (а): 7 раз
Поблагодарили: 3 раза

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

Сообщение dimitrystd » Пт янв 10, 2014 11:53 am

Конечно же говорил про MajorDomo. Проблема точно не в железе. Больше года работают 3 мегадевайса круглые сутки в разных режимах (с сервером и без) и всё работает идеально. Так же больше года крутится виндовая машина в кладовке, тоже нет нареканий. А с MajorDomo какието непонятнки (проблемы с циклами; неожиданно начинает процесить вебреквесты секунды и т.п.).
Я кстати переписал свой старый код в конце ноября. Пока работает нормально. Пытался писать его так чтоб можно было использовать мегадевайс в двух режимах: ожидать команду от сервера; и просто уведомлять сервер через NetAction. Прийду домой попробую в конект залить (были проблемы с этим ранее)
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 18 раз

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

Сообщение ILGAS » Вс янв 12, 2014 12:11 am

dimitrystd писал(а):Конечно же говорил про MajorDomo. Проблема точно не в железе. Больше года работают 3 мегадевайса круглые сутки в разных режимах (с сервером и без) и всё работает идеально. Так же больше года крутится виндовая машина в кладовке, тоже нет нареканий. А с MajorDomo какието непонятнки (проблемы с циклами; неожиданно начинает процесить вебреквесты секунды и т.п.).
Я кстати переписал свой старый код в конце ноября. Пока работает нормально. Пытался писать его так чтоб можно было использовать мегадевайс в двух режимах: ожидать команду от сервера; и просто уведомлять сервер через NetAction. Прийду домой попробую в конект залить (были проблемы с этим ранее)
отлично. а то я подумал речь шла про МегаДевайс)). мне очень сложно разбираться в системах но я тоже заметил что MajorDomo есть проблемы. поставил его на чистый windows на эту машину eBOX-3350MX-AP и похоже я поторопился с покупкой.(( очень много жрет ресурсов у процессора, и это только демо без датчиков и другой ерунды)).

читал статью про Raspberry Pi и не представляю как она работает на ней.
vova5049
Сообщения: 64
Зарегистрирован: Пт фев 21, 2014 10:56 am
Откуда: Днепропетровск
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение vova5049 » Вт мар 11, 2014 4:51 pm

dimitrystd, простите за "ламерский" вопрос, пробую импортировать класс light, но так как в системе изначально существует класс с таким именем, то файлик Light.txt в систему импортируется, но у меня название класса получается Light78, а как удалять классы из системы я не нашел. И еще в инструкции никак не освещен вопрос со скриптом megad.php, о котором пишется вначале темы, он нужен или нет ?
2*MegaD328, Система на Raspberry Pi 2
Ответить