Подключение контроллера MegaD-328
Модератор: immortal
-
- Сообщения: 86
- Зарегистрирован: Чт фев 21, 2013 11:35 pm
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: Подключение контроллера MegaD-328
Не мог бы уважаемий dimitrystd выложить в одном посте все правильные файли и классы которые надо импортировать чтоб мега работала по феншую,всем было бы лучше скачать с одного места чем тут по всему треду собирать по частьямю
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Подключение контроллера MegaD-328
Опять нет уведомлений по этой теме в почте 
Для начала общая картинка как у меня построено освещение сейчас Как видите между датчиками и непосредственным включением конкретных ламп стоит объект Place. Он удобен тем что датчиков на комнату может быть 1+ и не нужно каждому сенсору прописывать когда и какие лампы включать.
Сенсоры бывают хардварные (обычные датчики движения подключенные к МегаД) или софтварные (например если в зале включен телик то значит в комнате кто то есть).
В архиве MegaD.zip лежит 3 файла:
- megad.php - положить в папку htdocs. Из последних изменений это подержа параметра "mdid" из последних прошивок. Последнюю версию всегда можно взять тут
- Megadevice.txt - Это нужно импортировать. Добавит класс и 5 моих объектов. Тут также исправил обработку ответов когда со статусом приходит каунтер (OFF/54)
- Light.txt - Это нужно импортировать. Добавит класс Linght и сабкласс AutoSwitchOffLight и кучу моих объектов. Были жалобы что AutoSwitchOffLight нормально не импортировался. Так что проверьте как у вас выглядят классы на картинке
- Place.txt - Импортировать по желанию. Он делает на самом деле не очень много работы, но упрощает жизнь
Общий вид P.S.1 Класс Light жёстко завязан на класс Megadevice и даже код из megad.php знает о нём. Пришло наконец понимание как это должно быть переделано. Интерфейс должен быть похоже на настройку snmp devices. Но я посмотрел код, там какие то спагетти. Не смогу сделать столько копипаста. Поэтому пока никаких движений в строну изменения своего кода.
P.S.2 Актуальный код можно взять ещё в коннекте

Для начала общая картинка как у меня построено освещение сейчас Как видите между датчиками и непосредственным включением конкретных ламп стоит объект Place. Он удобен тем что датчиков на комнату может быть 1+ и не нужно каждому сенсору прописывать когда и какие лампы включать.
Сенсоры бывают хардварные (обычные датчики движения подключенные к МегаД) или софтварные (например если в зале включен телик то значит в комнате кто то есть).
В архиве MegaD.zip лежит 3 файла:
- megad.php - положить в папку htdocs. Из последних изменений это подержа параметра "mdid" из последних прошивок. Последнюю версию всегда можно взять тут
- Megadevice.txt - Это нужно импортировать. Добавит класс и 5 моих объектов. Тут также исправил обработку ответов когда со статусом приходит каунтер (OFF/54)
- Light.txt - Это нужно импортировать. Добавит класс Linght и сабкласс AutoSwitchOffLight и кучу моих объектов. Были жалобы что AutoSwitchOffLight нормально не импортировался. Так что проверьте как у вас выглядят классы на картинке
- Place.txt - Импортировать по желанию. Он делает на самом деле не очень много работы, но упрощает жизнь
Общий вид P.S.1 Класс Light жёстко завязан на класс Megadevice и даже код из megad.php знает о нём. Пришло наконец понимание как это должно быть переделано. Интерфейс должен быть похоже на настройку snmp devices. Но я посмотрел код, там какие то спагетти. Не смогу сделать столько копипаста. Поэтому пока никаких движений в строну изменения своего кода.
P.S.2 Актуальный код можно взять ещё в коннекте
- Вложения
-
- MegaD.zip
- (6.21 КБ) 327 скачиваний
-
- Сообщения: 366
- Зарегистрирован: Пт июл 26, 2013 4:11 pm
- Благодарил (а): 71 раз
- Поблагодарили: 18 раз
Re: Подключение контроллера MegaD-328
AutoSwitchOffLight - не правильно импортируетсяdimitrystd писал(а):Опять нет уведомлений по этой теме в почте
Для начала общая картинка как у меня построено освещение сейчас Как видите между датчиками и непосредственным включением конкретных ламп стоит объект Place. Он удобен тем что датчиков на комнату может быть 1+ и не нужно каждому сенсору прописывать когда и какие лампы включать.
Сенсоры бывают хардварные (обычные датчики движения подключенные к МегаД) или софтварные (например если в зале включен телик то значит в комнате кто то есть).
В архиве MegaD.zip лежит 3 файла:
- megad.php - положить в папку htdocs. Из последних изменений это подержа параметра "mdid" из последних прошивок. Последнюю версию всегда можно взять тут
- Megadevice.txt - Это нужно импортировать. Добавит класс и 5 моих объектов. Тут также исправил обработку ответов когда со статусом приходит каунтер (OFF/54)
- Light.txt - Это нужно импортировать. Добавит класс Linght и сабкласс AutoSwitchOffLight и кучу моих объектов. Были жалобы что AutoSwitchOffLight нормально не импортировался. Так что проверьте как у вас выглядят классы на картинке
- Place.txt - Импортировать по желанию. Он делает на самом деле не очень много работы, но упрощает жизнь
Общий вид P.S.1 Класс Light жёстко завязан на класс Megadevice и даже код из megad.php знает о нём. Пришло наконец понимание как это должно быть переделано. Интерфейс должен быть похоже на настройку snmp devices. Но я посмотрел код, там какие то спагетти. Не смогу сделать столько копипаста. Поэтому пока никаких движений в строну изменения своего кода.
P.S.2 Актуальный код можно взять ещё в коннекте

- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Вот и я вчера обзавелся одной мегади. Прочитал всю эту ветку, и еще много всего. Управлять этой игрушкой конечно очень просто. Но вот управлять "красиво" не так легко как кажется. Железо очень понравилось. Конечно пока что поиграюсь с ним, но в планах взять еще парочку. Сейчас думаю как прикрутить. Вариантов масса, и больше времени уходит на выбор лучшего, чем на его создание. С другой стороны не хотелось бы пойти по заранее узкой и темной тропинке.
Мегади игрушка вполне уже не редкая. И в будущем, думаю, встречаться будет все чаще. Ввиду этого хотелось бы видеть в панели управления для нее отдельный пункт в разделе "УСТРОЙСТВА", в идеале наделив его возможностями из megad-cfg.php Ищет устройства в сети, меняет IP, прошивает и т.д.
Я не знаю, есть ли это в ближайших планах, или же просто в идеях, а может быть пока нет и не будет вообще, но думаю, что правильней сделать так, что если/когда это появится, можно будет легко переключиться. Следовательно не вижу смысла повсюду запихивать код вида http://192.168.0.14/sec/?pt=7&cmd=7:0 в свои объекты. А создать для этого отдельный класс MegaD, где и будут находиться все объекты мегадишек с их полным перечнем портов ввода вывода и всеми нужными методами. megad.php будет работать только с объектами этого класса. А наши объекты из классов keySensors и Relays будут сотрудничать с классом MegaD. А если в будущем Megadevice появится отдельным пунктом в Устройствах, то отвязаться от класса MegaD и сделать привязку по типу как сейчас 1-Wire или Z-Wave не составит труда. Такой способ будет универсальный, и позволит использовать мегади не только для управления освещением.
Мегади игрушка вполне уже не редкая. И в будущем, думаю, встречаться будет все чаще. Ввиду этого хотелось бы видеть в панели управления для нее отдельный пункт в разделе "УСТРОЙСТВА", в идеале наделив его возможностями из megad-cfg.php Ищет устройства в сети, меняет IP, прошивает и т.д.
Я не знаю, есть ли это в ближайших планах, или же просто в идеях, а может быть пока нет и не будет вообще, но думаю, что правильней сделать так, что если/когда это появится, можно будет легко переключиться. Следовательно не вижу смысла повсюду запихивать код вида http://192.168.0.14/sec/?pt=7&cmd=7:0 в свои объекты. А создать для этого отдельный класс MegaD, где и будут находиться все объекты мегадишек с их полным перечнем портов ввода вывода и всеми нужными методами. megad.php будет работать только с объектами этого класса. А наши объекты из классов keySensors и Relays будут сотрудничать с классом MegaD. А если в будущем Megadevice появится отдельным пунктом в Устройствах, то отвязаться от класса MegaD и сделать привязку по типу как сейчас 1-Wire или Z-Wave не составит труда. Такой способ будет универсальный, и позволит использовать мегади не только для управления освещением.
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Начало положено, да и вроде бы даже неплохо получилось. Огромное спасибо dimitrystd за примеры!!! Как доделаю, выложу. Но вот косяк. Может кто знает. Как в настройках меги поменять порт сервера? Дело в том, что сервер MDM у меня крутится на не на 80 порту.
---
хм, да уж. похоже никак... Какая то суровая недоработка просто
Ну да не беда. Микротик идет на помощь. Переадресуем маленько. Так то по идее пойдет любо маршрутизатор. Просто лишнее железо в системе не даст ей плюсов. Но следуя правилу, что во всем надо видеть хорошее, в будущем, когда будет несколько сетевых контроллеров типа мегади, потребуется отдельный сетевой концентратор, типа свитч. Можно взять сразу с маршрутизатором, чтобы все посылки с 80 порта закидывал на мой порт.
Но черт возьми, все равно это напряг... Это блин просто совтовый напряг. И это печально.
---
хм, да уж. похоже никак... Какая то суровая недоработка просто

Но черт возьми, все равно это напряг... Это блин просто совтовый напряг. И это печально.
А вот за эту идею отдельное спасибо! И правда, не составит труда определять активность в комнате по таким вот деталям.Сенсоры бывают хардварные (обычные датчики движения подключенные к МегаД) или софтварные (например если в зале включен телик то значит в комнате кто то есть).
-
- Сообщения: 867
- Зарегистрирован: Вт янв 17, 2012 12:31 pm
- Благодарил (а): 121 раз
- Поблагодарили: 78 раз
Re: Подключение контроллера MegaD-328
А вот за эту идею отдельное спасибо! И правда, не составит труда определять активность в комнате по таким вот деталям.[/quote]Сенсоры бывают хардварные (обычные датчики движения подключенные к МегаД) или софтварные (например если в зале включен телик то значит в комнате кто то есть).
разобрались как датчики движения посредством меги обрабатывать?
у меня так и не вышло...пока отложил до лучших времен))
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Так по идее нет никакой разницы, какое железо коммутирует контакты меги. Главное, что я в MDM получаю это в качестве запуска метода с параметрами входа. А дальше каждый уже замутит как ему угодно.
-
- Сообщения: 867
- Зарегистрирован: Вт янв 17, 2012 12:31 pm
- Благодарил (а): 121 раз
- Поблагодарили: 78 раз
Re: Подключение контроллера MegaD-328
так вот с датчиками движения что то не так просто...не получилось у меня с ними замутить))Bagir писал(а):Так по идее нет никакой разницы, какое железо коммутирует контакты меги. Главное, что я в MDM получаю это в качестве запуска метода с параметрами входа. А дальше каждый уже замутит как ему угодно.
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
я немного изменил класс Megadevice и файл mega.php. Постараюсь завтра доделать и выложить. Сейчас все просто радует, но вот грабли. Мегади долбится на 80 порт. А сервер у меня на 83. То есть сейчас по факту я могу только управлять мегой, но не вижу сообщений от нее. Вижу их только в логах сервера 80 порта. Это как бы конечно чисто мои заморочки. но отсутствие выбора порта сервера в меге меня просто убило. А ведь уже собирался заказывать еще парочку. Уж очень понравилась игрушка. По началу срулил маршрутизацией. А сейчас подключил мегу по месту ее службы, а там только сеть после второго микротика, который как повторитель WiFi. И в силу заморочек моей сети, маршрутизацией срулить уже не могу, или просто не умею. Получается, что я потерял все события от меги. Вот таки грабли.