Как и планировали, сделали специальный плагин для MegaD.
Можно обновиться и протестировать, плагин включает слушающий порт для получения запросов от MegaD.
1. Обновить версию на v16.11.12.x и выше
2. Удалить плагин Http клиент, если он был установлен.
3. Добавить плагин «Контроллер MegaD»: Система/Плагины: кнопка +
В настройках добавлено свойство: Порт на сервере для входящих запросов
Поскольку плагин будет получать данные от MegaD при изменении, интервал опроса можно сделать большим (или нулевым - тогда запрос будет сделан только при старте).
Параметр - "Таймаут - период без обмена данными" - нужно оставить в нуле или сделать его в 2 раза больше, чем интервал опроса.
Иначе будет возникать ошибка "Timeout error".
4. Настроить каналы в разделе Каналы/ MegaD /Channels
Это все как было в Http plugin, но изменена нумерация каналов - нумеруются с нуля.
Привязка каналов к устройствам: Система/Устройства: кнопка Железо.
(Если была привязка устройства к каналу Http-клиента - нужно будет сначала нажать кнопку Отвязать)
При привязке выходов нужно установить "Односторонняя связь"!!! Так как MegaD не подтверждает выполнение команды.
5. Запросы от MegaD настраиваются в следующем пункте: Requests To Server
Здесь нужно прописать:
- запросы, которые MegaD будет посылать (Request), например, /megad?pt=2
- что сервер должен отдать в ответ (Response), синтаксис MegaD, например, 7:1
- какие значения сервер должен установить у себя (Set state), например, 2=ON&7=ON
Обратите внимание, что нужно прописать значения как входных каналов, так и выходных
Сейчас поддерживаются такие значения для Set state:
OFF - установить 0
ON - установить 1
%имя атрибута входного запроса% - подставляется значение из входного запроса
Для запросов от MegaD (Request) можно использовать символ * в общепринятом смысле, что означает "любое значение",
Например:
Req: /megad?pt=5&v=* Set state: 5=%v% // пятый канал устанавливается в значение v из Req
Req: /megad?at=* Set state: 99=%at% // Создать условный канал №99 для температуры
Замечание по имени скрипта в запросе - он может быть любым, в т.ч. можно оставить megad.php, чтобы не менять настройки в MegaD на время тестирования
/megad.php?pt=1&m=1 - допустимо. это не значит, что запустится скрипт на php, просто такой путь запроса
Сделаем в ближайшее время:
- переключить состояние (соответствует значению 2 для MegaD и модификатору для ШИМ ( *200)
6. Для целей отладки создается отдельный лог плагина: /opt/intrahouse/base/MG1.log
Там полная трассировка обмена данными между сервером и MegaD