Пусть лучше щелкают, я уже кучу симисторов поменял. При перегорании лампочек, пробивает.msh555 писал(а):Пока из особенностей подметил только громко щелкающее реле. Наверное надо было брать на семисторах.
[Модуль] MegaD (megad)
Модератор: immortal
-
- Сообщения: 708
- Зарегистрирован: Сб авг 18, 2012 10:21 am
- Благодарил (а): 26 раз
- Поблагодарили: 183 раза
Re: Модуль "MegaD"
-
- Сообщения: 265
- Зарегистрирован: Пт дек 26, 2014 1:58 pm
- Благодарил (а): 33 раза
- Поблагодарили: 24 раза
Re: Модуль "MegaD"
У меня почему-то не прошло последнее обновление модуля. Сегодня еще раз обновил и эхо-команды заработали, с методами по-прежнему какие-то непонятки, об этом чуть ниже. Сначала вопрос по обновлениям... В последнюю неделю у меня стали обновления проходить с большим трудом и далеко не с первого раза. Обратил внимание что связано это со скоростью соединения, она крайне низкая вплоть до пропадания. При этом с другими сайтами все ок(соответствует 4G). Это "происки" МТС или у всех такие проблемы? В связи с этим есть одно пожелание по модулю обновления. Неплохо бы прикрутить какой-то индикатор с выдачей сообщений(статусов, этапов), т.е. соединение...проверка наличия обновлений...загрузка обновлений...установка обновлений... И соответственно с выдачей ошибок.sergejey писал(а):Так и не работает?
Проверил всё на своём MegaD -- работает. Значения обновляются, методы вызываются, параметры методам передаются, связанные свойства меняют выходы. Даже не знаю, как ещё проверить.
Теперь по модулю... Да, эхо команды заработали, Мега начала щелкать выходами...но что дальше? Я щелкнул выключателем(железным), модуль послал Меге эхо команду, допустим, на переключение выхода р8, но Мега ведь не сообщает модулю обратно, что она этот выход переключила. Соответственно и модуль об этом не знает, и не переключает связанное с этим выходом свойство объекта пока мы не зайдем в устройства МегаД, не найдем нужную нам Мегу, не откроем ее данные и не скажем ручками обновить...

Т.е. нужно не только обрабатывать сообщения Меги, но и самим ее регулярно опрашивать, особенно после любых наших команд(в том числе и эхо). Непонятки с методами полагаю в этом же заключаются...
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль "MegaD"
Обновлять информацию с меги после любого события о смене состояния любого из входов в принципе можно, но мне показалось, что это несколько избыточно. Хотя, возможно и стоит. Или как опцию сделать...Victor_S писал(а):Теперь по модулю... Да, эхо команды заработали, Мега начала щелкать выходами...но что дальше? Я щелкнул выключателем(железным), модуль послал Меге эхо команду, допустим, на переключение выхода р8, но Мега ведь не сообщает модулю обратно, что она этот выход переключила. Соответственно и модуль об этом не знает, и не переключает связанное с этим выходом свойство объекта пока мы не зайдем в устройства МегаД, не найдем нужную нам Мегу, не откроем ее данные и не скажем ручками обновить...
Т.е. нужно не только обрабатывать сообщения Меги, но и самим ее регулярно опрашивать, особенно после любых наших команд(в том числе и эхо). Непонятки с методами полагаю в этом же заключаются...
P.S. Для регулярного опроса можно включить на меге "srv loop" -- мне подсказали, что с этой опцией мега раз в минуту отправляет данные о состоянии портов на сервер.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 265
- Зарегистрирован: Пт дек 26, 2014 1:58 pm
- Благодарил (а): 33 раза
- Поблагодарили: 24 раза
Re: Модуль "MegaD"
С этой опцией были какие-то проблемы, поэтому она отключена сознательно...уже точно не помню какие...sergejey писал(а): P.S. Для регулярного опроса можно включить на меге "srv loop" -- мне подсказали, что с этой опцией мега раз в минуту отправляет данные о состоянии портов на сервер.


Как минимум нужно опрашивать состояние портов Меги после эхо-команд(можно конкретного порта, не обязательно всех)
-
- Сообщения: 265
- Зарегистрирован: Пт дек 26, 2014 1:58 pm
- Благодарил (а): 33 раза
- Поблагодарили: 24 раза
Re: Модуль "MegaD"
Это все равно приходилось(и придется) делать в методах, вынос этой обязанности в модуль только приветствуется...sergejey писал(а): Обновлять информацию с меги после любого события о смене состояния любого из входов в принципе можно, но мне показалось, что это несколько избыточно.

Да, и речь идет не о входах, об их состоянии(изменении) Мега сама сообщает, а о выходах.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль "MegaD"
Да, я понимаю, что о выходах, входы само собой обновляются.Victor_S писал(а):Это все равно приходилось(и придется) делать в методах, вынос этой обязанности в модуль только приветствуется...sergejey писал(а): Обновлять информацию с меги после любого события о смене состояния любого из входов в принципе можно, но мне показалось, что это несколько избыточно.
Да, и речь идет не о входах, об их состоянии(изменении) Мега сама сообщает, а о выходах.
Ок, добавлю в модуль принудительный опрос меги после события на входе.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- AHgpeu
- Сообщения: 117
- Зарегистрирован: Чт мар 12, 2015 11:46 am
- Благодарил (а): 26 раз
- Поблагодарили: 16 раз
Re: Модуль "MegaD"
имхо излишний функционал, действительно.sergejey писал(а):Да, я понимаю, что о выходах, входы само собой обновляются.Victor_S писал(а):Это все равно приходилось(и придется) делать в методах, вынос этой обязанности в модуль только приветствуется...sergejey писал(а): Обновлять информацию с меги после любого события о смене состояния любого из входов в принципе можно, но мне показалось, что это несколько избыточно.
Да, и речь идет не о входах, об их состоянии(изменении) Мега сама сообщает, а о выходах.
Ок, добавлю в модуль принудительный опрос меги после события на входе.
как я понял,
были проблемы с обновлением статуса связанного свойства?Victor_S писал(а):Теперь по модулю... Да, эхо команды заработали, Мега начала щелкать выходами...но что дальше? Я щелкнул выключателем(железным), модуль послал Меге эхо команду, допустим, на переключение выхода р8, но Мега ведь не сообщает модулю обратно, что она этот выход переключила. Соответственно и модуль об этом не знает, и не переключает связанное с этим выходом свойство объекта пока мы не зайдем в устройства МегаД, не найдем нужную нам Мегу, не откроем ее данные и не скажем ручками обновить...
Т.е. нужно не только обрабатывать сообщения Меги, но и самим ее регулярно опрашивать, особенно после любых наших команд(в том числе и эхо). Непонятки с методами полагаю в этом же заключаются...
сейчас же логика совершенно обратная:
если модуль увидел изменение свойства, то тогда и только тогда отправляет команду меге на переключение. свойство УЖЕ обновлено, заранее.
---
единственное, что в этом направлении можно/нужно сделать, это опрашивать все состояния всех мег при загрузке системы.
например, перезагружался сервер, а кто-то в этот момент включил свет в ванной. или автоматика меги выключила отопление, поскольку сервер не нашла, а температура достигла нормы. а сервер об этом не знает... думает, что нагрев идёт =-)
можно периодически так же опрашивать для предотвращения обратной ситуации, когда мега перезагрузилась (просаживание напряжения, не у всех УПС есть, или перепрошивка меги, или зависла и перезагрузили её вручную) и у него все порты включены по умолчанию, о чём сервер опять же не знает
Последний раз редактировалось AHgpeu Ср май 20, 2015 2:44 pm, всего редактировалось 1 раз.
-
- Сообщения: 265
- Зарегистрирован: Пт дек 26, 2014 1:58 pm
- Благодарил (а): 33 раза
- Поблагодарили: 24 раза
Re: Модуль "MegaD"
Да, если Вы новый пользователь Меги и начинаете работу с модулем с нуля. Если же переходить к работе с модулем от настроек класса по Bagir-у (а таких немало и уже с приличными наработками и рабочими проектами) то наименее болезненный переход требует указанного функционала. Собственно с этого момента я и начал посты в данной теме...AHgpeu писал(а): сейчас же логика совершенно обратная:

- AHgpeu
- Сообщения: 117
- Зарегистрирован: Чт мар 12, 2015 11:46 am
- Благодарил (а): 26 раз
- Поблагодарили: 16 раз
Re: Модуль "MegaD"
и вопрос: sergejey, а точно команды по умолчанию не выполняются, если прописано связанное свойство/метод?
не могу победить игнорируемые/множественные срабатывания.
особенно часто такое встречается при командах по умолчанию типа 12:2;11:1;p600;11:0
для пробы была в логике на сервере убрана вся логика, пардон за тавтологию, оставлено только переключение выхода 12.
однако выход 11 срабатывает!
UPD: множественные срабатывания/несрабатывания победил добавлением в начало megad.php
категорически необходима галочка для входов "обрабатывать отпускание кнопки"...
поскольку в некоторых случаях необходимо обрабатывать и размыкания кнопки, потому на "железном уровне" в меге отключать режим отправки сигнала о размыкании невозможно
срабатывание команд по умолчанию не победил.
UPD 2:
выяснил. абсолютно точно команды меги по умолчанию модуль выполняет независимо от того, прописаны свойства/методы у входов или нет.
пофиксите, пажаааалста)
не могу победить игнорируемые/множественные срабатывания.
особенно часто такое встречается при командах по умолчанию типа 12:2;11:1;p600;11:0
для пробы была в логике на сервере убрана вся логика, пардон за тавтологию, оставлено только переключение выхода 12.
однако выход 11 срабатывает!
UPD: множественные срабатывания/несрабатывания победил добавлением в начало megad.php
Код: Выделить всё
if(isset($_GET['m']))
die;
поскольку в некоторых случаях необходимо обрабатывать и размыкания кнопки, потому на "железном уровне" в меге отключать режим отправки сигнала о размыкании невозможно
срабатывание команд по умолчанию не победил.
UPD 2:
выяснил. абсолютно точно команды меги по умолчанию модуль выполняет независимо от того, прописаны свойства/методы у входов или нет.
пофиксите, пажаааалста)
Последний раз редактировалось AHgpeu Ср май 20, 2015 2:42 pm, всего редактировалось 6 раз.
- AHgpeu
- Сообщения: 117
- Зарегистрирован: Чт мар 12, 2015 11:46 am
- Благодарил (а): 26 раз
- Поблагодарили: 16 раз
Re: Модуль "MegaD"
я тоже жил с разработкой Багира, спасибо ему в который раз.Victor_S писал(а):Да, если Вы новый пользователь Меги и начинаете работу с модулем с нуля. Если же переходить к работе с модулем от настроек класса по Bagir-у (а таких немало и уже с приличными наработками и рабочими проектами) то наименее болезненный переход требует указанного функционала. Собственно с этого момента я и начал посты в данной теме...
однако совершенно безболезненно перенёс переход на официальный модуль.
на его разработках у меня сейчас работают ещё несколько мег, управляющие отопленим, водоснабжением etc.
утрируя: у Вас есть объект выключатель, есть объект лампочка и есть метод у выключателя, переключающий status объекта лампочка. (по идеологии работ Багира всё это должно быть)
всё! просто прописываете все 3 в интерфейсе модуля и вуаля.
допустим, при срабатывании входа 0 нужно переключать выход 7
на строке с 0 указываете свойство выключателя status и метод выключателя.
в строке 7 прописываете свойство лампочки status.
попробуйте реализовать так.