Настройка обратной связи
Контроллер оповещает сервер о своих событиях, например, нажали кнопку выключателя или сработал датчик движения, для этого в интеграции реализован 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'
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'