[Модуль] MegaD (megad)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey » Ср май 20, 2015 4:46 pm

AHgpeu писал(а): можно вопрос?

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

function setProperty($property_id, $value)
есть ли возможность вывести в интерфейс $property_id ?
что бы была возможность пользоваться этой функцией. и возможен ли локальный хак этой функции, при передаче в $value значения типа "2&t=18"?
ничего этим не поломается?

не хватает функции отправки своих команд меге
Можно вот в таком виде отправлять команды:

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

include_once(DIR_MODULES."megad/megad.class.php");
$mega=new megad();
$mega->sendCommand("192.168.1.12","8:2"); 
вместо 192.168.1.12 можно поставить IP-адрес меги, или её текстовое имя в том виде, в котором она добавлена в модуль.
вместо 8:2 соответственно любая команда
За это сообщение автора sergejey поблагодарил:
AHgpeu (Ср май 20, 2015 5:34 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
AHgpeu
Сообщения: 117
Зарегистрирован: Чт мар 12, 2015 11:46 am
Благодарил (а): 26 раз
Поблагодарили: 16 раз

Re: Модуль "MegaD"

Сообщение AHgpeu » Ср май 20, 2015 6:28 pm

ещё 1 отчёт о баге, даже 2х, но на 1 тему.
попробовал через модуль обновить одно из устройств.
галочки обе установил.

в итоге прошилась всё равно не "бета" версия (3,30 вместо 3,33)

при прошивке накидало кучу "ок", но: пароль у меня отличается от стандартного "sec", потому программа прошивку не залила, и даже IP не сменила.
этот баг был пофиксен Андреем примерно месяц - два назад.
возможно, Вы использовали старую версию его конфигуратора...
Аватара пользователя
AHgpeu
Сообщения: 117
Зарегистрирован: Чт мар 12, 2015 11:46 am
Благодарил (а): 26 раз
Поблагодарили: 16 раз

Re: Модуль "MegaD"

Сообщение AHgpeu » Ср май 20, 2015 7:47 pm

sergejey писал(а):Сделал, но пришлось внести изменение в ядро, так что для работы с этой функцией нужно общее обновление (или обновить один файл /modules/objects/objects.class.php).
Оказывается, вызываемый метод не возвращал результат своего выполнения и его нельзя было использовать. Почему-то думал, что это было когда-то сделано.

В любом случае, теперь, если в коде связанного метода стоит return, то эти данные будут использоваться как команда для меги.
Например:

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

return ""; // ничего не выполнять на меге      
или

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

return "8:2"; // переключить OUT8      
если return-а нет никакого, то будет выполнена команда по-умолчанию
не работает. всё обновил, и движок, и модуль.
ко входу прописал метод, внутри метода только

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

return ''; 
работает сценарий по умолчанию =-(
при команде

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

return '11:2'; 
работает вообще "через раз" 3 раза штатно, на 4й команда по умолчанию

на странице 192.168.1.х/megad.php?mdid=3&pt=5 тоже отдаёт через раз, то 12:2, то 12:2;11:1;p600;11:0

меня домашние уже спрашивают, не проблемы ли у меня с кишечником)))) постоянно бегаю к туалету клацнуть кнопкой

UPD закономерность: если клацать редко, то вывод вариантов строго по очереди, если быстро -- рандом, относится к обоим вариантам return-a
Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Модуль "MegaD"

Сообщение Victor_S » Чт май 21, 2015 10:18 am

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

Re: Модуль "MegaD"

Сообщение Bagir » Чт май 21, 2015 11:07 am

Отличный модуль получился! Можно очень быстро настроить мегу и не вникать в горы кода. А будет вариант с двойным и долгим нажатием? Удобно для включения доп освещения. Еще я у себя использую пинкод на кнопке звонка для открытия двери. Все остальное, и даже больше, похоже уже реализовано в модуле.
Еще как идея, контроль за Мегами. Например чтобы МД изменял статус системы на красный, если Меги недоступны. Еще контроль за их температурами. Не так уж и важно, но лучше бы он был.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
AHgpeu
Сообщения: 117
Зарегистрирован: Чт мар 12, 2015 11:46 am
Благодарил (а): 26 раз
Поблагодарили: 16 раз

Re: Модуль "MegaD"

Сообщение AHgpeu » Чт май 21, 2015 11:14 am

я прошу помощи у сообщества, попробуйте воспроизвести проблему, описанную выше с методом с содержимым

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

return ''; 
это у меня глюк в системе?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey » Чт май 21, 2015 11:27 am

Victor_S писал(а):Кажется нашел проблему с вызовом методов у себя...
Когда еще данного функционала в модуле не было, я связал порт Меги со свойством объекта. Затем эту связь в модуле удалил и пытался связать с вызовом метода. Однако у свойства объекта так и осталась связь с портом Меги, хотя в модуле никакой связи нету. Как теперь ее удалить у свойства объекта?!
Вообще-то это проблемой не должно быть, т.к. даже если в свойстве связь прописана, но в самом модуле связанного свойства нет, то эта связь ни на что не влияет.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Модуль "MegaD"

Сообщение Victor_S » Чт май 21, 2015 11:59 am

Пересоздал объекты, подправил методы, добавил return '' - вроде все работает нормально. Не сразу сообразил, что можно и свойство и метод одновременно привязать - очень удобно...:)
У меня там датчики напряжения на входах, поэтому не могу проверить многократное и быстрое нажатие, а в обычном режиме return'' отрабатывает как надо.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey » Чт май 21, 2015 12:10 pm

Проблему смог воспроизвести, но решение пока в голову не лезет.

Вот как я тестирую (код метода):

Изображение

Команда, прописанная в меге: "8:2"

Так вот проблема в том, что зачастую выполняется команда по-умолчанию, даже если метод возвращает либо пустую строку либо другую команду.
Я это связываю с тем, что на меге стоит очень маленький тайм-аут на запрос к серверу и в некоторых случаях мега просто считает, что не дождалась ответа от сервера, какой бы он там ни был, и, соответственно, выполняет команду по-умолчанию.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey » Чт май 21, 2015 12:13 pm

Bagir писал(а):Отличный модуль получился! Можно очень быстро настроить мегу и не вникать в горы кода. А будет вариант с двойным и долгим нажатием? Удобно для включения доп освещения. Еще я у себя использую пинкод на кнопке звонка для открытия двери. Все остальное, и даже больше, похоже уже реализовано в модуле.
Еще как идея, контроль за Мегами. Например чтобы МД изменял статус системы на красный, если Меги недоступны. Еще контроль за их температурами. Не так уж и важно, но лучше бы он был.
Двойные и долгие нажатия можно, в принципе, через те же методы реализовать (с таймерами). Контроль доступности через модуль Устройства онлайн, а контроль температуры через привязку данных от встроенного датчика к какому-нибудь свойству (показания датчика можно видеть в списке данных).

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить