Подключение контроллера MegaD-328
Модератор: immortal
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Да, версии с цифрой перед запятой совместимы. Мне еще новые Меги пришли, скоро будет обновление с температурой.
-
- Сообщения: 366
- Зарегистрирован: Пт июл 26, 2013 4:11 pm
- Благодарил (а): 71 раз
- Поблагодарили: 18 раз
Re: Подключение контроллера MegaD-328
Bagir, может тебе пора уже добавить MegaD в маркет дополнений.
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Подключение контроллера MegaD-328
Bagir, спасибо за вариант подключения меги. Столкнулся с проблемой, создаю выключатель в меню, прописываю в запускать объект.метод «relay.switch» все работает, порт меняет состояние. При прописывании в связанный объект.свойство «relay.status» для того что бы видеть наглядно в каком состоянии порт происходит инверсия. При первом переключении ничего не происходит а при последующих состояние порта меняется но состояние выключателя противоположно реальному. Так происходит при переключении именно через меню, при смене состояния порта любым другим способом состояние отображается верно. В чем может быть проблема?
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
ILGAS
К сожалению я еще не изучал маркет. Скоро зима окончательно прогонит с улицы, и я опять займусь кодом.
Jager
Думаю что проблема как раз в использовании switch. Этот метод просто меняет состояние на противоположное. Лучше пользоваться методами turnOn и turnOff. Я попробую повторить вашу схему и посмотрю как будет работать.
К сожалению я еще не изучал маркет. Скоро зима окончательно прогонит с улицы, и я опять займусь кодом.
Jager
Думаю что проблема как раз в использовании switch. Этот метод просто меняет состояние на противоположное. Лучше пользоваться методами turnOn и turnOff. Я попробую повторить вашу схему и посмотрю как будет работать.
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Подключение контроллера MegaD-328
Решил проблему, надо в методе Switch поменять очередность вызова и все заработало корректно, состояние выключателя отображается правильно.Bagir писал(а):Думаю что проблема как раз в использовании switch. Этот метод просто меняет состояние на противоположное. Лучше пользоваться методами turnOn и turnOff. Я попробую повторить вашу схему и посмотрю как будет работать.

- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Думаю что это не выход. Метод Switch класса Relays по задумке должен при вызове поменять значение статуса и состояние реле на противоположное. При запуске метода мы получаем текущее значение статуса реле $status=$this->getProperty("status"); Допустим 0 или 1. Затем условие. Если = 1 тогда выключить. А у вас получается, что если = 1 то включить. Вероятно вы просто где то присваивайте свойство status без обновления реле. Поэтому измененный метод Switch и срабатывает.
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Подключение контроллера MegaD-328
На чистой тестовой системе , импортирован только ваш класс управления мегой, т.е. влияние других настроек исключено.Bagir писал(а):Думаю что это не выход. Метод Switch класса Relays по задумке должен при вызове поменять значение статуса и состояние реле на противоположное. При запуске метода мы получаем текущее значение статуса реле $status=$this->getProperty("status"); Допустим 0 или 1. Затем условие. Если = 1 тогда выключить. А у вас получается, что если = 1 то включить. Вероятно вы просто где то присваивайте свойство status без обновления реле. Поэтому измененный метод Switch и срабатывает.
В том то и дело что сейчас он правильно отрабатывает, видит 1 менят на 0 и правильно выставляет статус.
У меня еще есть проблема, с обработкой нажатий кнопочного выключателя. Одиночный клик работает без проблем, двойной тоже всегда отрабатывает но в процессе иногда сразу за ним отрабатывает одиночный самопроизвольно. Длительное нажатие не работает, но бывает что срабатывает самопроизвольно при использовании одиночного или двойного. Куда копать?
Последний раз редактировалось Jager Вс ноя 30, 2014 12:28 pm, всего редактировалось 1 раз.
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
Вечерком напишу. Как раз буду делать этот класс. Сейчас системы нет под руками.
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Подключение контроллера MegaD-328
Еще заметил, не отрабатывает вызов метода switch по ссылкеBagir писал(а):Вечерком напишу. Как раз буду делать этот класс. Сейчас системы нет под руками.

turnOn и turnOff отрабатывают нормально
- Bagir
- Сообщения: 1615
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Подключение контроллера MegaD-328
А и не будет теперь, потому что изменили очередность. в коде метода. Надо вернуть как было и искать причину. Если успею, сегодня сделаю обновление класса.