Страница 120 из 141

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

Добавлено: Вс дек 15, 2019 5:57 pm
Chainik
semkyskov писал(а): Вс дек 15, 2019 4:13 pm У Вас проблема как раз в том, что сервер никаким образом не получает состояние портов Меги.
...
Свою проблему я бы сформулировал по-другому. "С какого перепугу" MDM при старте синхронизирует состояние выходов Меги с тем, которое сохранилось у него в базе?
Я еще могу понять, когда речь идет о входах. Правда и тут надо проводить синхронизацию по направлению "Мега >>> MDM" (а не наоборот). Но вот когда при старте MDM синхронизирует выходы Меги, причем переключает их в соответствии с тем состоянием, которое было сохранено у него в БД...
Вот это я отказываюсь понимать... Мега умеет в простейших случаях работать автономно от сервера. И много всего может произойти, пока сервер "отсутствовал".
Считаю, что это надо исправить.

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

Добавлено: Пн дек 16, 2019 4:14 am
semkyskov
Chainik писал(а): Вс дек 15, 2019 5:57 pm
semkyskov писал(а): Вс дек 15, 2019 4:13 pm У Вас проблема как раз в том, что сервер никаким образом не получает состояние портов Меги.
...
Свою проблему я бы сформулировал по-другому. "С какого перепугу" MDM при старте синхронизирует состояние выходов Меги с тем, которое сохранилось у него в базе?
Я еще могу понять, когда речь идет о входах. Правда и тут надо проводить синхронизацию по направлению "Мега >>> MDM" (а не наоборот). Но вот когда при старте MDM синхронизирует выходы Меги, причем переключает их в соответствии с тем состоянием, которое было сохранено у него в БД...
Вот это я отказываюсь понимать... Мега умеет в простейших случаях работать автономно от сервера. И много всего может произойти, пока сервер "отсутствовал".
Считаю, что это надо исправить.
По крайней мере, у меня Ваша проблема никак не воспроизводится. При загрузке сервер считывает конфигурацию портов Меги (выходов в частности) и выставляет в интерфейсе соответствующие статусы. Да и судя по Вашим логам нигде не видно, что бы сервер отправлял Меге хоть какие то команды. Попробуйте найти подтверждение тому, что сервер отправляет Меге команду на "синхронизацию". Посмотрите трафик между сервером и Мегой Wiresharkом.
А вот почему в истории свойства статус дублируется команда от Меги на нажатие кнопки (cnt=3, cnt=5) это вопрос. Как раз это наверное и вызывает срабатывание метода два раза. При установленном методе switch, это вызовет ту самую смену статуса на противоположный, через короткий промежуток времени после нажатия кнопки.

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

Добавлено: Пн дек 16, 2019 11:17 pm
likex2000
Могу предположить, что двойная запись состояния свойства status в ноль происходит из-за указания связанного свойства в настройках стандартного входа в модуле MegaD (на вкладке "Данные") и связанного метода, который также меняет свойство status.

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

Добавлено: Пн дек 16, 2019 11:28 pm
Chainik
likex2000 писал(а): Пн дек 16, 2019 11:17 pm Могу предположить, что двойная запись состояния свойства status в ноль происходит из-за указания связанного свойства в настройках стандартного входа в модуле MegaD (на вкладке "Данные") и связанного метода, который также меняет свойство status.
Возможно, вы правы.
Проверить смогу только в выходные, когда доберусь до оборудования. Уберу из настроек Status, оставлю только метод и посмотрю, что будет.

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

Добавлено: Пт дек 20, 2019 11:50 pm
Chainik
likex2000, вы оказались правы. В настройках на вкладке "Данные" действительно надо было оставить только метод (в котором осуществляется переключение свойства Status с обратной связью). "Связанное свойство", конечно же, надо было оставить пустым.
Именно поэтому в истории свойства Status появлялись двойные записи:
SPOILERSPOILER_SHOW
Opera Снимок_2019-12-20_200750_127.0.0.1.png
Opera Снимок_2019-12-20_200750_127.0.0.1.png (50.13 КБ) 5002 просмотра
Теперь порядок:
SPOILERSPOILER_SHOW
Opera Снимок_2019-12-20_200845_127.0.0.1.png
Opera Снимок_2019-12-20_200845_127.0.0.1.png (20.3 КБ) 5002 просмотра
Но проблема с ошибочной синхронизацией состояния выходов при старте Мажордомо осталась (viewtopic.php?f=5&t=2263&start=1197).

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

Добавлено: Вс дек 22, 2019 4:19 am
semkyskov
После того, как сломалась работа по нажатию кнопки при привязанном только методе status (viewtopic.php?f=5&t=2263&start=1170#p111928) всегда привязываю настройках модуля на вкладке "Данные" только метод, но тогда, в любом случае, команда на контроллер отправляется почему то два раза.

только status, команда не передается, реле не включается
SPOILERSPOILER_SHOW
Изображение
Изображение
Изображение
только turnOn, команда передается дважды, реле включается
SPOILERSPOILER_SHOW
Изображение
Изображение
Изображение
только turnOff, команда передается дважды, реле выключается
SPOILERSPOILER_SHOW
Изображение
Изображение
Изображение
только switch, команда передается дважды, реле включается и через несколько сек выключается
SPOILERSPOILER_SHOW
Изображение
Изображение
Изображение

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

Добавлено: Пн дек 23, 2019 1:33 am
Denmish83
То же обновил всю модули и остался без света и климата во всем доме ((
Команды у меня не дублируются как у semkyskov, а вот по изменению "status" не переключаются.
Метод Switch работает.

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

Добавлено: Вт дек 24, 2019 2:16 am
Logrus
добавлю в копилку, у клиента модуль несколько месяцев не обновлялся, сам мдм аналогично в свойствах еще соурсе нет
история в статусах была отключена, реле в пу (методы правленые - суть та же, но без лишнего)

процессцикле, с какого-то перепуга 9-е обновлял 0_0
из меня включил, изменением свойства, перестало, выключил не повторилось 0_0
Снимок.PNG
Снимок.PNG (35.45 КБ) 4905 просмотров
Снимок.PNG
Снимок.PNG (28.37 КБ) 4901 просмотр

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

Добавлено: Вс дек 29, 2019 12:25 pm
Kirch
Chainik писал(а): Вс сен 02, 2018 10:53 pm
Mr.Lia писал(а): Вс сен 02, 2018 9:31 pm ...Такой вопрос, как реализовать команды типа 12:^;7:2 и т.п.?
Собственно, для управления диммированием не обязательно нужно использовать модуль MegaD.

Примерная схема действий такая. Предположим, что диммируемая нагрузка подключена к порту P13.
1. Создаете Объект диммера, например, "Dimmer01". У него должно быть свойство "value".
2. Пусть у Объекта Dimmer01 будет "общеклассовый" метод, где расположен алгоритм этого процесса. Назовем метод, к примеру, "dimming".
Код метода такой:

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

$val = $this->getProperty('value');
$val = round(($val/100)*255, 0);
$command="http://192.168.0.14/sec/?cmd=13:".$val;
file_get_contents($command);
Тут пересчитываются проценты (от 0 до 100) в диапазон для ШИМ-порта Меги (от 0 до 255).
3. Создаете в меню объект Слайдер. Задаете мин.значение "0" и макс. "100". Шаг изменений - 1. Выставляете Связанный объект Dimmer01, Свойство value, Метод dimming.

В простейшем случае это все. Сейчас проверить не на чем, но по идее, должно работать.
Прошу помочь настроить свет перед самым НГ.
Захотелось плавного света, но начал с простого вкл/выкл через Простые устройства.
@Chainik предложил способ замены команд, но топорно выходит реализовать.
В коде TurnOn поставил команду file_get_contents("http://192.168.2.12/sec/?pt=12&pwm=255&cnt=2");
Если не менять опцию "Вызывать родительский метод" на "Перед", то вначале MD шлет команду на 100 на стандартный метод MegaD порта, где стоит плавное включение опцией Smooth, а потом мой код шлет другую команду 255.
Если убрать родительский метод - выбрать "Никогда", то Простое устройство не реагирует на нажатие, индикатор не загорается. Лампа включается, но не выключается, видимо, MD думает, что устройство не включилось.
Может есть какая настройка по пересчету %Majordomo в %MegaD? Каждый метод переписывать у каждого устройства не гуд.

Второй вопрос про разметку списка Простые устройства.
На скриншоте видно - поле выбора % налезает на название лампы и вообще не видно. Как исправить?

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

Добавлено: Вс дек 29, 2019 3:05 pm
Logrus
1. прекрасно настраивается через пу, с двумя нюансами, настройка слайдера в меню и изменение кода пу что б при плавности не было кросслинков
а совет выше без ос или через такие дебри 0_0
п.с. уже не раз, имхо, за такие деньги, ну его такую связку ...
2. сократить название