❮  Интеграции

Entrixy → Home Assistant

Готовый пример подключения к Entrixy. Формат вебхука — entrixy.com/webhook。

Home Assistant принимает команду Entrixy триггером webhook и вызывает сервис нужной сущности (lock / switch / cover). На webhook он отвечает пустым 200 OK — приложение считает такой ответ успехом.

Home Assistant подпись Entrixy не проверяет: в его шаблонах нет функции HMAC. Поэтому есть два варианта — с мостом, который проверяет подпись, или напрямую, когда секретом служит сам адрес.

Вариант А: мост с проверкой подписи (рекомендуется)

Entrixy  →  Flask-приёмник (проверка подписи, времени, nonce)  →  webhook Home Assistant в домашней сети
  1. Запустите приёмник из /integrations/flask-test/ на машине в той же сети, что и Home Assistant, за nginx с TLS.
  2. В on_command() раскомментируйте пример «мост перед Home Assistant» и подставьте свой webhook_id。
  3. Скопируйте блок automation из configuration.yaml в конфигурацию Home Assistant. Оставьте local_only: true: снаружи этот webhook запросы не примет.
  4. В Entrixy создайте объект «Вебхук»: URL — адрес Flask-приёмника (https://YOUR_HOST/webhook), секрет — тот же, что в SECRET приёмника.

Вариант Б: напрямую, без проверки подписи

Единственный секрет в этом варианте — webhook_id: кто узнает адрес, тот откроет.

  1. Создайте длинный случайный webhook_id: openssl rand -hex 32。
  2. Скопируйте блок automation из configuration.yaml, подставьте этот webhook_id и поставьте local_only: false。
  3. Home Assistant должен быть доступен снаружи только по https: Home Assistant Cloud, Cloudflare Tunnel или проброс 443 порта с сертификатом.
  4. В Entrixy создайте объект «Вебхук» с URL https://your-ha.example.com/api/webhook/<webhook_id> — с тем же webhook_id, что в YAML.
  5. Не публикуйте этот адрес и не вставляйте его в скриншоты.

Если Home Assistant доступен только в домашней сети, выберите в Entrixy режим «С вашего телефона» и local_only: true: запрос отправит телефон владельца, пока он подключён к этой сети. В режиме «С сервера Entrixy» адреса домашней сети не принимаются.

Общее для обоих вариантов

Формат запроса — entrixy.com/webhook。