Skip to content

Настройка обратной связи

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

srv: "192.168.1.4:8123" # ip:port вашего HA
script: "mega" # это api интеграции, к которому будет обращаться контроллер

Внимание!

Не используйте srv loop на контроллере - это может приводить к ложным срабатываниям входов. Вместо srv loop интеграция будет сама обновлять все состояния портов с заданным интервалом

За события будут отвечать объекты типа binary_sensor - их статус будет меняться на on при замыкании контакта, на off при размыкании, а так же для более сложного контроля (двойные, долгие нажатия) предусмотрены события с типом mega.binary, об этом подробнее в разделе события

Так же вы можете воспользоваться моими шаблонами автоматизаций для быстрого понимания, как всем этим пользоваться.

Ответ на входящие события от контроллера#

Контроллер ожидает ответ от сервера, который может быть сценарием (по умолчанию интеграция отвечает d, что означает запустить то что прописано в поле act в настройках порта).

Внимание! По умолчанию в настройках интеграции стоит опция имитация ответа - это означает, что сервер вместо ответа делает запрос к меге с необходимой командой - это вынужденная мера, тк встроенный в HA сервер разбивает пакет на части, а контроллер не работает с такими пакетами. В целом, имитация ответа полностью закрывает эту проблему, единственный недостаток - это небольшая задержка в ответе.

Для максимальной скорости реакции, можно воспользоваться аддоном, подробности в документации аддона.

Поддерживаются шаблоны HA. Это может быть использовано, например, для запоминания яркости (тк сам контроллер этого не умеет).

Отладка шаблонов#

Отладку шаблонов рекомендуется проводить в специальном меню HA, которое находится в Панель разработчика - Шаблоны

Вот пример, с которого можно начать:

{## Переменные, которые передает контроллер, указываются только в тесте ##}
{% set m = 1%}
{% set pt = 2%}
{% set mdid = 'mega'%}
{## Шаблон ответа ##}
{% if m in [0, 1] %}d{% endif %}

Отладка ответов http-сервера#

Для отладки ответов сервера можно самим имитировать запросы контроллера, если у вас есть доступ к консоли HA:

curl -v -X GET 'http://localhost:8123/mega?pt=5&m=1&mdid=mymega1'
Где mymega1 - id устройства mega, который нужно узнать по url http://192.168.1.14/sec/?cf=2

При этом необходимо так же в настройках интеграции прописать хост, с которого вы будете обращаться, подробнее

И тогда можно с локальной машины делать запросы на ваш сервер HA:

curl -v -X GET 'http://192.168.88.1.4:8123/mega?pt=5&m=1&mdid=mymega1'
В ответ будет приходить либо d, либо скрипт, который вы настроили